aws_sdk_databasemigration/client/create_instance_profile.rs
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`CreateInstanceProfile`](crate::operation::create_instance_profile::builders::CreateInstanceProfileFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`availability_zone(impl Into<String>)`](crate::operation::create_instance_profile::builders::CreateInstanceProfileFluentBuilder::availability_zone) / [`set_availability_zone(Option<String>)`](crate::operation::create_instance_profile::builders::CreateInstanceProfileFluentBuilder::set_availability_zone):<br>required: **false**<br><p>The Availability Zone where the instance profile will be created. The default value is a random, system-chosen Availability Zone in the Amazon Web Services Region where your data provider is created, for examplem <code>us-east-1d</code>.</p><br>
/// - [`kms_key_arn(impl Into<String>)`](crate::operation::create_instance_profile::builders::CreateInstanceProfileFluentBuilder::kms_key_arn) / [`set_kms_key_arn(Option<String>)`](crate::operation::create_instance_profile::builders::CreateInstanceProfileFluentBuilder::set_kms_key_arn):<br>required: **false**<br><p>The Amazon Resource Name (ARN) of the KMS key that is used to encrypt the connection parameters for the instance profile.</p> <p>If you don't specify a value for the <code>KmsKeyArn</code> parameter, then DMS uses your default encryption key.</p> <p>KMS creates the default encryption key for your Amazon Web Services account. Your Amazon Web Services account has a different default encryption key for each Amazon Web Services Region.</p><br>
/// - [`publicly_accessible(bool)`](crate::operation::create_instance_profile::builders::CreateInstanceProfileFluentBuilder::publicly_accessible) / [`set_publicly_accessible(Option<bool>)`](crate::operation::create_instance_profile::builders::CreateInstanceProfileFluentBuilder::set_publicly_accessible):<br>required: **false**<br><p>Specifies the accessibility options for the instance profile. A value of <code>true</code> represents an instance profile with a public IP address. A value of <code>false</code> represents an instance profile with a private IP address. The default value is <code>true</code>.</p><br>
/// - [`tags(Tag)`](crate::operation::create_instance_profile::builders::CreateInstanceProfileFluentBuilder::tags) / [`set_tags(Option<Vec::<Tag>>)`](crate::operation::create_instance_profile::builders::CreateInstanceProfileFluentBuilder::set_tags):<br>required: **false**<br><p>One or more tags to be assigned to the instance profile.</p><br>
/// - [`network_type(impl Into<String>)`](crate::operation::create_instance_profile::builders::CreateInstanceProfileFluentBuilder::network_type) / [`set_network_type(Option<String>)`](crate::operation::create_instance_profile::builders::CreateInstanceProfileFluentBuilder::set_network_type):<br>required: **false**<br><p>Specifies the network type for the instance profile. A value of <code>IPV4</code> represents an instance profile with IPv4 network type and only supports IPv4 addressing. A value of <code>IPV6</code> represents an instance profile with IPv6 network type and only supports IPv6 addressing. A value of <code>DUAL</code> represents an instance profile with dual network type that supports IPv4 and IPv6 addressing.</p><br>
/// - [`instance_profile_name(impl Into<String>)`](crate::operation::create_instance_profile::builders::CreateInstanceProfileFluentBuilder::instance_profile_name) / [`set_instance_profile_name(Option<String>)`](crate::operation::create_instance_profile::builders::CreateInstanceProfileFluentBuilder::set_instance_profile_name):<br>required: **false**<br><p>A user-friendly name for the instance profile.</p><br>
/// - [`description(impl Into<String>)`](crate::operation::create_instance_profile::builders::CreateInstanceProfileFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::create_instance_profile::builders::CreateInstanceProfileFluentBuilder::set_description):<br>required: **false**<br><p>A user-friendly description of the instance profile.</p><br>
/// - [`subnet_group_identifier(impl Into<String>)`](crate::operation::create_instance_profile::builders::CreateInstanceProfileFluentBuilder::subnet_group_identifier) / [`set_subnet_group_identifier(Option<String>)`](crate::operation::create_instance_profile::builders::CreateInstanceProfileFluentBuilder::set_subnet_group_identifier):<br>required: **false**<br><p>A subnet group to associate with the instance profile.</p><br>
/// - [`vpc_security_groups(impl Into<String>)`](crate::operation::create_instance_profile::builders::CreateInstanceProfileFluentBuilder::vpc_security_groups) / [`set_vpc_security_groups(Option<Vec::<String>>)`](crate::operation::create_instance_profile::builders::CreateInstanceProfileFluentBuilder::set_vpc_security_groups):<br>required: **false**<br><p>Specifies the VPC security group names to be used with the instance profile. The VPC security group must work with the VPC containing the instance profile.</p><br>
/// - On success, responds with [`CreateInstanceProfileOutput`](crate::operation::create_instance_profile::CreateInstanceProfileOutput) with field(s):
/// - [`instance_profile(Option<InstanceProfile>)`](crate::operation::create_instance_profile::CreateInstanceProfileOutput::instance_profile): <p>The instance profile that was created.</p>
/// - On failure, responds with [`SdkError<CreateInstanceProfileError>`](crate::operation::create_instance_profile::CreateInstanceProfileError)
pub fn create_instance_profile(&self) -> crate::operation::create_instance_profile::builders::CreateInstanceProfileFluentBuilder {
crate::operation::create_instance_profile::builders::CreateInstanceProfileFluentBuilder::new(self.handle.clone())
}
}