pub struct VpcFlowLogsService { /* private fields */ }Expand description
Implements a client for the Network Management API.
§Example
use google_cloud_gax::paginator::ItemPaginator as _;
let client = VpcFlowLogsService::builder().build().await?;
let parent = "parent_value";
let mut list = client.list_vpc_flow_logs_configs()
.set_parent(parent)
.by_item();
while let Some(item) = list.next().await.transpose()? {
println!("{:?}", item);
}§Service Description
The VPC Flow Logs service in the Google Cloud Network Management API provides configurations that generate Flow Logs. The service and the configuration resources created using this service are global.
§Configuration
To configure VpcFlowLogsService 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://networkmanagement.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
VpcFlowLogsService holds a connection pool internally, it is advised to
create one and reuse it. You do not need to wrap VpcFlowLogsService in
an Rc or Arc to reuse it, because it
already uses an Arc internally.
Implementations§
Source§impl VpcFlowLogsService
impl VpcFlowLogsService
Sourcepub fn builder() -> ClientBuilder
pub fn builder() -> ClientBuilder
Returns a builder for VpcFlowLogsService.
let client = VpcFlowLogsService::builder().build().await?;Sourcepub fn from_stub<T>(stub: T) -> Selfwhere
T: VpcFlowLogsService + 'static,
pub fn from_stub<T>(stub: T) -> Selfwhere
T: VpcFlowLogsService + '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 list_vpc_flow_logs_configs(&self) -> ListVpcFlowLogsConfigs
pub fn list_vpc_flow_logs_configs(&self) -> ListVpcFlowLogsConfigs
Lists all VpcFlowLogsConfigs in a given project.
§Example
use google_cloud_gax::paginator::ItemPaginator as _;
use google_cloud_networkmanagement_v1::Result;
async fn sample(
client: &VpcFlowLogsService, parent: &str
) -> Result<()> {
let mut list = client.list_vpc_flow_logs_configs()
.set_parent(parent)
.by_item();
while let Some(item) = list.next().await.transpose()? {
println!("{:?}", item);
}
Ok(())
}Sourcepub fn get_vpc_flow_logs_config(&self) -> GetVpcFlowLogsConfig
pub fn get_vpc_flow_logs_config(&self) -> GetVpcFlowLogsConfig
Gets the details of a specific VpcFlowLogsConfig.
§Example
use google_cloud_networkmanagement_v1::Result;
async fn sample(
client: &VpcFlowLogsService, name: &str
) -> Result<()> {
let response = client.get_vpc_flow_logs_config()
.set_name(name)
.send().await?;
println!("response {:?}", response);
Ok(())
}Sourcepub fn create_vpc_flow_logs_config(&self) -> CreateVpcFlowLogsConfig
pub fn create_vpc_flow_logs_config(&self) -> CreateVpcFlowLogsConfig
Creates a new VpcFlowLogsConfig.
If a configuration with the exact same settings already exists (even if the
ID is different), the creation fails.
Notes:
- Creating a configuration with
state=DISABLEDwill fail - The following fields are not considered as settings for the purpose
of the check mentioned above, therefore - creating another configuration
with the same fields but different values for the following fields will
fail as well:
- name
- create_time
- update_time
- labels
- description
§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_networkmanagement_v1::model::VpcFlowLogsConfig;
use google_cloud_networkmanagement_v1::Result;
async fn sample(
client: &VpcFlowLogsService, parent: &str
) -> Result<()> {
let response = client.create_vpc_flow_logs_config()
.set_parent(parent)
.set_vpc_flow_logs_config(
VpcFlowLogsConfig::new()/* set fields */
)
.poller().until_done().await?;
println!("response {:?}", response);
Ok(())
}Sourcepub fn update_vpc_flow_logs_config(&self) -> UpdateVpcFlowLogsConfig
pub fn update_vpc_flow_logs_config(&self) -> UpdateVpcFlowLogsConfig
Updates an existing VpcFlowLogsConfig.
If a configuration with the exact same settings already exists (even if the
ID is different), the creation fails.
Notes:
- Updating a configuration with
state=DISABLEDwill fail. - The following fields are not considered as settings for the purpose
of the check mentioned above, therefore - updating another configuration
with the same fields but different values for the following fields will
fail as well:
- name
- create_time
- update_time
- labels
- description
§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_wkt::FieldMask;
use google_cloud_networkmanagement_v1::model::VpcFlowLogsConfig;
use google_cloud_networkmanagement_v1::Result;
async fn sample(
client: &VpcFlowLogsService, name: &str
) -> Result<()> {
let response = client.update_vpc_flow_logs_config()
.set_vpc_flow_logs_config(
VpcFlowLogsConfig::new().set_name(name)/* set fields */
)
.set_update_mask(FieldMask::default().set_paths(["updated.field.path1", "updated.field.path2"]))
.poller().until_done().await?;
println!("response {:?}", response);
Ok(())
}Sourcepub fn delete_vpc_flow_logs_config(&self) -> DeleteVpcFlowLogsConfig
pub fn delete_vpc_flow_logs_config(&self) -> DeleteVpcFlowLogsConfig
Deletes a specific VpcFlowLogsConfig.
§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_networkmanagement_v1::Result;
async fn sample(
client: &VpcFlowLogsService, name: &str
) -> Result<()> {
client.delete_vpc_flow_logs_config()
.set_name(name)
.poller().until_done().await?;
Ok(())
}Sourcepub fn query_org_vpc_flow_logs_configs(&self) -> QueryOrgVpcFlowLogsConfigs
pub fn query_org_vpc_flow_logs_configs(&self) -> QueryOrgVpcFlowLogsConfigs
QueryOrgVpcFlowLogsConfigs returns a list of all organization-level VPC Flow Logs configurations applicable to the specified project.
§Example
use google_cloud_gax::paginator::ItemPaginator as _;
use google_cloud_networkmanagement_v1::Result;
async fn sample(
client: &VpcFlowLogsService
) -> Result<()> {
let mut list = client.query_org_vpc_flow_logs_configs()
/* set fields */
.by_item();
while let Some(item) = list.next().await.transpose()? {
println!("{:?}", item);
}
Ok(())
}Sourcepub fn show_effective_flow_logs_configs(&self) -> ShowEffectiveFlowLogsConfigs
pub fn show_effective_flow_logs_configs(&self) -> ShowEffectiveFlowLogsConfigs
ShowEffectiveFlowLogsConfigs returns a list of all VPC Flow Logs configurations applicable to a specified resource.
§Example
use google_cloud_gax::paginator::ItemPaginator as _;
use google_cloud_networkmanagement_v1::Result;
async fn sample(
client: &VpcFlowLogsService
) -> Result<()> {
let mut list = client.show_effective_flow_logs_configs()
/* set fields */
.by_item();
while let Some(item) = list.next().await.transpose()? {
println!("{:?}", item);
}
Ok(())
}Sourcepub fn list_locations(&self) -> ListLocations
pub fn list_locations(&self) -> ListLocations
Lists information about the supported locations for this service. This method can be called in two ways:
- List all public locations: Use the path
GET /v1/locations. - List project-visible locations: Use the path
GET /v1/projects/{project_id}/locations. This may include public locations as well as private or other locations specifically visible to the project.
§Example
use google_cloud_gax::paginator::ItemPaginator as _;
use google_cloud_networkmanagement_v1::Result;
async fn sample(
client: &VpcFlowLogsService
) -> Result<()> {
let mut list = client.list_locations()
/* set fields */
.by_item();
while let Some(item) = list.next().await.transpose()? {
println!("{:?}", item);
}
Ok(())
}Sourcepub fn get_location(&self) -> GetLocation
pub fn get_location(&self) -> GetLocation
Gets information about a location.
§Example
use google_cloud_networkmanagement_v1::Result;
async fn sample(
client: &VpcFlowLogsService
) -> Result<()> {
let response = client.get_location()
/* set fields */
.send().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_networkmanagement_v1::Result;
async fn sample(
client: &VpcFlowLogsService
) -> 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_networkmanagement_v1::Result;
async fn sample(
client: &VpcFlowLogsService
) -> 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_networkmanagement_v1::Result;
async fn sample(
client: &VpcFlowLogsService
) -> 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_networkmanagement_v1::Result;
async fn sample(
client: &VpcFlowLogsService
) -> 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_networkmanagement_v1::Result;
async fn sample(
client: &VpcFlowLogsService
) -> 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_networkmanagement_v1::Result;
async fn sample(
client: &VpcFlowLogsService
) -> 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_networkmanagement_v1::Result;
async fn sample(
client: &VpcFlowLogsService
) -> Result<()> {
client.cancel_operation()
/* set fields */
.send().await?;
Ok(())
}Trait Implementations§
Source§impl Clone for VpcFlowLogsService
impl Clone for VpcFlowLogsService
Source§fn clone(&self) -> VpcFlowLogsService
fn clone(&self) -> VpcFlowLogsService
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more