aws-sdk-ssm 1.112.0

AWS SDK for Amazon Simple Systems Manager (SSM)
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
pub use crate::operation::describe_patch_properties::_describe_patch_properties_input::DescribePatchPropertiesInputBuilder;

pub use crate::operation::describe_patch_properties::_describe_patch_properties_output::DescribePatchPropertiesOutputBuilder;

impl crate::operation::describe_patch_properties::builders::DescribePatchPropertiesInputBuilder {
    /// Sends a request with this input using the given client.
    pub async fn send_with(
        self,
        client: &crate::Client,
    ) -> ::std::result::Result<
        crate::operation::describe_patch_properties::DescribePatchPropertiesOutput,
        ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::describe_patch_properties::DescribePatchPropertiesError,
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
        >,
    > {
        let mut fluent_builder = client.describe_patch_properties();
        fluent_builder.inner = self;
        fluent_builder.send().await
    }
}
/// Fluent builder constructing a request to `DescribePatchProperties`.
///
/// <p>Lists the properties of available patches organized by product, product family, classification, severity, and other properties of available patches. You can use the reported properties in the filters you specify in requests for operations such as <code>CreatePatchBaseline</code>, <code>UpdatePatchBaseline</code>, <code>DescribeAvailablePatches</code>, and <code>DescribePatchBaselines</code>.</p>
/// <p>The following section lists the properties that can be used in filters for each major operating system type:</p>
/// <dl>
/// <dt>
/// AMAZON_LINUX
/// </dt>
/// <dd>
/// <p>Valid properties: <code>PRODUCT</code> | <code>CLASSIFICATION</code> | <code>SEVERITY</code></p>
/// </dd>
/// <dt>
/// AMAZON_LINUX_2
/// </dt>
/// <dd>
/// <p>Valid properties: <code>PRODUCT</code> | <code>CLASSIFICATION</code> | <code>SEVERITY</code></p>
/// </dd>
/// <dt>
/// AMAZON_LINUX_2023
/// </dt>
/// <dd>
/// <p>Valid properties: <code>PRODUCT</code> | <code>CLASSIFICATION</code> | <code>SEVERITY</code></p>
/// </dd>
/// <dt>
/// CENTOS
/// </dt>
/// <dd>
/// <p>Valid properties: <code>PRODUCT</code> | <code>CLASSIFICATION</code> | <code>SEVERITY</code></p>
/// </dd>
/// <dt>
/// DEBIAN
/// </dt>
/// <dd>
/// <p>Valid properties: <code>PRODUCT</code> | <code>PRIORITY</code></p>
/// </dd>
/// <dt>
/// MACOS
/// </dt>
/// <dd>
/// <p>Valid properties: <code>PRODUCT</code> | <code>CLASSIFICATION</code></p>
/// </dd>
/// <dt>
/// ORACLE_LINUX
/// </dt>
/// <dd>
/// <p>Valid properties: <code>PRODUCT</code> | <code>CLASSIFICATION</code> | <code>SEVERITY</code></p>
/// </dd>
/// <dt>
/// REDHAT_ENTERPRISE_LINUX
/// </dt>
/// <dd>
/// <p>Valid properties: <code>PRODUCT</code> | <code>CLASSIFICATION</code> | <code>SEVERITY</code></p>
/// </dd>
/// <dt>
/// SUSE
/// </dt>
/// <dd>
/// <p>Valid properties: <code>PRODUCT</code> | <code>CLASSIFICATION</code> | <code>SEVERITY</code></p>
/// </dd>
/// <dt>
/// UBUNTU
/// </dt>
/// <dd>
/// <p>Valid properties: <code>PRODUCT</code> | <code>PRIORITY</code></p>
/// </dd>
/// <dt>
/// WINDOWS
/// </dt>
/// <dd>
/// <p>Valid properties: <code>PRODUCT</code> | <code>PRODUCT_FAMILY</code> | <code>CLASSIFICATION</code> | <code>MSRC_SEVERITY</code></p>
/// </dd>
/// </dl>
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
pub struct DescribePatchPropertiesFluentBuilder {
    handle: ::std::sync::Arc<crate::client::Handle>,
    inner: crate::operation::describe_patch_properties::builders::DescribePatchPropertiesInputBuilder,
    config_override: ::std::option::Option<crate::config::Builder>,
}
impl
    crate::client::customize::internal::CustomizableSend<
        crate::operation::describe_patch_properties::DescribePatchPropertiesOutput,
        crate::operation::describe_patch_properties::DescribePatchPropertiesError,
    > for DescribePatchPropertiesFluentBuilder
{
    fn send(
        self,
        config_override: crate::config::Builder,
    ) -> crate::client::customize::internal::BoxFuture<
        crate::client::customize::internal::SendResult<
            crate::operation::describe_patch_properties::DescribePatchPropertiesOutput,
            crate::operation::describe_patch_properties::DescribePatchPropertiesError,
        >,
    > {
        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
    }
}
impl DescribePatchPropertiesFluentBuilder {
    /// Creates a new `DescribePatchPropertiesFluentBuilder`.
    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
        Self {
            handle,
            inner: ::std::default::Default::default(),
            config_override: ::std::option::Option::None,
        }
    }
    /// Access the DescribePatchProperties as a reference.
    pub fn as_input(&self) -> &crate::operation::describe_patch_properties::builders::DescribePatchPropertiesInputBuilder {
        &self.inner
    }
    /// Sends the request and returns the response.
    ///
    /// If an error occurs, an `SdkError` will be returned with additional details that
    /// can be matched against.
    ///
    /// By default, any retryable failures will be retried twice. Retry behavior
    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
    /// set when configuring the client.
    pub async fn send(
        self,
    ) -> ::std::result::Result<
        crate::operation::describe_patch_properties::DescribePatchPropertiesOutput,
        ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::describe_patch_properties::DescribePatchPropertiesError,
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
        >,
    > {
        let input = self
            .inner
            .build()
            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
        let runtime_plugins = crate::operation::describe_patch_properties::DescribePatchProperties::operation_runtime_plugins(
            self.handle.runtime_plugins.clone(),
            &self.handle.conf,
            self.config_override,
        );
        crate::operation::describe_patch_properties::DescribePatchProperties::orchestrate(&runtime_plugins, input).await
    }

    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
    pub fn customize(
        self,
    ) -> crate::client::customize::CustomizableOperation<
        crate::operation::describe_patch_properties::DescribePatchPropertiesOutput,
        crate::operation::describe_patch_properties::DescribePatchPropertiesError,
        Self,
    > {
        crate::client::customize::CustomizableOperation::new(self)
    }
    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
        self.set_config_override(::std::option::Option::Some(config_override.into()));
        self
    }

    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
        self.config_override = config_override;
        self
    }
    /// Create a paginator for this request
    ///
    /// Paginators are used by calling [`send().await`](crate::operation::describe_patch_properties::paginator::DescribePatchPropertiesPaginator::send) which returns a [`PaginationStream`](aws_smithy_async::future::pagination_stream::PaginationStream).
    pub fn into_paginator(self) -> crate::operation::describe_patch_properties::paginator::DescribePatchPropertiesPaginator {
        crate::operation::describe_patch_properties::paginator::DescribePatchPropertiesPaginator::new(self.handle, self.inner)
    }
    /// <p>The operating system type for which to list patches.</p>
    pub fn operating_system(mut self, input: crate::types::OperatingSystem) -> Self {
        self.inner = self.inner.operating_system(input);
        self
    }
    /// <p>The operating system type for which to list patches.</p>
    pub fn set_operating_system(mut self, input: ::std::option::Option<crate::types::OperatingSystem>) -> Self {
        self.inner = self.inner.set_operating_system(input);
        self
    }
    /// <p>The operating system type for which to list patches.</p>
    pub fn get_operating_system(&self) -> &::std::option::Option<crate::types::OperatingSystem> {
        self.inner.get_operating_system()
    }
    /// <p>The patch property for which you want to view patch details.</p>
    pub fn property(mut self, input: crate::types::PatchProperty) -> Self {
        self.inner = self.inner.property(input);
        self
    }
    /// <p>The patch property for which you want to view patch details.</p>
    pub fn set_property(mut self, input: ::std::option::Option<crate::types::PatchProperty>) -> Self {
        self.inner = self.inner.set_property(input);
        self
    }
    /// <p>The patch property for which you want to view patch details.</p>
    pub fn get_property(&self) -> &::std::option::Option<crate::types::PatchProperty> {
        self.inner.get_property()
    }
    /// <p>Indicates whether to list patches for the Windows operating system or for applications released by Microsoft. Not applicable for the Linux or macOS operating systems.</p>
    pub fn patch_set(mut self, input: crate::types::PatchSet) -> Self {
        self.inner = self.inner.patch_set(input);
        self
    }
    /// <p>Indicates whether to list patches for the Windows operating system or for applications released by Microsoft. Not applicable for the Linux or macOS operating systems.</p>
    pub fn set_patch_set(mut self, input: ::std::option::Option<crate::types::PatchSet>) -> Self {
        self.inner = self.inner.set_patch_set(input);
        self
    }
    /// <p>Indicates whether to list patches for the Windows operating system or for applications released by Microsoft. Not applicable for the Linux or macOS operating systems.</p>
    pub fn get_patch_set(&self) -> &::std::option::Option<crate::types::PatchSet> {
        self.inner.get_patch_set()
    }
    /// <p>The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.</p>
    pub fn max_results(mut self, input: i32) -> Self {
        self.inner = self.inner.max_results(input);
        self
    }
    /// <p>The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.</p>
    pub fn set_max_results(mut self, input: ::std::option::Option<i32>) -> Self {
        self.inner = self.inner.set_max_results(input);
        self
    }
    /// <p>The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.</p>
    pub fn get_max_results(&self) -> &::std::option::Option<i32> {
        self.inner.get_max_results()
    }
    /// <p>The token for the next set of items to return. (You received this token from a previous call.)</p>
    pub fn next_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.inner = self.inner.next_token(input.into());
        self
    }
    /// <p>The token for the next set of items to return. (You received this token from a previous call.)</p>
    pub fn set_next_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.inner = self.inner.set_next_token(input);
        self
    }
    /// <p>The token for the next set of items to return. (You received this token from a previous call.)</p>
    pub fn get_next_token(&self) -> &::std::option::Option<::std::string::String> {
        self.inner.get_next_token()
    }
}