// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`CreateIpamRoutingPolicyRegistration`](crate::operation::create_ipam_routing_policy_registration::builders::CreateIpamRoutingPolicyRegistrationFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`dry_run(bool)`](crate::operation::create_ipam_routing_policy_registration::builders::CreateIpamRoutingPolicyRegistrationFluentBuilder::dry_run) / [`set_dry_run(Option<bool>)`](crate::operation::create_ipam_routing_policy_registration::builders::CreateIpamRoutingPolicyRegistrationFluentBuilder::set_dry_run):<br>required: **false**<br><p>Checks whether you have the required permissions for the operation, without actually making the request, and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p><br>
/// - [`ipam_internet_registry_association_id(impl Into<String>)`](crate::operation::create_ipam_routing_policy_registration::builders::CreateIpamRoutingPolicyRegistrationFluentBuilder::ipam_internet_registry_association_id) / [`set_ipam_internet_registry_association_id(Option<String>)`](crate::operation::create_ipam_routing_policy_registration::builders::CreateIpamRoutingPolicyRegistrationFluentBuilder::set_ipam_internet_registry_association_id):<br>required: **true**<br><p>The ID of the IPAM internet registry association.</p><br>
/// - [`cidr(impl Into<String>)`](crate::operation::create_ipam_routing_policy_registration::builders::CreateIpamRoutingPolicyRegistrationFluentBuilder::cidr) / [`set_cidr(Option<String>)`](crate::operation::create_ipam_routing_policy_registration::builders::CreateIpamRoutingPolicyRegistrationFluentBuilder::set_cidr):<br>required: **true**<br><p>The IP address prefix in CIDR notation to authorize in the ROA.</p><br>
/// - [`asns(impl Into<String>)`](crate::operation::create_ipam_routing_policy_registration::builders::CreateIpamRoutingPolicyRegistrationFluentBuilder::asns) / [`set_asns(Option<Vec::<String>>)`](crate::operation::create_ipam_routing_policy_registration::builders::CreateIpamRoutingPolicyRegistrationFluentBuilder::set_asns):<br>required: **true**<br><p>The Autonomous System Numbers (ASNs) authorized to originate the prefix.</p><br>
/// - [`permit_more_specific_announcements(bool)`](crate::operation::create_ipam_routing_policy_registration::builders::CreateIpamRoutingPolicyRegistrationFluentBuilder::permit_more_specific_announcements) / [`set_permit_more_specific_announcements(Option<bool>)`](crate::operation::create_ipam_routing_policy_registration::builders::CreateIpamRoutingPolicyRegistrationFluentBuilder::set_permit_more_specific_announcements):<br>required: **false**<br><p>Specifies whether to permit more specific route announcements than the CIDR prefix. When enabled, ASNs can announce sub-prefixes of the authorized CIDR up to the specified maximum length. Default: <code>false</code>.</p><br>
/// - [`max_length(i32)`](crate::operation::create_ipam_routing_policy_registration::builders::CreateIpamRoutingPolicyRegistrationFluentBuilder::max_length) / [`set_max_length(Option<i32>)`](crate::operation::create_ipam_routing_policy_registration::builders::CreateIpamRoutingPolicyRegistrationFluentBuilder::set_max_length):<br>required: **false**<br><p>The maximum prefix length that the ASNs are authorized to announce. Must be greater than or equal to the prefix length of the CIDR. If not specified, defaults to the prefix length of the CIDR (exact match only).</p><br>
/// - [`description(impl Into<String>)`](crate::operation::create_ipam_routing_policy_registration::builders::CreateIpamRoutingPolicyRegistrationFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::create_ipam_routing_policy_registration::builders::CreateIpamRoutingPolicyRegistrationFluentBuilder::set_description):<br>required: **false**<br><p>A description for the routing policy registration.</p><br>
/// - [`force(bool)`](crate::operation::create_ipam_routing_policy_registration::builders::CreateIpamRoutingPolicyRegistrationFluentBuilder::force) / [`set_force(Option<bool>)`](crate::operation::create_ipam_routing_policy_registration::builders::CreateIpamRoutingPolicyRegistrationFluentBuilder::set_force):<br>required: **false**<br><p>Forces the creation of the routing policy registration even if it conflicts with an announced route. Default: <code>false</code>.</p><br>
/// - [`client_token(impl Into<String>)`](crate::operation::create_ipam_routing_policy_registration::builders::CreateIpamRoutingPolicyRegistrationFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::create_ipam_routing_policy_registration::builders::CreateIpamRoutingPolicyRegistrationFluentBuilder::set_client_token):<br>required: **false**<br><p>A unique, case-sensitive identifier to ensure that the operation completes no more than one time. If this token matches a previous request, the operation ignores the request, but does not return an error.</p><br>
/// - On success, responds with [`CreateIpamRoutingPolicyRegistrationOutput`](crate::operation::create_ipam_routing_policy_registration::CreateIpamRoutingPolicyRegistrationOutput) with field(s):
/// - [`ipam_routing_policy_registration_delta(Option<IpamRoutingPolicyRegistrationDelta>)`](crate::operation::create_ipam_routing_policy_registration::CreateIpamRoutingPolicyRegistrationOutput::ipam_routing_policy_registration_delta): <p>Information about the routing policy registration delta created by this operation.</p>
/// - On failure, responds with [`SdkError<CreateIpamRoutingPolicyRegistrationError>`](crate::operation::create_ipam_routing_policy_registration::CreateIpamRoutingPolicyRegistrationError)
pub fn create_ipam_routing_policy_registration(
&self,
) -> crate::operation::create_ipam_routing_policy_registration::builders::CreateIpamRoutingPolicyRegistrationFluentBuilder {
crate::operation::create_ipam_routing_policy_registration::builders::CreateIpamRoutingPolicyRegistrationFluentBuilder::new(
self.handle.clone(),
)
}
}