Struct aws_sdk_resourcegroups::Client

source ·
pub struct Client { /* private fields */ }
Expand description

Client for AWS Resource Groups

Client for invoking operations on AWS Resource Groups. Each operation on AWS Resource Groups is a method on this this struct. .send() MUST be invoked on the generated operations to dispatch the request to the service.

§Constructing a Client

A Config is required to construct a client. For most use cases, the aws-config crate should be used to automatically resolve this config using aws_config::load_from_env(), since this will resolve an SdkConfig which can be shared across multiple different AWS SDK clients. This config resolution process can be customized by calling aws_config::from_env() instead, which returns a ConfigLoader that uses the builder pattern to customize the default config.

In the simplest case, creating a client looks as follows:

let config = aws_config::load_from_env().await;
let client = aws_sdk_resourcegroups::Client::new(&config);

Occasionally, SDKs may have additional service-specific values that can be set on the Config that is absent from SdkConfig, or slightly different settings for a specific client may be desired. The Config struct implements From<&SdkConfig>, so setting these specific settings can be done as follows:

let sdk_config = ::aws_config::load_from_env().await;
let config = aws_sdk_resourcegroups::config::Builder::from(&sdk_config)
    .some_service_specific_setting("value")
    .build();

See the aws-config docs and Config for more information on customizing configuration.

Note: Client construction is expensive due to connection thread pool initialization, and should be done once at application start-up.

§Using the Client

A client has a function for every operation that can be performed by the service. For example, the CreateGroup operation has a Client::create_group, function which returns a builder for that operation. The fluent builder ultimately has a send() function that returns an async future that returns a result, as illustrated below:

let result = client.create_group()
    .name("example")
    .send()
    .await;

The underlying HTTP requests that get made by this can be modified with the customize_operation function on the fluent builder. See the customize module for more information.

Implementations§

source§

impl Client

source

pub fn create_group(&self) -> CreateGroupFluentBuilder

Constructs a fluent builder for the CreateGroup operation.

source§

impl Client

source

pub fn delete_group(&self) -> DeleteGroupFluentBuilder

Constructs a fluent builder for the DeleteGroup operation.

source§

impl Client

source

pub fn get_account_settings(&self) -> GetAccountSettingsFluentBuilder

Constructs a fluent builder for the GetAccountSettings operation.

source§

impl Client

source

pub fn get_group(&self) -> GetGroupFluentBuilder

Constructs a fluent builder for the GetGroup operation.

source§

impl Client

source

pub fn get_group_configuration(&self) -> GetGroupConfigurationFluentBuilder

Constructs a fluent builder for the GetGroupConfiguration operation.

source§

impl Client

source

pub fn get_group_query(&self) -> GetGroupQueryFluentBuilder

Constructs a fluent builder for the GetGroupQuery operation.

source§

impl Client

source

pub fn get_tags(&self) -> GetTagsFluentBuilder

Constructs a fluent builder for the GetTags operation.

source§

impl Client

source

pub fn group_resources(&self) -> GroupResourcesFluentBuilder

Constructs a fluent builder for the GroupResources operation.

source§

impl Client

source

pub fn list_group_resources(&self) -> ListGroupResourcesFluentBuilder

Constructs a fluent builder for the ListGroupResources operation. This operation supports pagination; See into_paginator().

  • The fluent builder is configurable:
    • group_name(impl Into<String>) / set_group_name(Option<String>):
      required: false

      Deprecated - don’t use this parameter. Use the Group request field instead.


    • group(impl Into<String>) / set_group(Option<String>):
      required: false

      The name or the ARN of the resource group


    • filters(ResourceFilter) / set_filters(Option<Vec::<ResourceFilter>>):
      required: false

      Filters, formatted as ResourceFilter objects, that you want to apply to a ListGroupResources operation. Filters the results to include only those of the specified resource types.

      • resource-type - Filter resources by their type. Specify up to five resource types in the format AWS::ServiceCode::ResourceType. For example, AWS::EC2::Instance, or AWS::S3::Bucket.

      When you specify a resource-type filter for ListGroupResources, Resource Groups validates your filter resource types against the types that are defined in the query associated with the group. For example, if a group contains only S3 buckets because its query specifies only that resource type, but your resource-type filter includes EC2 instances, AWS Resource Groups does not filter for EC2 instances. In this case, a ListGroupResources request returns a BadRequestException error with a message similar to the following:

      The resource types specified as filters in the request are not valid.

      The error includes a list of resource types that failed the validation because they are not part of the query associated with the group. This validation doesn’t occur when the group query specifies AWS::AllSupported, because a group based on such a query can contain any of the allowed resource types for the query type (tag-based or Amazon CloudFront stack-based queries).


    • max_results(i32) / set_max_results(Option<i32>):
      required: false

      The total number of results that you want included on each page of the response. If you do not include this parameter, it defaults to a value that is specific to the operation. If additional items exist beyond the maximum you specify, the NextToken response element is present and has a value (is not null). Include that value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that the service might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.


    • next_token(impl Into<String>) / set_next_token(Option<String>):
      required: false

      The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value provided by a previous call’s NextToken response to indicate where the output should continue from.


  • On success, responds with ListGroupResourcesOutput with field(s):
    • resources(Option<Vec::<ListGroupResourcesItem>>):

      An array of resources from which you can determine each resource’s identity, type, and group membership status.

    • resource_identifiers(Option<Vec::<ResourceIdentifier>>):

      Deprecated - don’t use this parameter. Use the Resources response field instead.

    • next_token(Option<String>):

      If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null.

    • query_errors(Option<Vec::<QueryError>>):

      A list of QueryError objects. Each error contains an ErrorCode and Message. Possible values for ErrorCode are CLOUDFORMATION_STACK_INACTIVE, CLOUDFORMATION_STACK_NOT_EXISTING, CLOUDFORMATION_STACK_UNASSUMABLE_ROLE and RESOURCE_TYPE_NOT_SUPPORTED.

  • On failure, responds with SdkError<ListGroupResourcesError>
source§

impl Client

source

pub fn list_groups(&self) -> ListGroupsFluentBuilder

Constructs a fluent builder for the ListGroups operation. This operation supports pagination; See into_paginator().

  • The fluent builder is configurable:
    • filters(GroupFilter) / set_filters(Option<Vec::<GroupFilter>>):
      required: false

      Filters, formatted as GroupFilter objects, that you want to apply to a ListGroups operation.

      • resource-type - Filter the results to include only those resource groups that have the specified resource type in their ResourceTypeFilter. For example, AWS::EC2::Instance would return any resource group with a ResourceTypeFilter that includes AWS::EC2::Instance.

      • configuration-type - Filter the results to include only those groups that have the specified configuration types attached. The current supported values are:

        • AWS::AppRegistry::Application

        • AWS::AppRegistry::ApplicationResourceGroups

        • AWS::CloudFormation::Stack

        • AWS::EC2::CapacityReservationPool

        • AWS::EC2::HostManagement

        • AWS::NetworkFirewall::RuleGroup


    • max_results(i32) / set_max_results(Option<i32>):
      required: false

      The total number of results that you want included on each page of the response. If you do not include this parameter, it defaults to a value that is specific to the operation. If additional items exist beyond the maximum you specify, the NextToken response element is present and has a value (is not null). Include that value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that the service might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.


    • next_token(impl Into<String>) / set_next_token(Option<String>):
      required: false

      The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value provided by a previous call’s NextToken response to indicate where the output should continue from.


  • On success, responds with ListGroupsOutput with field(s):
    • group_identifiers(Option<Vec::<GroupIdentifier>>):

      A list of GroupIdentifier objects. Each identifier is an object that contains both the Name and the GroupArn.

    • groups(Option<Vec::<Group>>):

      Deprecated - don’t use this field. Use the GroupIdentifiers response field instead.

    • next_token(Option<String>):

      If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null.

  • On failure, responds with SdkError<ListGroupsError>
source§

impl Client

source

pub fn put_group_configuration(&self) -> PutGroupConfigurationFluentBuilder

Constructs a fluent builder for the PutGroupConfiguration operation.

source§

impl Client

source

pub fn search_resources(&self) -> SearchResourcesFluentBuilder

Constructs a fluent builder for the SearchResources operation. This operation supports pagination; See into_paginator().

  • The fluent builder is configurable:
    • resource_query(ResourceQuery) / set_resource_query(Option<ResourceQuery>):
      required: true

      The search query, using the same formats that are supported for resource group definition. For more information, see CreateGroup.


    • max_results(i32) / set_max_results(Option<i32>):
      required: false

      The total number of results that you want included on each page of the response. If you do not include this parameter, it defaults to a value that is specific to the operation. If additional items exist beyond the maximum you specify, the NextToken response element is present and has a value (is not null). Include that value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that the service might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.


    • next_token(impl Into<String>) / set_next_token(Option<String>):
      required: false

      The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value provided by a previous call’s NextToken response to indicate where the output should continue from.


  • On success, responds with SearchResourcesOutput with field(s):
    • resource_identifiers(Option<Vec::<ResourceIdentifier>>):

      The ARNs and resource types of resources that are members of the group that you specified.

    • next_token(Option<String>):

      If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null.

    • query_errors(Option<Vec::<QueryError>>):

      A list of QueryError objects. Each error contains an ErrorCode and Message.

      Possible values for ErrorCode:

      • CLOUDFORMATION_STACK_INACTIVE

      • CLOUDFORMATION_STACK_NOT_EXISTING

      • CLOUDFORMATION_STACK_UNASSUMABLE_ROLE

  • On failure, responds with SdkError<SearchResourcesError>
source§

impl Client

source

pub fn tag(&self) -> TagFluentBuilder

Constructs a fluent builder for the Tag operation.

source§

impl Client

source

pub fn ungroup_resources(&self) -> UngroupResourcesFluentBuilder

Constructs a fluent builder for the UngroupResources operation.

source§

impl Client

source

pub fn untag(&self) -> UntagFluentBuilder

Constructs a fluent builder for the Untag operation.

source§

impl Client

source

pub fn update_account_settings(&self) -> UpdateAccountSettingsFluentBuilder

Constructs a fluent builder for the UpdateAccountSettings operation.

source§

impl Client

source

pub fn update_group(&self) -> UpdateGroupFluentBuilder

Constructs a fluent builder for the UpdateGroup operation.

source§

impl Client

source

pub fn update_group_query(&self) -> UpdateGroupQueryFluentBuilder

Constructs a fluent builder for the UpdateGroupQuery operation.

source§

impl Client

source

pub fn from_conf(conf: Config) -> Self

Creates a new client from the service Config.

§Panics

This method will panic in the following cases:

  • Retries or timeouts are enabled without a sleep_impl configured.
  • Identity caching is enabled without a sleep_impl and time_source configured.
  • No behavior_version is provided.

The panic message for each of these will have instructions on how to resolve them.

source

pub fn config(&self) -> &Config

Returns the client’s configuration.

source§

impl Client

source

pub fn new(sdk_config: &SdkConfig) -> Self

Creates a new client from an SDK Config.

§Panics
  • This method will panic if the sdk_config is missing an async sleep implementation. If you experience this panic, set the sleep_impl on the Config passed into this function to fix it.
  • This method will panic if the sdk_config is missing an HTTP connector. If you experience this panic, set the http_connector on the Config passed into this function to fix it.
  • This method will panic if no BehaviorVersion is provided. If you experience this panic, set behavior_version on the Config or enable the behavior-version-latest Cargo feature.

Trait Implementations§

source§

impl Clone for Client

source§

fn clone(&self) -> Client

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Client

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl Freeze for Client

§

impl !RefUnwindSafe for Client

§

impl Send for Client

§

impl Sync for Client

§

impl Unpin for Client

§

impl !UnwindSafe for Client

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

impl<Unshared, Shared> IntoShared<Shared> for Unshared
where Shared: FromUnshared<Unshared>,

source§

fn into_shared(self) -> Shared

Creates a shared type from an unshared type.
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more