// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`TestType`](crate::operation::test_type::builders::TestTypeFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`arn(impl Into<String>)`](crate::operation::test_type::builders::TestTypeFluentBuilder::arn) / [`set_arn(Option<String>)`](crate::operation::test_type::builders::TestTypeFluentBuilder::set_arn):<br>required: **false**<br><p>The Amazon Resource Name (ARN) of the extension.</p> <p>Conditional: You must specify <code>Arn</code>, or <code>TypeName</code> and <code>Type</code>.</p><br>
/// - [`r#type(ThirdPartyType)`](crate::operation::test_type::builders::TestTypeFluentBuilder::type) / [`set_type(Option<ThirdPartyType>)`](crate::operation::test_type::builders::TestTypeFluentBuilder::set_type):<br>required: **false**<br><p>The type of the extension to test.</p> <p>Conditional: You must specify <code>Arn</code>, or <code>TypeName</code> and <code>Type</code>.</p><br>
/// - [`type_name(impl Into<String>)`](crate::operation::test_type::builders::TestTypeFluentBuilder::type_name) / [`set_type_name(Option<String>)`](crate::operation::test_type::builders::TestTypeFluentBuilder::set_type_name):<br>required: **false**<br><p>The name of the extension to test.</p> <p>Conditional: You must specify <code>Arn</code>, or <code>TypeName</code> and <code>Type</code>.</p><br>
/// - [`version_id(impl Into<String>)`](crate::operation::test_type::builders::TestTypeFluentBuilder::version_id) / [`set_version_id(Option<String>)`](crate::operation::test_type::builders::TestTypeFluentBuilder::set_version_id):<br>required: **false**<br><p>The version of the extension to test.</p> <p>You can specify the version id with either <code>Arn</code>, or with <code>TypeName</code> and <code>Type</code>.</p> <p>If you don't specify a version, CloudFormation uses the default version of the extension in this account and Region for testing.</p><br>
/// - [`log_delivery_bucket(impl Into<String>)`](crate::operation::test_type::builders::TestTypeFluentBuilder::log_delivery_bucket) / [`set_log_delivery_bucket(Option<String>)`](crate::operation::test_type::builders::TestTypeFluentBuilder::set_log_delivery_bucket):<br>required: **false**<br><p>The S3 bucket to which CloudFormation delivers the contract test execution logs.</p> <p>CloudFormation delivers the logs by the time contract testing has completed and the extension has been assigned a test type status of <code>PASSED</code> or <code>FAILED</code>.</p> <p>The user calling <code>TestType</code> must be able to access items in the specified S3 bucket. Specifically, the user needs the following permissions:</p> <ul> <li> <p><code>GetObject</code></p></li> <li> <p><code>PutObject</code></p></li> </ul> <p>For more information, see <a href="https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html">Actions, Resources, and Condition Keys for Amazon S3</a> in the <i>Amazon Web Services Identity and Access Management User Guide</i>.</p><br>
/// - On success, responds with [`TestTypeOutput`](crate::operation::test_type::TestTypeOutput) with field(s):
/// - [`type_version_arn(Option<String>)`](crate::operation::test_type::TestTypeOutput::type_version_arn): <p>The Amazon Resource Name (ARN) of the extension.</p>
/// - On failure, responds with [`SdkError<TestTypeError>`](crate::operation::test_type::TestTypeError)
pub fn test_type(&self) -> crate::operation::test_type::builders::TestTypeFluentBuilder {
crate::operation::test_type::builders::TestTypeFluentBuilder::new(self.handle.clone())
}
}