pub struct ClusterController { /* private fields */ }Expand description
Implements a client for the Cloud Dataproc API.
§Example
use google_cloud_lro::Poller;
let client = ClusterController::builder().build().await?;
let response = client.create_cluster()
/* set fields */
.poller().until_done().await?;
println!("response {:?}", response);§Service Description
The ClusterControllerService provides methods to manage clusters of Compute Engine instances.
§Configuration
To configure ClusterController use the with_* methods in the type returned
by builder(). The default configuration should
work for most applications. Common configuration changes include
- with_endpoint(): by default this client uses the global default endpoint
(
https://dataproc.googleapis.com). Applications using regional endpoints or running in restricted networks (e.g. a network configured override this default. - with_credentials(): by default this client uses Application Default Credentials. Applications using custom authentication may need to override this default.
§Pooling and Cloning
ClusterController holds a connection pool internally, it is advised to
create one and reuse it. You do not need to wrap ClusterController in
an Rc or Arc to reuse it, because it
already uses an Arc internally.
Implementations§
Source§impl ClusterController
impl ClusterController
Sourcepub fn builder() -> ClientBuilder
pub fn builder() -> ClientBuilder
Returns a builder for ClusterController.
let client = ClusterController::builder().build().await?;Sourcepub fn from_stub<T>(stub: T) -> Selfwhere
T: ClusterController + 'static,
pub fn from_stub<T>(stub: T) -> Selfwhere
T: ClusterController + 'static,
Creates a new client from the provided stub.
The most common case for calling this function is in tests mocking the client’s behavior.
Sourcepub fn create_cluster(&self) -> CreateCluster
pub fn create_cluster(&self) -> CreateCluster
Creates a cluster in a project. The returned Operation.metadata will be ClusterOperationMetadata.
§Long running operations
This method is used to start, and/or poll a long-running Operation. The Working with long-running operations chapter in the user guide covers these operations in detail.
§Example
use google_cloud_lro::Poller;
use google_cloud_dataproc_v1::Result;
async fn sample(
client: &ClusterController
) -> Result<()> {
let response = client.create_cluster()
/* set fields */
.poller().until_done().await?;
println!("response {:?}", response);
Ok(())
}Sourcepub fn update_cluster(&self) -> UpdateCluster
pub fn update_cluster(&self) -> UpdateCluster
Updates a cluster in a project. The returned
Operation.metadata will be
ClusterOperationMetadata.
The cluster must be in a
RUNNING state or an error
is returned.
§Long running operations
This method is used to start, and/or poll a long-running Operation. The Working with long-running operations chapter in the user guide covers these operations in detail.
§Example
use google_cloud_lro::Poller;
use google_cloud_dataproc_v1::Result;
async fn sample(
client: &ClusterController
) -> Result<()> {
let response = client.update_cluster()
/* set fields */
.poller().until_done().await?;
println!("response {:?}", response);
Ok(())
}Sourcepub fn stop_cluster(&self) -> StopCluster
pub fn stop_cluster(&self) -> StopCluster
Stops a cluster in a project.
§Long running operations
This method is used to start, and/or poll a long-running Operation. The Working with long-running operations chapter in the user guide covers these operations in detail.
§Example
use google_cloud_lro::Poller;
use google_cloud_dataproc_v1::Result;
async fn sample(
client: &ClusterController
) -> Result<()> {
let response = client.stop_cluster()
/* set fields */
.poller().until_done().await?;
println!("response {:?}", response);
Ok(())
}Sourcepub fn start_cluster(&self) -> StartCluster
pub fn start_cluster(&self) -> StartCluster
Starts a cluster in a project.
§Long running operations
This method is used to start, and/or poll a long-running Operation. The Working with long-running operations chapter in the user guide covers these operations in detail.
§Example
use google_cloud_lro::Poller;
use google_cloud_dataproc_v1::Result;
async fn sample(
client: &ClusterController
) -> Result<()> {
let response = client.start_cluster()
/* set fields */
.poller().until_done().await?;
println!("response {:?}", response);
Ok(())
}Sourcepub fn delete_cluster(&self) -> DeleteCluster
pub fn delete_cluster(&self) -> DeleteCluster
Deletes a cluster in a project. The returned Operation.metadata will be ClusterOperationMetadata.
§Long running operations
This method is used to start, and/or poll a long-running Operation. The Working with long-running operations chapter in the user guide covers these operations in detail.
§Example
use google_cloud_lro::Poller;
use google_cloud_dataproc_v1::Result;
async fn sample(
client: &ClusterController
) -> Result<()> {
client.delete_cluster()
/* set fields */
.poller().until_done().await?;
Ok(())
}Sourcepub fn get_cluster(&self) -> GetCluster
pub fn get_cluster(&self) -> GetCluster
Gets the resource representation for a cluster in a project.
§Example
use google_cloud_dataproc_v1::Result;
async fn sample(
client: &ClusterController
) -> Result<()> {
let response = client.get_cluster()
/* set fields */
.send().await?;
println!("response {:?}", response);
Ok(())
}Sourcepub fn list_clusters(&self) -> ListClusters
pub fn list_clusters(&self) -> ListClusters
Lists all regions/{region}/clusters in a project alphabetically.
§Example
use google_cloud_gax::paginator::ItemPaginator as _;
use google_cloud_dataproc_v1::Result;
async fn sample(
client: &ClusterController
) -> Result<()> {
let mut list = client.list_clusters()
/* set fields */
.by_item();
while let Some(item) = list.next().await.transpose()? {
println!("{:?}", item);
}
Ok(())
}Sourcepub fn diagnose_cluster(&self) -> DiagnoseCluster
pub fn diagnose_cluster(&self) -> DiagnoseCluster
Gets cluster diagnostic information. The returned Operation.metadata will be ClusterOperationMetadata. After the operation completes, Operation.response contains DiagnoseClusterResults.
§Long running operations
This method is used to start, and/or poll a long-running Operation. The Working with long-running operations chapter in the user guide covers these operations in detail.
§Example
use google_cloud_lro::Poller;
use google_cloud_dataproc_v1::Result;
async fn sample(
client: &ClusterController
) -> Result<()> {
let response = client.diagnose_cluster()
/* set fields */
.poller().until_done().await?;
println!("response {:?}", response);
Ok(())
}Sourcepub fn set_iam_policy(&self) -> SetIamPolicy
pub fn set_iam_policy(&self) -> SetIamPolicy
Sets the access control policy on the specified resource. Replaces any existing policy.
Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED
errors.
§Example
use google_cloud_dataproc_v1::Result;
async fn sample(
client: &ClusterController
) -> Result<()> {
let response = client.set_iam_policy()
/* set fields */
.send().await?;
println!("response {:?}", response);
Ok(())
}Sourcepub fn get_iam_policy(&self) -> GetIamPolicy
pub fn get_iam_policy(&self) -> GetIamPolicy
Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.
§Example
use google_cloud_dataproc_v1::Result;
async fn sample(
client: &ClusterController
) -> Result<()> {
let response = client.get_iam_policy()
/* set fields */
.send().await?;
println!("response {:?}", response);
Ok(())
}Sourcepub fn test_iam_permissions(&self) -> TestIamPermissions
pub fn test_iam_permissions(&self) -> TestIamPermissions
Returns permissions that a caller has on the specified resource. If the
resource does not exist, this will return an empty set of
permissions, not a NOT_FOUND error.
Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may “fail open” without warning.
§Example
use google_cloud_dataproc_v1::Result;
async fn sample(
client: &ClusterController
) -> Result<()> {
let response = client.test_iam_permissions()
/* set fields */
.send().await?;
println!("response {:?}", response);
Ok(())
}Sourcepub fn list_operations(&self) -> ListOperations
pub fn list_operations(&self) -> ListOperations
Provides the Operations service functionality in this service.
§Example
use google_cloud_gax::paginator::ItemPaginator as _;
use google_cloud_dataproc_v1::Result;
async fn sample(
client: &ClusterController
) -> Result<()> {
let mut list = client.list_operations()
/* set fields */
.by_item();
while let Some(item) = list.next().await.transpose()? {
println!("{:?}", item);
}
Ok(())
}Sourcepub fn get_operation(&self) -> GetOperation
pub fn get_operation(&self) -> GetOperation
Provides the Operations service functionality in this service.
§Example
use google_cloud_dataproc_v1::Result;
async fn sample(
client: &ClusterController
) -> Result<()> {
let response = client.get_operation()
/* set fields */
.send().await?;
println!("response {:?}", response);
Ok(())
}Sourcepub fn delete_operation(&self) -> DeleteOperation
pub fn delete_operation(&self) -> DeleteOperation
Provides the Operations service functionality in this service.
§Example
use google_cloud_dataproc_v1::Result;
async fn sample(
client: &ClusterController
) -> Result<()> {
client.delete_operation()
/* set fields */
.send().await?;
Ok(())
}Sourcepub fn cancel_operation(&self) -> CancelOperation
pub fn cancel_operation(&self) -> CancelOperation
Provides the Operations service functionality in this service.
§Example
use google_cloud_dataproc_v1::Result;
async fn sample(
client: &ClusterController
) -> Result<()> {
client.cancel_operation()
/* set fields */
.send().await?;
Ok(())
}Trait Implementations§
Source§impl Clone for ClusterController
impl Clone for ClusterController
Source§fn clone(&self) -> ClusterController
fn clone(&self) -> ClusterController
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more