2015-09-01 00:39:31 +00:00
/ *
2016-06-03 00:25:58 +00:00
Copyright 2015 The Kubernetes Authors .
2015-09-01 00:39:31 +00:00
Licensed under the Apache License , Version 2.0 ( the "License" ) ;
you may not use this file except in compliance with the License .
You may obtain a copy of the License at
http : //www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing , software
distributed under the License is distributed on an "AS IS" BASIS ,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND , either express or implied .
See the License for the specific language governing permissions and
limitations under the License .
* /
package unversioned
import (
"k8s.io/kubernetes/pkg/api"
2015-10-09 22:04:41 +00:00
"k8s.io/kubernetes/pkg/apis/extensions"
2015-09-01 00:39:31 +00:00
"k8s.io/kubernetes/pkg/watch"
)
// DeploymentsNamespacer has methods to work with Deployment resources in a namespace
type DeploymentsNamespacer interface {
Deployments ( namespace string ) DeploymentInterface
}
// DeploymentInterface has methods to work with Deployment resources.
type DeploymentInterface interface {
2015-12-10 09:39:03 +00:00
List ( opts api . ListOptions ) ( * extensions . DeploymentList , error )
2015-10-09 22:49:10 +00:00
Get ( name string ) ( * extensions . Deployment , error )
2015-09-01 00:39:31 +00:00
Delete ( name string , options * api . DeleteOptions ) error
2015-10-17 01:01:08 +00:00
Create ( * extensions . Deployment ) ( * extensions . Deployment , error )
Update ( * extensions . Deployment ) ( * extensions . Deployment , error )
UpdateStatus ( * extensions . Deployment ) ( * extensions . Deployment , error )
2015-12-10 09:39:03 +00:00
Watch ( opts api . ListOptions ) ( watch . Interface , error )
2016-01-15 02:04:05 +00:00
Rollback ( * extensions . DeploymentRollback ) error
2015-09-01 00:39:31 +00:00
}
// deployments implements DeploymentInterface
type deployments struct {
2015-10-12 18:06:42 +00:00
client * ExtensionsClient
2015-09-01 00:39:31 +00:00
ns string
}
2016-05-10 21:55:37 +00:00
// Ensure statically that deployments implements DeploymentInterface.
var _ DeploymentInterface = & deployments { }
2015-09-01 00:39:31 +00:00
// newDeployments returns a Deployments
2015-10-12 18:06:42 +00:00
func newDeployments ( c * ExtensionsClient , namespace string ) * deployments {
2015-09-01 00:39:31 +00:00
return & deployments {
client : c ,
ns : namespace ,
}
}
// List takes label and field selectors, and returns the list of Deployments that match those selectors.
2015-12-10 09:39:03 +00:00
func ( c * deployments ) List ( opts api . ListOptions ) ( result * extensions . DeploymentList , err error ) {
2015-10-09 22:49:10 +00:00
result = & extensions . DeploymentList { }
2015-12-25 23:05:18 +00:00
err = c . client . Get ( ) . Namespace ( c . ns ) . Resource ( "deployments" ) . VersionedParams ( & opts , api . ParameterCodec ) . Do ( ) . Into ( result )
2015-09-01 00:39:31 +00:00
return
}
// Get takes name of the deployment, and returns the corresponding deployment object, and an error if there is any.
2015-10-09 22:49:10 +00:00
func ( c * deployments ) Get ( name string ) ( result * extensions . Deployment , err error ) {
result = & extensions . Deployment { }
2015-09-01 00:39:31 +00:00
err = c . client . Get ( ) . Namespace ( c . ns ) . Resource ( "deployments" ) . Name ( name ) . Do ( ) . Into ( result )
return
}
// Delete takes name of the deployment and deletes it. Returns an error if one occurs.
func ( c * deployments ) Delete ( name string , options * api . DeleteOptions ) error {
2015-12-20 19:36:12 +00:00
return c . client . Delete ( ) . Namespace ( c . ns ) . Resource ( "deployments" ) . Name ( name ) . Body ( options ) . Do ( ) . Error ( )
2015-09-01 00:39:31 +00:00
}
// Create takes the representation of a deployment and creates it. Returns the server's representation of the deployment, and an error, if there is any.
2015-10-09 22:49:10 +00:00
func ( c * deployments ) Create ( deployment * extensions . Deployment ) ( result * extensions . Deployment , err error ) {
result = & extensions . Deployment { }
2015-09-01 00:39:31 +00:00
err = c . client . Post ( ) . Namespace ( c . ns ) . Resource ( "deployments" ) . Body ( deployment ) . Do ( ) . Into ( result )
return
}
// Update takes the representation of a deployment and updates it. Returns the server's representation of the deployment, and an error, if there is any.
2015-10-09 22:49:10 +00:00
func ( c * deployments ) Update ( deployment * extensions . Deployment ) ( result * extensions . Deployment , err error ) {
result = & extensions . Deployment { }
2015-09-01 00:39:31 +00:00
err = c . client . Put ( ) . Namespace ( c . ns ) . Resource ( "deployments" ) . Name ( deployment . Name ) . Body ( deployment ) . Do ( ) . Into ( result )
return
}
2015-10-17 01:01:08 +00:00
func ( c * deployments ) UpdateStatus ( deployment * extensions . Deployment ) ( result * extensions . Deployment , err error ) {
result = & extensions . Deployment { }
err = c . client . Put ( ) . Namespace ( c . ns ) . Resource ( "deployments" ) . Name ( deployment . Name ) . SubResource ( "status" ) . Body ( deployment ) . Do ( ) . Into ( result )
return
}
2015-09-01 00:39:31 +00:00
// Watch returns a watch.Interface that watches the requested deployments.
2015-12-10 09:39:03 +00:00
func ( c * deployments ) Watch ( opts api . ListOptions ) ( watch . Interface , error ) {
2015-09-01 00:39:31 +00:00
return c . client . Get ( ) .
Prefix ( "watch" ) .
Namespace ( c . ns ) .
Resource ( "deployments" ) .
2015-12-25 23:05:18 +00:00
VersionedParams ( & opts , api . ParameterCodec ) .
2015-09-01 00:39:31 +00:00
Watch ( )
}
2016-01-15 02:04:05 +00:00
// Rollback applied the provided DeploymentRollback to the named deployment in the current namespace.
func ( c * deployments ) Rollback ( deploymentRollback * extensions . DeploymentRollback ) error {
return c . client . Post ( ) . Namespace ( c . ns ) . Resource ( "deployments" ) . Name ( deploymentRollback . Name ) . SubResource ( "rollback" ) . Body ( deploymentRollback ) . Do ( ) . Error ( )
}