// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`UpdatePullRequestApprovalRuleContent`](crate::operation::update_pull_request_approval_rule_content::builders::UpdatePullRequestApprovalRuleContentFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`pull_request_id(impl Into<String>)`](crate::operation::update_pull_request_approval_rule_content::builders::UpdatePullRequestApprovalRuleContentFluentBuilder::pull_request_id) / [`set_pull_request_id(Option<String>)`](crate::operation::update_pull_request_approval_rule_content::builders::UpdatePullRequestApprovalRuleContentFluentBuilder::set_pull_request_id):<br>required: **true**<br><p>The system-generated ID of the pull request.</p><br>
/// - [`approval_rule_name(impl Into<String>)`](crate::operation::update_pull_request_approval_rule_content::builders::UpdatePullRequestApprovalRuleContentFluentBuilder::approval_rule_name) / [`set_approval_rule_name(Option<String>)`](crate::operation::update_pull_request_approval_rule_content::builders::UpdatePullRequestApprovalRuleContentFluentBuilder::set_approval_rule_name):<br>required: **true**<br><p>The name of the approval rule you want to update.</p><br>
/// - [`existing_rule_content_sha256(impl Into<String>)`](crate::operation::update_pull_request_approval_rule_content::builders::UpdatePullRequestApprovalRuleContentFluentBuilder::existing_rule_content_sha256) / [`set_existing_rule_content_sha256(Option<String>)`](crate::operation::update_pull_request_approval_rule_content::builders::UpdatePullRequestApprovalRuleContentFluentBuilder::set_existing_rule_content_sha256):<br>required: **false**<br><p>The SHA-256 hash signature for the content of the approval rule. You can retrieve this information by using <code>GetPullRequest</code>.</p><br>
/// - [`new_rule_content(impl Into<String>)`](crate::operation::update_pull_request_approval_rule_content::builders::UpdatePullRequestApprovalRuleContentFluentBuilder::new_rule_content) / [`set_new_rule_content(Option<String>)`](crate::operation::update_pull_request_approval_rule_content::builders::UpdatePullRequestApprovalRuleContentFluentBuilder::set_new_rule_content):<br>required: **true**<br><p>The updated content for the approval rule.</p><note> <p>When you update the content of the approval rule, you can specify approvers in an approval pool in one of two ways:</p> <ul> <li> <p><b>CodeCommitApprovers</b>: This option only requires an Amazon Web Services account and a resource. It can be used for both IAM users and federated access users whose name matches the provided resource name. This is a very powerful option that offers a great deal of flexibility. For example, if you specify the Amazon Web Services account <i>123456789012</i> and <i>Mary_Major</i>, all of the following are counted as approvals coming from that user:</p> <ul> <li> <p>An IAM user in the account (arn:aws:iam::<i>123456789012</i>:user/<i>Mary_Major</i>)</p></li> <li> <p>A federated user identified in IAM as Mary_Major (arn:aws:sts::<i>123456789012</i>:federated-user/<i>Mary_Major</i>)</p></li> </ul> <p>This option does not recognize an active session of someone assuming the role of CodeCommitReview with a role session name of <i>Mary_Major</i> (arn:aws:sts::<i>123456789012</i>:assumed-role/CodeCommitReview/<i>Mary_Major</i>) unless you include a wildcard (*Mary_Major).</p></li> <li> <p><b>Fully qualified ARN</b>: This option allows you to specify the fully qualified Amazon Resource Name (ARN) of the IAM user or role.</p></li> </ul> <p>For more information about IAM ARNs, wildcards, and formats, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html">IAM Identifiers</a> in the <i>IAM User Guide</i>.</p> </note><br>
/// - On success, responds with [`UpdatePullRequestApprovalRuleContentOutput`](crate::operation::update_pull_request_approval_rule_content::UpdatePullRequestApprovalRuleContentOutput) with field(s):
/// - [`approval_rule(Option<ApprovalRule>)`](crate::operation::update_pull_request_approval_rule_content::UpdatePullRequestApprovalRuleContentOutput::approval_rule): <p>Information about the updated approval rule.</p>
/// - On failure, responds with [`SdkError<UpdatePullRequestApprovalRuleContentError>`](crate::operation::update_pull_request_approval_rule_content::UpdatePullRequestApprovalRuleContentError)
pub fn update_pull_request_approval_rule_content(
&self,
) -> crate::operation::update_pull_request_approval_rule_content::builders::UpdatePullRequestApprovalRuleContentFluentBuilder {
crate::operation::update_pull_request_approval_rule_content::builders::UpdatePullRequestApprovalRuleContentFluentBuilder::new(
self.handle.clone(),
)
}
}