Struct aws_sdk_codegurureviewer::Client
source · pub struct Client { /* private fields */ }Expand description
Client for Amazon CodeGuru Reviewer
Client for invoking operations on Amazon CodeGuru Reviewer. Each operation on Amazon CodeGuru Reviewer 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_codegurureviewer::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_codegurureviewer::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 AssociateRepository operation has
a Client::associate_repository, 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.associate_repository()
.client_request_token("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
impl Client
sourcepub fn associate_repository(&self) -> AssociateRepositoryFluentBuilder
pub fn associate_repository(&self) -> AssociateRepositoryFluentBuilder
Constructs a fluent builder for the AssociateRepository operation.
- The fluent builder is configurable:
repository(Repository)/set_repository(Option<Repository>):
required: trueThe repository to associate.
client_request_token(impl Into<String>)/set_client_request_token(Option<String>):
required: falseAmazon CodeGuru Reviewer uses this value to prevent the accidental creation of duplicate repository associations if there are failures and retries.
tags(impl Into<String>, impl Into<String>)/set_tags(Option<HashMap::<String, String>>):
required: falseAn array of key-value pairs used to tag an associated repository. A tag is a custom attribute label with two parts:
-
A tag key (for example,
CostCenter,Environment,Project, orSecret). Tag keys are case sensitive. -
An optional field known as a tag value (for example,
111122223333,Production, or a team name). Omitting the tag value is the same as using an empty string. Like tag keys, tag values are case sensitive.
-
kms_key_details(KmsKeyDetails)/set_kms_key_details(Option<KmsKeyDetails>):
required: falseA
KMSKeyDetailsobject that contains:-
The encryption option for this repository association. It is either owned by Amazon Web Services Key Management Service (KMS) (
AWS_OWNED_CMK) or customer managed (CUSTOMER_MANAGED_CMK). -
The ID of the Amazon Web Services KMS key that is associated with this repository association.
-
- On success, responds with
AssociateRepositoryOutputwith field(s):repository_association(Option<RepositoryAssociation>):Information about the repository association.
tags(Option<HashMap::<String, String>>):An array of key-value pairs used to tag an associated repository. A tag is a custom attribute label with two parts:
-
A tag key (for example,
CostCenter,Environment,Project, orSecret). Tag keys are case sensitive. -
An optional field known as a tag value (for example,
111122223333,Production, or a team name). Omitting the tag value is the same as using an empty string. Like tag keys, tag values are case sensitive.
-
- On failure, responds with
SdkError<AssociateRepositoryError>
source§impl Client
impl Client
sourcepub fn create_code_review(&self) -> CreateCodeReviewFluentBuilder
pub fn create_code_review(&self) -> CreateCodeReviewFluentBuilder
Constructs a fluent builder for the CreateCodeReview operation.
- The fluent builder is configurable:
name(impl Into<String>)/set_name(Option<String>):
required: trueThe name of the code review. The name of each code review in your Amazon Web Services account must be unique.
repository_association_arn(impl Into<String>)/set_repository_association_arn(Option<String>):
required: trueThe Amazon Resource Name (ARN) of the RepositoryAssociation object. You can retrieve this ARN by calling ListRepositoryAssociations.
A code review can only be created on an associated repository. This is the ARN of the associated repository.
r#type(CodeReviewType)/set_type(Option<CodeReviewType>):
required: trueThe type of code review to create. This is specified using a CodeReviewType object. You can create a code review only of type
RepositoryAnalysis.client_request_token(impl Into<String>)/set_client_request_token(Option<String>):
required: falseAmazon CodeGuru Reviewer uses this value to prevent the accidental creation of duplicate code reviews if there are failures and retries.
- On success, responds with
CreateCodeReviewOutputwith field(s):code_review(Option<CodeReview>):Information about a code review. A code review belongs to the associated repository that contains the reviewed code.
- On failure, responds with
SdkError<CreateCodeReviewError>
source§impl Client
impl Client
sourcepub fn describe_code_review(&self) -> DescribeCodeReviewFluentBuilder
pub fn describe_code_review(&self) -> DescribeCodeReviewFluentBuilder
Constructs a fluent builder for the DescribeCodeReview operation.
- The fluent builder is configurable:
code_review_arn(impl Into<String>)/set_code_review_arn(Option<String>):
required: trueThe Amazon Resource Name (ARN) of the CodeReview object.
- On success, responds with
DescribeCodeReviewOutputwith field(s):code_review(Option<CodeReview>):Information about the code review.
- On failure, responds with
SdkError<DescribeCodeReviewError>
source§impl Client
impl Client
sourcepub fn describe_recommendation_feedback(
&self
) -> DescribeRecommendationFeedbackFluentBuilder
pub fn describe_recommendation_feedback( &self ) -> DescribeRecommendationFeedbackFluentBuilder
Constructs a fluent builder for the DescribeRecommendationFeedback operation.
- The fluent builder is configurable:
code_review_arn(impl Into<String>)/set_code_review_arn(Option<String>):
required: trueThe Amazon Resource Name (ARN) of the CodeReview object.
recommendation_id(impl Into<String>)/set_recommendation_id(Option<String>):
required: trueThe recommendation ID that can be used to track the provided recommendations and then to collect the feedback.
user_id(impl Into<String>)/set_user_id(Option<String>):
required: falseOptional parameter to describe the feedback for a given user. If this is not supplied, it defaults to the user making the request.
The
UserIdis an IAM principal that can be specified as an Amazon Web Services account ID or an Amazon Resource Name (ARN). For more information, see Specifying a Principal in the Amazon Web Services Identity and Access Management User Guide.
- On success, responds with
DescribeRecommendationFeedbackOutputwith field(s):recommendation_feedback(Option<RecommendationFeedback>):The recommendation feedback given by the user.
- On failure, responds with
SdkError<DescribeRecommendationFeedbackError>
source§impl Client
impl Client
sourcepub fn describe_repository_association(
&self
) -> DescribeRepositoryAssociationFluentBuilder
pub fn describe_repository_association( &self ) -> DescribeRepositoryAssociationFluentBuilder
Constructs a fluent builder for the DescribeRepositoryAssociation operation.
- The fluent builder is configurable:
association_arn(impl Into<String>)/set_association_arn(Option<String>):
required: trueThe Amazon Resource Name (ARN) of the RepositoryAssociation object. You can retrieve this ARN by calling ListRepositoryAssociations.
- On success, responds with
DescribeRepositoryAssociationOutputwith field(s):repository_association(Option<RepositoryAssociation>):Information about the repository association.
tags(Option<HashMap::<String, String>>):An array of key-value pairs used to tag an associated repository. A tag is a custom attribute label with two parts:
-
A tag key (for example,
CostCenter,Environment,Project, orSecret). Tag keys are case sensitive. -
An optional field known as a tag value (for example,
111122223333,Production, or a team name). Omitting the tag value is the same as using an empty string. Like tag keys, tag values are case sensitive.
-
- On failure, responds with
SdkError<DescribeRepositoryAssociationError>
source§impl Client
impl Client
sourcepub fn disassociate_repository(&self) -> DisassociateRepositoryFluentBuilder
pub fn disassociate_repository(&self) -> DisassociateRepositoryFluentBuilder
Constructs a fluent builder for the DisassociateRepository operation.
- The fluent builder is configurable:
association_arn(impl Into<String>)/set_association_arn(Option<String>):
required: trueThe Amazon Resource Name (ARN) of the RepositoryAssociation object. You can retrieve this ARN by calling ListRepositoryAssociations.
- On success, responds with
DisassociateRepositoryOutputwith field(s):repository_association(Option<RepositoryAssociation>):Information about the disassociated repository.
tags(Option<HashMap::<String, String>>):An array of key-value pairs used to tag an associated repository. A tag is a custom attribute label with two parts:
-
A tag key (for example,
CostCenter,Environment,Project, orSecret). Tag keys are case sensitive. -
An optional field known as a tag value (for example,
111122223333,Production, or a team name). Omitting the tag value is the same as using an empty string. Like tag keys, tag values are case sensitive.
-
- On failure, responds with
SdkError<DisassociateRepositoryError>
source§impl Client
impl Client
sourcepub fn list_code_reviews(&self) -> ListCodeReviewsFluentBuilder
pub fn list_code_reviews(&self) -> ListCodeReviewsFluentBuilder
Constructs a fluent builder for the ListCodeReviews operation.
This operation supports pagination; See into_paginator().
- The fluent builder is configurable:
provider_types(ProviderType)/set_provider_types(Option<Vec::<ProviderType>>):
required: falseList of provider types for filtering that needs to be applied before displaying the result. For example,
providerTypes=[GitHub]lists code reviews from GitHub.states(JobState)/set_states(Option<Vec::<JobState>>):
required: falseList of states for filtering that needs to be applied before displaying the result. For example,
states=[Pending]lists code reviews in the Pending state.The valid code review states are:
-
Completed: The code review is complete. -
Pending: The code review started and has not completed or failed. -
Failed: The code review failed. -
Deleting: The code review is being deleted.
-
repository_names(impl Into<String>)/set_repository_names(Option<Vec::<String>>):
required: falseList of repository names for filtering that needs to be applied before displaying the result.
r#type(Type)/set_type(Option<Type>):
required: trueThe type of code reviews to list in the response.
max_results(i32)/set_max_results(Option<i32>):
required: falseThe maximum number of results that are returned per call. The default is 100.
next_token(impl Into<String>)/set_next_token(Option<String>):
required: falseIf
nextTokenis returned, there are more results available. The value ofnextTokenis a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.
- On success, responds with
ListCodeReviewsOutputwith field(s):code_review_summaries(Option<Vec::<CodeReviewSummary>>):A list of code reviews that meet the criteria of the request.
next_token(Option<String>):Pagination token.
- On failure, responds with
SdkError<ListCodeReviewsError>
source§impl Client
impl Client
sourcepub fn list_recommendation_feedback(
&self
) -> ListRecommendationFeedbackFluentBuilder
pub fn list_recommendation_feedback( &self ) -> ListRecommendationFeedbackFluentBuilder
Constructs a fluent builder for the ListRecommendationFeedback operation.
This operation supports pagination; See into_paginator().
- The fluent builder is configurable:
next_token(impl Into<String>)/set_next_token(Option<String>):
required: falseIf
nextTokenis returned, there are more results available. The value ofnextTokenis a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.max_results(i32)/set_max_results(Option<i32>):
required: falseThe maximum number of results that are returned per call. The default is 100.
code_review_arn(impl Into<String>)/set_code_review_arn(Option<String>):
required: trueThe Amazon Resource Name (ARN) of the CodeReview object.
user_ids(impl Into<String>)/set_user_ids(Option<Vec::<String>>):
required: falseAn Amazon Web Services user’s account ID or Amazon Resource Name (ARN). Use this ID to query the recommendation feedback for a code review from that user.
The
UserIdis an IAM principal that can be specified as an Amazon Web Services account ID or an Amazon Resource Name (ARN). For more information, see Specifying a Principal in the Amazon Web Services Identity and Access Management User Guide.recommendation_ids(impl Into<String>)/set_recommendation_ids(Option<Vec::<String>>):
required: falseUsed to query the recommendation feedback for a given recommendation.
- On success, responds with
ListRecommendationFeedbackOutputwith field(s):recommendation_feedback_summaries(Option<Vec::<RecommendationFeedbackSummary>>):Recommendation feedback summaries corresponding to the code review ARN.
next_token(Option<String>):If
nextTokenis returned, there are more results available. The value ofnextTokenis a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.
- On failure, responds with
SdkError<ListRecommendationFeedbackError>
source§impl Client
impl Client
sourcepub fn list_recommendations(&self) -> ListRecommendationsFluentBuilder
pub fn list_recommendations(&self) -> ListRecommendationsFluentBuilder
Constructs a fluent builder for the ListRecommendations operation.
This operation supports pagination; See into_paginator().
- The fluent builder is configurable:
next_token(impl Into<String>)/set_next_token(Option<String>):
required: falsePagination token.
max_results(i32)/set_max_results(Option<i32>):
required: falseThe maximum number of results that are returned per call. The default is 100.
code_review_arn(impl Into<String>)/set_code_review_arn(Option<String>):
required: trueThe Amazon Resource Name (ARN) of the CodeReview object.
- On success, responds with
ListRecommendationsOutputwith field(s):recommendation_summaries(Option<Vec::<RecommendationSummary>>):List of recommendations for the requested code review.
next_token(Option<String>):Pagination token.
- On failure, responds with
SdkError<ListRecommendationsError>
source§impl Client
impl Client
sourcepub fn list_repository_associations(
&self
) -> ListRepositoryAssociationsFluentBuilder
pub fn list_repository_associations( &self ) -> ListRepositoryAssociationsFluentBuilder
Constructs a fluent builder for the ListRepositoryAssociations operation.
This operation supports pagination; See into_paginator().
- The fluent builder is configurable:
provider_types(ProviderType)/set_provider_types(Option<Vec::<ProviderType>>):
required: falseList of provider types to use as a filter.
states(RepositoryAssociationState)/set_states(Option<Vec::<RepositoryAssociationState>>):
required: falseList of repository association states to use as a filter.
The valid repository association states are:
-
Associated: The repository association is complete.
-
Associating: CodeGuru Reviewer is:
-
Setting up pull request notifications. This is required for pull requests to trigger a CodeGuru Reviewer review.
If your repository
ProviderTypeisGitHub,GitHub Enterprise Server, orBitbucket, CodeGuru Reviewer creates webhooks in your repository to trigger CodeGuru Reviewer reviews. If you delete these webhooks, reviews of code in your repository cannot be triggered. -
Setting up source code access. This is required for CodeGuru Reviewer to securely clone code in your repository.
-
-
Failed: The repository failed to associate or disassociate.
-
Disassociating: CodeGuru Reviewer is removing the repository’s pull request notifications and source code access.
-
Disassociated: CodeGuru Reviewer successfully disassociated the repository. You can create a new association with this repository if you want to review source code in it later. You can control access to code reviews created in anassociated repository with tags after it has been disassociated. For more information, see Using tags to control access to associated repositories in the Amazon CodeGuru Reviewer User Guide.
-
names(impl Into<String>)/set_names(Option<Vec::<String>>):
required: falseList of repository names to use as a filter.
owners(impl Into<String>)/set_owners(Option<Vec::<String>>):
required: falseList of owners to use as a filter. For Amazon Web Services CodeCommit, it is the name of the CodeCommit account that was used to associate the repository. For other repository source providers, such as Bitbucket and GitHub Enterprise Server, this is name of the account that was used to associate the repository.
max_results(i32)/set_max_results(Option<i32>):
required: falseThe maximum number of repository association results returned by
ListRepositoryAssociationsin paginated output. When this parameter is used,ListRepositoryAssociationsonly returnsmaxResultsresults in a single page with anextTokenresponse element. The remaining results of the initial request can be seen by sending anotherListRepositoryAssociationsrequest with the returnednextTokenvalue. This value can be between 1 and 100. If this parameter is not used,ListRepositoryAssociationsreturns up to 100 results and anextTokenvalue if applicable.next_token(impl Into<String>)/set_next_token(Option<String>):
required: falseThe
nextTokenvalue returned from a previous paginatedListRepositoryAssociationsrequest wheremaxResultswas used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned thenextTokenvalue.Treat this token as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.
- On success, responds with
ListRepositoryAssociationsOutputwith field(s):repository_association_summaries(Option<Vec::<RepositoryAssociationSummary>>):A list of repository associations that meet the criteria of the request.
next_token(Option<String>):The
nextTokenvalue to include in a futureListRecommendationsrequest. When the results of aListRecommendationsrequest exceedmaxResults, this value can be used to retrieve the next page of results. This value isnullwhen there are no more results to return.
- On failure, responds with
SdkError<ListRepositoryAssociationsError>
source§impl Client
impl Client
Constructs a fluent builder for the ListTagsForResource operation.
- The fluent builder is configurable:
resource_arn(impl Into<String>)/set_resource_arn(Option<String>):
required: trueThe Amazon Resource Name (ARN) of the RepositoryAssociation object. You can retrieve this ARN by calling ListRepositoryAssociations.
- On success, responds with
ListTagsForResourceOutputwith field(s):tags(Option<HashMap::<String, String>>):An array of key-value pairs used to tag an associated repository. A tag is a custom attribute label with two parts:
-
A tag key (for example,
CostCenter,Environment,Project, orSecret). Tag keys are case sensitive. -
An optional field known as a tag value (for example,
111122223333,Production, or a team name). Omitting the tag value is the same as using an empty string. Like tag keys, tag values are case sensitive.
-
- On failure, responds with
SdkError<ListTagsForResourceError>
source§impl Client
impl Client
sourcepub fn put_recommendation_feedback(
&self
) -> PutRecommendationFeedbackFluentBuilder
pub fn put_recommendation_feedback( &self ) -> PutRecommendationFeedbackFluentBuilder
Constructs a fluent builder for the PutRecommendationFeedback operation.
- The fluent builder is configurable:
code_review_arn(impl Into<String>)/set_code_review_arn(Option<String>):
required: trueThe Amazon Resource Name (ARN) of the CodeReview object.
recommendation_id(impl Into<String>)/set_recommendation_id(Option<String>):
required: trueThe recommendation ID that can be used to track the provided recommendations and then to collect the feedback.
reactions(Reaction)/set_reactions(Option<Vec::<Reaction>>):
required: trueList for storing reactions. Reactions are utf-8 text code for emojis. If you send an empty list it clears all your feedback.
- On success, responds with
PutRecommendationFeedbackOutput - On failure, responds with
SdkError<PutRecommendationFeedbackError>
source§impl Client
impl Client
sourcepub fn tag_resource(&self) -> TagResourceFluentBuilder
pub fn tag_resource(&self) -> TagResourceFluentBuilder
Constructs a fluent builder for the TagResource operation.
- The fluent builder is configurable:
resource_arn(impl Into<String>)/set_resource_arn(Option<String>):
required: trueThe Amazon Resource Name (ARN) of the RepositoryAssociation object. You can retrieve this ARN by calling ListRepositoryAssociations.
tags(impl Into<String>, impl Into<String>)/set_tags(Option<HashMap::<String, String>>):
required: trueAn array of key-value pairs used to tag an associated repository. A tag is a custom attribute label with two parts:
-
A tag key (for example,
CostCenter,Environment,Project, orSecret). Tag keys are case sensitive. -
An optional field known as a tag value (for example,
111122223333,Production, or a team name). Omitting the tag value is the same as using an empty string. Like tag keys, tag values are case sensitive.
-
- On success, responds with
TagResourceOutput - On failure, responds with
SdkError<TagResourceError>
source§impl Client
impl Client
sourcepub fn untag_resource(&self) -> UntagResourceFluentBuilder
pub fn untag_resource(&self) -> UntagResourceFluentBuilder
Constructs a fluent builder for the UntagResource operation.
- The fluent builder is configurable:
resource_arn(impl Into<String>)/set_resource_arn(Option<String>):
required: trueThe Amazon Resource Name (ARN) of the RepositoryAssociation object. You can retrieve this ARN by calling ListRepositoryAssociations.
tag_keys(impl Into<String>)/set_tag_keys(Option<Vec::<String>>):
required: trueA list of the keys for each tag you want to remove from an associated repository.
- On success, responds with
UntagResourceOutput - On failure, responds with
SdkError<UntagResourceError>
source§impl Client
impl Client
sourcepub fn from_conf(conf: Config) -> Self
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_implconfigured. - Identity caching is enabled without a
sleep_implandtime_sourceconfigured. - No
behavior_versionis provided.
The panic message for each of these will have instructions on how to resolve them.
source§impl Client
impl Client
sourcepub fn new(sdk_config: &SdkConfig) -> Self
pub fn new(sdk_config: &SdkConfig) -> Self
Creates a new client from an SDK Config.
§Panics
- This method will panic if the
sdk_configis missing an async sleep implementation. If you experience this panic, set thesleep_implon the Config passed into this function to fix it. - This method will panic if the
sdk_configis missing an HTTP connector. If you experience this panic, set thehttp_connectoron the Config passed into this function to fix it. - This method will panic if no
BehaviorVersionis provided. If you experience this panic, setbehavior_versionon the Config or enable thebehavior-version-latestCargo feature.