aws-sdk-licensemanagerlinuxsubscriptions 1.99.0

AWS SDK for AWS License Manager Linux Subscriptions
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)]
pub struct RegisterSubscriptionProviderInput {
    /// <p>The supported Linux subscription provider to register.</p>
    pub subscription_provider_source: ::std::option::Option<crate::types::SubscriptionProviderSource>,
    /// <p>The Amazon Resource Name (ARN) of the secret where you've stored your subscription provider's access token. For RHEL subscriptions managed through the Red Hat Subscription Manager (RHSM), the secret contains your Red Hat Offline token.</p>
    pub secret_arn: ::std::option::Option<::std::string::String>,
    /// <p>The metadata tags to assign to your registered Linux subscription provider resource.</p>
    pub tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
}
impl RegisterSubscriptionProviderInput {
    /// <p>The supported Linux subscription provider to register.</p>
    pub fn subscription_provider_source(&self) -> ::std::option::Option<&crate::types::SubscriptionProviderSource> {
        self.subscription_provider_source.as_ref()
    }
    /// <p>The Amazon Resource Name (ARN) of the secret where you've stored your subscription provider's access token. For RHEL subscriptions managed through the Red Hat Subscription Manager (RHSM), the secret contains your Red Hat Offline token.</p>
    pub fn secret_arn(&self) -> ::std::option::Option<&str> {
        self.secret_arn.as_deref()
    }
    /// <p>The metadata tags to assign to your registered Linux subscription provider resource.</p>
    pub fn tags(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
        self.tags.as_ref()
    }
}
impl ::std::fmt::Debug for RegisterSubscriptionProviderInput {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        let mut formatter = f.debug_struct("RegisterSubscriptionProviderInput");
        formatter.field("subscription_provider_source", &self.subscription_provider_source);
        formatter.field("secret_arn", &self.secret_arn);
        formatter.field("tags", &"*** Sensitive Data Redacted ***");
        formatter.finish()
    }
}
impl RegisterSubscriptionProviderInput {
    /// Creates a new builder-style object to manufacture [`RegisterSubscriptionProviderInput`](crate::operation::register_subscription_provider::RegisterSubscriptionProviderInput).
    pub fn builder() -> crate::operation::register_subscription_provider::builders::RegisterSubscriptionProviderInputBuilder {
        crate::operation::register_subscription_provider::builders::RegisterSubscriptionProviderInputBuilder::default()
    }
}

/// A builder for [`RegisterSubscriptionProviderInput`](crate::operation::register_subscription_provider::RegisterSubscriptionProviderInput).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
#[non_exhaustive]
pub struct RegisterSubscriptionProviderInputBuilder {
    pub(crate) subscription_provider_source: ::std::option::Option<crate::types::SubscriptionProviderSource>,
    pub(crate) secret_arn: ::std::option::Option<::std::string::String>,
    pub(crate) tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
}
impl RegisterSubscriptionProviderInputBuilder {
    /// <p>The supported Linux subscription provider to register.</p>
    /// This field is required.
    pub fn subscription_provider_source(mut self, input: crate::types::SubscriptionProviderSource) -> Self {
        self.subscription_provider_source = ::std::option::Option::Some(input);
        self
    }
    /// <p>The supported Linux subscription provider to register.</p>
    pub fn set_subscription_provider_source(mut self, input: ::std::option::Option<crate::types::SubscriptionProviderSource>) -> Self {
        self.subscription_provider_source = input;
        self
    }
    /// <p>The supported Linux subscription provider to register.</p>
    pub fn get_subscription_provider_source(&self) -> &::std::option::Option<crate::types::SubscriptionProviderSource> {
        &self.subscription_provider_source
    }
    /// <p>The Amazon Resource Name (ARN) of the secret where you've stored your subscription provider's access token. For RHEL subscriptions managed through the Red Hat Subscription Manager (RHSM), the secret contains your Red Hat Offline token.</p>
    /// This field is required.
    pub fn secret_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.secret_arn = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The Amazon Resource Name (ARN) of the secret where you've stored your subscription provider's access token. For RHEL subscriptions managed through the Red Hat Subscription Manager (RHSM), the secret contains your Red Hat Offline token.</p>
    pub fn set_secret_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.secret_arn = input;
        self
    }
    /// <p>The Amazon Resource Name (ARN) of the secret where you've stored your subscription provider's access token. For RHEL subscriptions managed through the Red Hat Subscription Manager (RHSM), the secret contains your Red Hat Offline token.</p>
    pub fn get_secret_arn(&self) -> &::std::option::Option<::std::string::String> {
        &self.secret_arn
    }
    /// Adds a key-value pair to `tags`.
    ///
    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
    ///
    /// <p>The metadata tags to assign to your registered Linux subscription provider resource.</p>
    pub fn tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
        let mut hash_map = self.tags.unwrap_or_default();
        hash_map.insert(k.into(), v.into());
        self.tags = ::std::option::Option::Some(hash_map);
        self
    }
    /// <p>The metadata tags to assign to your registered Linux subscription provider resource.</p>
    pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
        self.tags = input;
        self
    }
    /// <p>The metadata tags to assign to your registered Linux subscription provider resource.</p>
    pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
        &self.tags
    }
    /// Consumes the builder and constructs a [`RegisterSubscriptionProviderInput`](crate::operation::register_subscription_provider::RegisterSubscriptionProviderInput).
    pub fn build(
        self,
    ) -> ::std::result::Result<
        crate::operation::register_subscription_provider::RegisterSubscriptionProviderInput,
        ::aws_smithy_types::error::operation::BuildError,
    > {
        ::std::result::Result::Ok(crate::operation::register_subscription_provider::RegisterSubscriptionProviderInput {
            subscription_provider_source: self.subscription_provider_source,
            secret_arn: self.secret_arn,
            tags: self.tags,
        })
    }
}
impl ::std::fmt::Debug for RegisterSubscriptionProviderInputBuilder {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        let mut formatter = f.debug_struct("RegisterSubscriptionProviderInputBuilder");
        formatter.field("subscription_provider_source", &self.subscription_provider_source);
        formatter.field("secret_arn", &self.secret_arn);
        formatter.field("tags", &"*** Sensitive Data Redacted ***");
        formatter.finish()
    }
}