aws-sdk-ec2 1.224.0

AWS SDK for Amazon Elastic Compute Cloud
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct DeleteIpamPolicyOutput {
    /// <p>Information about the deleted IPAM policy.</p>
    /// <p>An IPAM policy is a set of rules that define how public IPv4 addresses from IPAM pools are allocated to Amazon Web Services resources. Each rule maps an Amazon Web Services service to IPAM pools that the service will use to get IP addresses. A single policy can have multiple rules and be applied to multiple Amazon Web Services Regions. If the IPAM pool run out of addresses then the services fallback to Amazon-provided IP addresses. A policy can be applied to an individual Amazon Web Services account or an entity within Amazon Web Services Organizations.</p>
    pub ipam_policy: ::std::option::Option<crate::types::IpamPolicy>,
    _request_id: Option<String>,
}
impl DeleteIpamPolicyOutput {
    /// <p>Information about the deleted IPAM policy.</p>
    /// <p>An IPAM policy is a set of rules that define how public IPv4 addresses from IPAM pools are allocated to Amazon Web Services resources. Each rule maps an Amazon Web Services service to IPAM pools that the service will use to get IP addresses. A single policy can have multiple rules and be applied to multiple Amazon Web Services Regions. If the IPAM pool run out of addresses then the services fallback to Amazon-provided IP addresses. A policy can be applied to an individual Amazon Web Services account or an entity within Amazon Web Services Organizations.</p>
    pub fn ipam_policy(&self) -> ::std::option::Option<&crate::types::IpamPolicy> {
        self.ipam_policy.as_ref()
    }
}
impl ::aws_types::request_id::RequestId for DeleteIpamPolicyOutput {
    fn request_id(&self) -> Option<&str> {
        self._request_id.as_deref()
    }
}
impl DeleteIpamPolicyOutput {
    /// Creates a new builder-style object to manufacture [`DeleteIpamPolicyOutput`](crate::operation::delete_ipam_policy::DeleteIpamPolicyOutput).
    pub fn builder() -> crate::operation::delete_ipam_policy::builders::DeleteIpamPolicyOutputBuilder {
        crate::operation::delete_ipam_policy::builders::DeleteIpamPolicyOutputBuilder::default()
    }
}

/// A builder for [`DeleteIpamPolicyOutput`](crate::operation::delete_ipam_policy::DeleteIpamPolicyOutput).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct DeleteIpamPolicyOutputBuilder {
    pub(crate) ipam_policy: ::std::option::Option<crate::types::IpamPolicy>,
    _request_id: Option<String>,
}
impl DeleteIpamPolicyOutputBuilder {
    /// <p>Information about the deleted IPAM policy.</p>
    /// <p>An IPAM policy is a set of rules that define how public IPv4 addresses from IPAM pools are allocated to Amazon Web Services resources. Each rule maps an Amazon Web Services service to IPAM pools that the service will use to get IP addresses. A single policy can have multiple rules and be applied to multiple Amazon Web Services Regions. If the IPAM pool run out of addresses then the services fallback to Amazon-provided IP addresses. A policy can be applied to an individual Amazon Web Services account or an entity within Amazon Web Services Organizations.</p>
    pub fn ipam_policy(mut self, input: crate::types::IpamPolicy) -> Self {
        self.ipam_policy = ::std::option::Option::Some(input);
        self
    }
    /// <p>Information about the deleted IPAM policy.</p>
    /// <p>An IPAM policy is a set of rules that define how public IPv4 addresses from IPAM pools are allocated to Amazon Web Services resources. Each rule maps an Amazon Web Services service to IPAM pools that the service will use to get IP addresses. A single policy can have multiple rules and be applied to multiple Amazon Web Services Regions. If the IPAM pool run out of addresses then the services fallback to Amazon-provided IP addresses. A policy can be applied to an individual Amazon Web Services account or an entity within Amazon Web Services Organizations.</p>
    pub fn set_ipam_policy(mut self, input: ::std::option::Option<crate::types::IpamPolicy>) -> Self {
        self.ipam_policy = input;
        self
    }
    /// <p>Information about the deleted IPAM policy.</p>
    /// <p>An IPAM policy is a set of rules that define how public IPv4 addresses from IPAM pools are allocated to Amazon Web Services resources. Each rule maps an Amazon Web Services service to IPAM pools that the service will use to get IP addresses. A single policy can have multiple rules and be applied to multiple Amazon Web Services Regions. If the IPAM pool run out of addresses then the services fallback to Amazon-provided IP addresses. A policy can be applied to an individual Amazon Web Services account or an entity within Amazon Web Services Organizations.</p>
    pub fn get_ipam_policy(&self) -> &::std::option::Option<crate::types::IpamPolicy> {
        &self.ipam_policy
    }
    pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
        self._request_id = Some(request_id.into());
        self
    }

    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
        self._request_id = request_id;
        self
    }
    /// Consumes the builder and constructs a [`DeleteIpamPolicyOutput`](crate::operation::delete_ipam_policy::DeleteIpamPolicyOutput).
    pub fn build(self) -> crate::operation::delete_ipam_policy::DeleteIpamPolicyOutput {
        crate::operation::delete_ipam_policy::DeleteIpamPolicyOutput {
            ipam_policy: self.ipam_policy,
            _request_id: self._request_id,
        }
    }
}