AWS SDK

AWS SDK

rev. aa190e630077955f0bc8f58dee6a16530c1e0578

Files changed:

tmp-codegen-diff/aws-sdk/index.md

@@ -1,1 +29,30 @@
   17     17   
| Amazon CloudWatch Logs | [aws-sdk-cloudwatchlogs](https://crates.io/crates/aws-sdk-cloudwatchlogs) ([docs](https://docs.rs/aws-sdk-cloudwatchlogs)) |
   18     18   
| Amazon CodeCatalyst | [aws-sdk-codecatalyst](https://crates.io/crates/aws-sdk-codecatalyst) ([docs](https://docs.rs/aws-sdk-codecatalyst)) |
   19     19   
| Amazon DynamoDB | [aws-sdk-dynamodb](https://crates.io/crates/aws-sdk-dynamodb) ([docs](https://docs.rs/aws-sdk-dynamodb)) |
   20     20   
| Amazon EC2 Container Service | [aws-sdk-ecs](https://crates.io/crates/aws-sdk-ecs) ([docs](https://docs.rs/aws-sdk-ecs)) |
   21     21   
| Amazon Elastic Compute Cloud | [aws-sdk-ec2](https://crates.io/crates/aws-sdk-ec2) ([docs](https://docs.rs/aws-sdk-ec2)) |
   22     22   
| Amazon Glacier | [aws-sdk-glacier](https://crates.io/crates/aws-sdk-glacier) ([docs](https://docs.rs/aws-sdk-glacier)) |
   23     23   
| Amazon Polly | [aws-sdk-polly](https://crates.io/crates/aws-sdk-polly) ([docs](https://docs.rs/aws-sdk-polly)) |
   24     24   
| Amazon Route 53 | [aws-sdk-route53](https://crates.io/crates/aws-sdk-route53) ([docs](https://docs.rs/aws-sdk-route53)) |
   25     25   
| Amazon Simple Queue Service | [aws-sdk-sqs](https://crates.io/crates/aws-sdk-sqs) ([docs](https://docs.rs/aws-sdk-sqs)) |
   26     26   
| Amazon Simple Storage Service | [aws-sdk-s3](https://crates.io/crates/aws-sdk-s3) ([docs](https://docs.rs/aws-sdk-s3)) |
          27  +
| Amazon Simple Systems Manager (SSM) | [aws-sdk-ssm](https://crates.io/crates/aws-sdk-ssm) ([docs](https://docs.rs/aws-sdk-ssm)) |
   27     28   
| Amazon Timestream Query | [aws-sdk-timestreamquery](https://crates.io/crates/aws-sdk-timestreamquery) ([docs](https://docs.rs/aws-sdk-timestreamquery)) |
   28     29   
| Amazon Timestream Write | [aws-sdk-timestreamwrite](https://crates.io/crates/aws-sdk-timestreamwrite) ([docs](https://docs.rs/aws-sdk-timestreamwrite)) |
   29     30   
| Amazon Transcribe Streaming Service | [aws-sdk-transcribestreaming](https://crates.io/crates/aws-sdk-transcribestreaming) ([docs](https://docs.rs/aws-sdk-transcribestreaming)) |

tmp-codegen-diff/aws-sdk/sdk/ssm/Cargo.toml

@@ -0,1 +0,109 @@
           1  +
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
[package]
           3  +
name = "aws-sdk-ssm"
           4  +
version = "0.0.0-local"
           5  +
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
           6  +
description = "AWS SDK for Amazon Simple Systems Manager (SSM)"
           7  +
edition = "2021"
           8  +
license = "Apache-2.0"
           9  +
repository = "https://github.com/awslabs/aws-sdk-rust"
          10  +
rust-version = "1.94.1"
          11  +
readme = "README.md"
          12  +
[package.metadata.smithy]
          13  +
codegen-version = "ci"
          14  +
protocol = "aws.protocols#awsJson1_1"
          15  +
[package.metadata.docs.rs]
          16  +
all-features = true
          17  +
targets = ["x86_64-unknown-linux-gnu"]
          18  +
[dependencies.arc-swap]
          19  +
version = "1"
          20  +
          21  +
[dependencies.aws-credential-types]
          22  +
path = "../aws-credential-types"
          23  +
version = "1.3.0"
          24  +
          25  +
[dependencies.aws-runtime]
          26  +
path = "../aws-runtime"
          27  +
version = "1.9.3"
          28  +
          29  +
[dependencies.aws-smithy-async]
          30  +
path = "../aws-smithy-async"
          31  +
version = "1.3.0"
          32  +
          33  +
[dependencies.aws-smithy-http]
          34  +
path = "../aws-smithy-http"
          35  +
version = "0.64.0"
          36  +
          37  +
[dependencies.aws-smithy-json]
          38  +
path = "../aws-smithy-json"
          39  +
version = "0.64.0"
          40  +
          41  +
[dependencies.aws-smithy-observability]
          42  +
path = "../aws-smithy-observability"
          43  +
version = "0.3.0"
          44  +
          45  +
[dependencies.aws-smithy-runtime]
          46  +
path = "../aws-smithy-runtime"
          47  +
features = ["client"]
          48  +
version = "1.14.1"
          49  +
          50  +
[dependencies.aws-smithy-runtime-api]
          51  +
path = "../aws-smithy-runtime-api"
          52  +
features = ["client", "http-1x"]
          53  +
version = "1.16.1"
          54  +
          55  +
[dependencies.aws-smithy-schema]
          56  +
path = "../aws-smithy-schema"
          57  +
version = "0.3.0"
          58  +
          59  +
[dependencies.aws-smithy-types]
          60  +
path = "../aws-smithy-types"
          61  +
features = ["http-body-1-x"]
          62  +
version = "1.7.0"
          63  +
          64  +
[dependencies.aws-types]
          65  +
path = "../aws-types"
          66  +
version = "1.6.0"
          67  +
          68  +
[dependencies.fastrand]
          69  +
version = "2.0.0"
          70  +
          71  +
[dependencies.http]
          72  +
version = "0.2.9"
          73  +
          74  +
[dependencies.regex-lite]
          75  +
version = "0.1.5"
          76  +
          77  +
[dependencies.tracing]
          78  +
version = "0.1"
          79  +
[dev-dependencies.aws-config]
          80  +
path = "../aws-config"
          81  +
version = "1.12.0"
          82  +
          83  +
[dev-dependencies.aws-credential-types]
          84  +
path = "../aws-credential-types"
          85  +
features = ["test-util"]
          86  +
version = "1.3.0"
          87  +
          88  +
[dev-dependencies.http-1x]
          89  +
version = "1"
          90  +
package = "http"
          91  +
          92  +
[dev-dependencies.proptest]
          93  +
version = "1"
          94  +
          95  +
[dev-dependencies.tokio]
          96  +
version = "1.23.1"
          97  +
features = ["macros", "test-util", "rt-multi-thread"]
          98  +
          99  +
[features]
         100  +
behavior-version-latest = []
         101  +
rustls = ["aws-smithy-runtime/tls-rustls"]
         102  +
default-https-client = ["aws-smithy-runtime/default-https-client"]
         103  +
rt-tokio = ["aws-smithy-async/rt-tokio", "aws-smithy-types/rt-tokio"]
         104  +
test-util = ["aws-credential-types/test-util", "aws-smithy-runtime/legacy-test-util", "aws-smithy-runtime/test-util"]
         105  +
gated-tests = []
         106  +
default = ["rustls", "default-https-client", "rt-tokio"]
         107  +
         108  +
[hints]
         109  +
mostly-unused = true

tmp-codegen-diff/aws-sdk/sdk/ssm/LICENSE

@@ -0,1 +0,202 @@
           1  +
                                Apache License
           2  +
                           Version 2.0, January 2004
           3  +
                        http://www.apache.org/licenses/
           4  +
           5  +
   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
           6  +
           7  +
   1. Definitions.
           8  +
           9  +
      "License" shall mean the terms and conditions for use, reproduction,
          10  +
      and distribution as defined by Sections 1 through 9 of this document.
          11  +
          12  +
      "Licensor" shall mean the copyright owner or entity authorized by
          13  +
      the copyright owner that is granting the License.
          14  +
          15  +
      "Legal Entity" shall mean the union of the acting entity and all
          16  +
      other entities that control, are controlled by, or are under common
          17  +
      control with that entity. For the purposes of this definition,
          18  +
      "control" means (i) the power, direct or indirect, to cause the
          19  +
      direction or management of such entity, whether by contract or
          20  +
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
          21  +
      outstanding shares, or (iii) beneficial ownership of such entity.
          22  +
          23  +
      "You" (or "Your") shall mean an individual or Legal Entity
          24  +
      exercising permissions granted by this License.
          25  +
          26  +
      "Source" form shall mean the preferred form for making modifications,
          27  +
      including but not limited to software source code, documentation
          28  +
      source, and configuration files.
          29  +
          30  +
      "Object" form shall mean any form resulting from mechanical
          31  +
      transformation or translation of a Source form, including but
          32  +
      not limited to compiled object code, generated documentation,
          33  +
      and conversions to other media types.
          34  +
          35  +
      "Work" shall mean the work of authorship, whether in Source or
          36  +
      Object form, made available under the License, as indicated by a
          37  +
      copyright notice that is included in or attached to the work
          38  +
      (an example is provided in the Appendix below).
          39  +
          40  +
      "Derivative Works" shall mean any work, whether in Source or Object
          41  +
      form, that is based on (or derived from) the Work and for which the
          42  +
      editorial revisions, annotations, elaborations, or other modifications
          43  +
      represent, as a whole, an original work of authorship. For the purposes
          44  +
      of this License, Derivative Works shall not include works that remain
          45  +
      separable from, or merely link (or bind by name) to the interfaces of,
          46  +
      the Work and Derivative Works thereof.
          47  +
          48  +
      "Contribution" shall mean any work of authorship, including
          49  +
      the original version of the Work and any modifications or additions
          50  +
      to that Work or Derivative Works thereof, that is intentionally
          51  +
      submitted to Licensor for inclusion in the Work by the copyright owner
          52  +
      or by an individual or Legal Entity authorized to submit on behalf of
          53  +
      the copyright owner. For the purposes of this definition, "submitted"
          54  +
      means any form of electronic, verbal, or written communication sent
          55  +
      to the Licensor or its representatives, including but not limited to
          56  +
      communication on electronic mailing lists, source code control systems,
          57  +
      and issue tracking systems that are managed by, or on behalf of, the
          58  +
      Licensor for the purpose of discussing and improving the Work, but
          59  +
      excluding communication that is conspicuously marked or otherwise
          60  +
      designated in writing by the copyright owner as "Not a Contribution."
          61  +
          62  +
      "Contributor" shall mean Licensor and any individual or Legal Entity
          63  +
      on behalf of whom a Contribution has been received by Licensor and
          64  +
      subsequently incorporated within the Work.
          65  +
          66  +
   2. Grant of Copyright License. Subject to the terms and conditions of
          67  +
      this License, each Contributor hereby grants to You a perpetual,
          68  +
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
          69  +
      copyright license to reproduce, prepare Derivative Works of,
          70  +
      publicly display, publicly perform, sublicense, and distribute the
          71  +
      Work and such Derivative Works in Source or Object form.
          72  +
          73  +
   3. Grant of Patent License. Subject to the terms and conditions of
          74  +
      this License, each Contributor hereby grants to You a perpetual,
          75  +
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
          76  +
      (except as stated in this section) patent license to make, have made,
          77  +
      use, offer to sell, sell, import, and otherwise transfer the Work,
          78  +
      where such license applies only to those patent claims licensable
          79  +
      by such Contributor that are necessarily infringed by their
          80  +
      Contribution(s) alone or by combination of their Contribution(s)
          81  +
      with the Work to which such Contribution(s) was submitted. If You
          82  +
      institute patent litigation against any entity (including a
          83  +
      cross-claim or counterclaim in a lawsuit) alleging that the Work
          84  +
      or a Contribution incorporated within the Work constitutes direct
          85  +
      or contributory patent infringement, then any patent licenses
          86  +
      granted to You under this License for that Work shall terminate
          87  +
      as of the date such litigation is filed.
          88  +
          89  +
   4. Redistribution. You may reproduce and distribute copies of the
          90  +
      Work or Derivative Works thereof in any medium, with or without
          91  +
      modifications, and in Source or Object form, provided that You
          92  +
      meet the following conditions:
          93  +
          94  +
      (a) You must give any other recipients of the Work or
          95  +
          Derivative Works a copy of this License; and
          96  +
          97  +
      (b) You must cause any modified files to carry prominent notices
          98  +
          stating that You changed the files; and
          99  +
         100  +
      (c) You must retain, in the Source form of any Derivative Works
         101  +
          that You distribute, all copyright, patent, trademark, and
         102  +
          attribution notices from the Source form of the Work,
         103  +
          excluding those notices that do not pertain to any part of
         104  +
          the Derivative Works; and
         105  +
         106  +
      (d) If the Work includes a "NOTICE" text file as part of its
         107  +
          distribution, then any Derivative Works that You distribute must
         108  +
          include a readable copy of the attribution notices contained
         109  +
          within such NOTICE file, excluding those notices that do not
         110  +
          pertain to any part of the Derivative Works, in at least one
         111  +
          of the following places: within a NOTICE text file distributed
         112  +
          as part of the Derivative Works; within the Source form or
         113  +
          documentation, if provided along with the Derivative Works; or,
         114  +
          within a display generated by the Derivative Works, if and
         115  +
          wherever such third-party notices normally appear. The contents
         116  +
          of the NOTICE file are for informational purposes only and
         117  +
          do not modify the License. You may add Your own attribution
         118  +
          notices within Derivative Works that You distribute, alongside
         119  +
          or as an addendum to the NOTICE text from the Work, provided
         120  +
          that such additional attribution notices cannot be construed
         121  +
          as modifying the License.
         122  +
         123  +
      You may add Your own copyright statement to Your modifications and
         124  +
      may provide additional or different license terms and conditions
         125  +
      for use, reproduction, or distribution of Your modifications, or
         126  +
      for any such Derivative Works as a whole, provided Your use,
         127  +
      reproduction, and distribution of the Work otherwise complies with
         128  +
      the conditions stated in this License.
         129  +
         130  +
   5. Submission of Contributions. Unless You explicitly state otherwise,
         131  +
      any Contribution intentionally submitted for inclusion in the Work
         132  +
      by You to the Licensor shall be under the terms and conditions of
         133  +
      this License, without any additional terms or conditions.
         134  +
      Notwithstanding the above, nothing herein shall supersede or modify
         135  +
      the terms of any separate license agreement you may have executed
         136  +
      with Licensor regarding such Contributions.
         137  +
         138  +
   6. Trademarks. This License does not grant permission to use the trade
         139  +
      names, trademarks, service marks, or product names of the Licensor,
         140  +
      except as required for reasonable and customary use in describing the
         141  +
      origin of the Work and reproducing the content of the NOTICE file.
         142  +
         143  +
   7. Disclaimer of Warranty. Unless required by applicable law or
         144  +
      agreed to in writing, Licensor provides the Work (and each
         145  +
      Contributor provides its Contributions) on an "AS IS" BASIS,
         146  +
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
         147  +
      implied, including, without limitation, any warranties or conditions
         148  +
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
         149  +
      PARTICULAR PURPOSE. You are solely responsible for determining the
         150  +
      appropriateness of using or redistributing the Work and assume any
         151  +
      risks associated with Your exercise of permissions under this License.
         152  +
         153  +
   8. Limitation of Liability. In no event and under no legal theory,
         154  +
      whether in tort (including negligence), contract, or otherwise,
         155  +
      unless required by applicable law (such as deliberate and grossly
         156  +
      negligent acts) or agreed to in writing, shall any Contributor be
         157  +
      liable to You for damages, including any direct, indirect, special,
         158  +
      incidental, or consequential damages of any character arising as a
         159  +
      result of this License or out of the use or inability to use the
         160  +
      Work (including but not limited to damages for loss of goodwill,
         161  +
      work stoppage, computer failure or malfunction, or any and all
         162  +
      other commercial damages or losses), even if such Contributor
         163  +
      has been advised of the possibility of such damages.
         164  +
         165  +
   9. Accepting Warranty or Additional Liability. While redistributing
         166  +
      the Work or Derivative Works thereof, You may choose to offer,
         167  +
      and charge a fee for, acceptance of support, warranty, indemnity,
         168  +
      or other liability obligations and/or rights consistent with this
         169  +
      License. However, in accepting such obligations, You may act only
         170  +
      on Your own behalf and on Your sole responsibility, not on behalf
         171  +
      of any other Contributor, and only if You agree to indemnify,
         172  +
      defend, and hold each Contributor harmless for any liability
         173  +
      incurred by, or claims asserted against, such Contributor by reason
         174  +
      of your accepting any such warranty or additional liability.
         175  +
         176  +
   END OF TERMS AND CONDITIONS
         177  +
         178  +
   APPENDIX: How to apply the Apache License to your work.
         179  +
         180  +
      To apply the Apache License to your work, attach the following
         181  +
      boilerplate notice, with the fields enclosed by brackets "{}"
         182  +
      replaced with your own identifying information. (Don't include
         183  +
      the brackets!)  The text should be enclosed in the appropriate
         184  +
      comment syntax for the file format. We also recommend that a
         185  +
      file or class name and description of purpose be included on the
         186  +
      same "printed page" as the copyright notice for easier
         187  +
      identification within third-party archives.
         188  +
         189  +
   Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
         190  +
         191  +
   Licensed under the Apache License, Version 2.0 (the "License");
         192  +
   you may not use this file except in compliance with the License.
         193  +
   You may obtain a copy of the License at
         194  +
         195  +
       http://www.apache.org/licenses/LICENSE-2.0
         196  +
         197  +
   Unless required by applicable law or agreed to in writing, software
         198  +
   distributed under the License is distributed on an "AS IS" BASIS,
         199  +
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         200  +
   See the License for the specific language governing permissions and
         201  +
   limitations under the License.
         202  +

tmp-codegen-diff/aws-sdk/sdk/ssm/README.md

@@ -0,1 +0,64 @@
           1  +
# aws-sdk-ssm
           2  +
           3  +
Amazon Web Services Systems Manager is the operations hub for your Amazon Web Services applications and resources and a secure end-to-end management solution for hybrid cloud environments that enables safe and secure operations at scale.
           4  +
           5  +
This reference is intended to be used with the [Amazon Web Services Systems Manager User Guide](https://docs.aws.amazon.com/systems-manager/latest/userguide/). To get started, see [Setting up Amazon Web Services Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-setting-up-console.html).
           6  +
           7  +
__Related resources__
           8  +
  - For information about each of the tools that comprise Systems Manager, see [Using Systems Manager tools](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-tools.html) in the _Amazon Web Services Systems Manager User Guide_.
           9  +
  - For details about predefined runbooks for Automation, a tool in Amazon Web Services Systems Manager, see the _ [Systems Manager Automation Runbook Reference](https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-runbook-reference.html) _.
          10  +
  - For information about AppConfig, a tool in Systems Manager, see the _ [AppConfig User Guide](https://docs.aws.amazon.com/appconfig/latest/userguide/) _ and the _ [AppConfig API Reference](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/) _.
          11  +
  - For information about Incident Manager, a tool in Systems Manager, see the _ [Systems Manager Incident Manager User Guide](https://docs.aws.amazon.com/incident-manager/latest/userguide/) _ and the _ [Systems Manager Incident Manager API Reference](https://docs.aws.amazon.com/incident-manager/latest/APIReference/) _.
          12  +
          13  +
## Getting Started
          14  +
          15  +
> Examples are available for many services and operations, check out the
          16  +
> [usage examples](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/rustv1).
          17  +
          18  +
The SDK provides one crate per AWS service. You must add [Tokio](https://crates.io/crates/tokio)
          19  +
as a dependency within your Rust project to execute asynchronous code. To add `aws-sdk-ssm` to
          20  +
your project, add the following to your **Cargo.toml** file:
          21  +
          22  +
```toml
          23  +
[dependencies]
          24  +
aws-config = { version = "1.1.7", features = ["behavior-version-latest"] }
          25  +
aws-sdk-ssm = "0.0.0-local"
          26  +
tokio = { version = "1", features = ["full"] }
          27  +
```
          28  +
          29  +
Then in code, a client can be created with the following:
          30  +
          31  +
```rust,no_run
          32  +
use aws_sdk_ssm as ssm;
          33  +
          34  +
#[::tokio::main]
          35  +
async fn main() -> Result<(), ssm::Error> {
          36  +
    let config = aws_config::load_from_env().await;
          37  +
    let client = aws_sdk_ssm::Client::new(&config);
          38  +
          39  +
    // ... make some calls with the client
          40  +
          41  +
    Ok(())
          42  +
}
          43  +
```
          44  +
          45  +
See the [client documentation](https://docs.rs/aws-sdk-ssm/latest/aws_sdk_ssm/client/struct.Client.html)
          46  +
for information on what calls can be made, and the inputs and outputs for each of those calls.
          47  +
          48  +
## Using the SDK
          49  +
          50  +
Until the SDK is released, we will be adding information about using the SDK to the
          51  +
[Developer Guide](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/welcome.html). Feel free to suggest
          52  +
additional sections for the guide by opening an issue and describing what you are trying to do.
          53  +
          54  +
## Getting Help
          55  +
          56  +
* [GitHub discussions](https://github.com/awslabs/aws-sdk-rust/discussions) - For ideas, RFCs & general questions
          57  +
* [GitHub issues](https://github.com/awslabs/aws-sdk-rust/issues/new/choose) - For bug reports & feature requests
          58  +
* [Generated Docs (latest version)](https://awslabs.github.io/aws-sdk-rust/)
          59  +
* [Usage examples](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/rustv1)
          60  +
          61  +
## License
          62  +
          63  +
This project is licensed under the Apache-2.0 License.
          64  +

tmp-codegen-diff/aws-sdk/sdk/ssm/src/client.rs

@@ -0,1 +0,538 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
#[derive(Debug)]
           3  +
pub(crate) struct Handle {
           4  +
    pub(crate) conf: crate::Config,
           5  +
    #[allow(dead_code)] // unused when a service does not provide any operations
           6  +
    pub(crate) runtime_plugins: ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins,
           7  +
}
           8  +
           9  +
/// Client for Amazon Simple Systems Manager (SSM)
          10  +
///
          11  +
/// Client for invoking operations on Amazon Simple Systems Manager (SSM). Each operation on Amazon Simple Systems Manager (SSM) is a method on this
          12  +
/// this struct. `.send()` MUST be invoked on the generated operations to dispatch the request to the service.
          13  +
/// ## Constructing a `Client`
          14  +
///
          15  +
/// A [`Config`] is required to construct a client. For most use cases, the [`aws-config`]
          16  +
/// crate should be used to automatically resolve this config using
          17  +
/// [`aws_config::load_from_env()`], since this will resolve an [`SdkConfig`] which can be shared
          18  +
/// across multiple different AWS SDK clients. This config resolution process can be customized
          19  +
/// by calling [`aws_config::from_env()`] instead, which returns a [`ConfigLoader`] that uses
          20  +
/// the [builder pattern] to customize the default config.
          21  +
///
          22  +
/// In the simplest case, creating a client looks as follows:
          23  +
/// ```rust,no_run
          24  +
/// # async fn wrapper() {
          25  +
/// let config = aws_config::load_from_env().await;
          26  +
/// let client = aws_sdk_ssm::Client::new(&config);
          27  +
/// # }
          28  +
/// ```
          29  +
///
          30  +
/// Occasionally, SDKs may have additional service-specific values that can be set on the [`Config`] that
          31  +
/// is absent from [`SdkConfig`], or slightly different settings for a specific client may be desired.
          32  +
/// The [`Builder`](crate::config::Builder) struct implements `From<&SdkConfig>`, so setting these specific settings can be
          33  +
/// done as follows:
          34  +
///
          35  +
/// ```rust,no_run
          36  +
/// # async fn wrapper() {
          37  +
/// let sdk_config = ::aws_config::load_from_env().await;
          38  +
/// let config = aws_sdk_ssm::config::Builder::from(&sdk_config)
          39  +
/// # /*
          40  +
///     .some_service_specific_setting("value")
          41  +
/// # */
          42  +
///     .build();
          43  +
/// # }
          44  +
/// ```
          45  +
///
          46  +
/// See the [`aws-config` docs] and [`Config`] for more information on customizing configuration.
          47  +
///
          48  +
/// _Note:_ Client construction is expensive due to connection thread pool initialization, and should
          49  +
/// be done once at application start-up.
          50  +
///
          51  +
/// [`Config`]: crate::Config
          52  +
/// [`ConfigLoader`]: https://docs.rs/aws-config/*/aws_config/struct.ConfigLoader.html
          53  +
/// [`SdkConfig`]: https://docs.rs/aws-config/*/aws_config/struct.SdkConfig.html
          54  +
/// [`aws-config` docs]: https://docs.rs/aws-config/*
          55  +
/// [`aws-config`]: https://crates.io/crates/aws-config
          56  +
/// [`aws_config::from_env()`]: https://docs.rs/aws-config/*/aws_config/fn.from_env.html
          57  +
/// [`aws_config::load_from_env()`]: https://docs.rs/aws-config/*/aws_config/fn.load_from_env.html
          58  +
/// [builder pattern]: https://rust-lang.github.io/api-guidelines/type-safety.html#builders-enable-construction-of-complex-values-c-builder
          59  +
/// # Using the `Client`
          60  +
///
          61  +
/// A client has a function for every operation that can be performed by the service.
          62  +
/// For example, the [`AddTagsToResource`](crate::operation::add_tags_to_resource) operation has
          63  +
/// a [`Client::add_tags_to_resource`], function which returns a builder for that operation.
          64  +
/// The fluent builder ultimately has a `send()` function that returns an async future that
          65  +
/// returns a result, as illustrated below:
          66  +
///
          67  +
/// ```rust,ignore
          68  +
/// let result = client.add_tags_to_resource()
          69  +
///     .resource_type("example")
          70  +
///     .send()
          71  +
///     .await;
          72  +
/// ```
          73  +
///
          74  +
/// The underlying HTTP requests that get made by this can be modified with the `customize_operation`
          75  +
/// function on the fluent builder. See the [`customize`](crate::client::customize) module for more
          76  +
/// information.
          77  +
/// # Waiters
          78  +
///
          79  +
/// This client provides `wait_until` methods behind the [`Waiters`](crate::client::Waiters) trait.
          80  +
/// To use them, simply import the trait, and then call one of the `wait_until` methods. This will
          81  +
/// return a waiter fluent builder that takes various parameters, which are documented on the builder
          82  +
/// type. Once parameters have been provided, the `wait` method can be called to initiate waiting.
          83  +
///
          84  +
/// For example, if there was a `wait_until_thing` method, it could look like:
          85  +
/// ```rust,ignore
          86  +
/// let result = client.wait_until_thing()
          87  +
///     .thing_id("someId")
          88  +
///     .wait(Duration::from_secs(120))
          89  +
///     .await;
          90  +
/// ```
          91  +
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
          92  +
pub struct Client {
          93  +
    handle: ::std::sync::Arc<Handle>,
          94  +
}
          95  +
          96  +
impl Client {
          97  +
    /// Creates a new client from the service [`Config`](crate::Config).
          98  +
    ///
          99  +
    /// # Panics
         100  +
    ///
         101  +
    /// This method will panic in the following cases:
         102  +
    ///
         103  +
    /// - Retries or timeouts are enabled without a `sleep_impl` configured.
         104  +
    /// - Identity caching is enabled without a `sleep_impl` and `time_source` configured.
         105  +
    /// - No `behavior_version` is provided.
         106  +
    ///
         107  +
    /// The panic message for each of these will have instructions on how to resolve them.
         108  +
    #[track_caller]
         109  +
    pub fn from_conf(conf: crate::Config) -> Self {
         110  +
        let handle = Handle {
         111  +
            conf: conf.clone(),
         112  +
            runtime_plugins: crate::config::base_client_runtime_plugins(conf),
         113  +
        };
         114  +
        if let Err(err) = Self::validate_config(&handle) {
         115  +
            panic!("Invalid client configuration: {err}");
         116  +
        }
         117  +
        Self {
         118  +
            handle: ::std::sync::Arc::new(handle),
         119  +
        }
         120  +
    }
         121  +
         122  +
    /// Returns the client's configuration.
         123  +
    pub fn config(&self) -> &crate::Config {
         124  +
        &self.handle.conf
         125  +
    }
         126  +
         127  +
    fn validate_config(handle: &Handle) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
         128  +
        let mut cfg = ::aws_smithy_types::config_bag::ConfigBag::base();
         129  +
        handle
         130  +
            .runtime_plugins
         131  +
            .apply_client_configuration(&mut cfg)?
         132  +
            .validate_base_client_config(&cfg)?;
         133  +
        Ok(())
         134  +
    }
         135  +
}
         136  +
         137  +
///
         138  +
/// Waiter functions for the client.
         139  +
///
         140  +
/// Import this trait to get `wait_until` methods on the client.
         141  +
///
         142  +
pub trait Waiters {
         143  +
    /// Wait for `command_executed`
         144  +
    fn wait_until_command_executed(&self) -> crate::waiters::command_executed::CommandExecutedFluentBuilder;
         145  +
}
         146  +
impl Waiters for Client {
         147  +
    fn wait_until_command_executed(&self) -> crate::waiters::command_executed::CommandExecutedFluentBuilder {
         148  +
        crate::waiters::command_executed::CommandExecutedFluentBuilder::new(self.handle.clone())
         149  +
    }
         150  +
}
         151  +
         152  +
impl Client {
         153  +
    /// Creates a new client from an [SDK Config](::aws_types::sdk_config::SdkConfig).
         154  +
    ///
         155  +
    /// # Panics
         156  +
    ///
         157  +
    /// - This method will panic if the `sdk_config` is missing an async sleep implementation. If you experience this panic, set
         158  +
    ///   the `sleep_impl` on the Config passed into this function to fix it.
         159  +
    /// - This method will panic if the `sdk_config` is missing an HTTP connector. If you experience this panic, set the
         160  +
    ///   `http_connector` on the Config passed into this function to fix it.
         161  +
    /// - This method will panic if no `BehaviorVersion` is provided. If you experience this panic, set `behavior_version` on the Config or enable the `behavior-version-latest` Cargo feature.
         162  +
    #[track_caller]
         163  +
    pub fn new(sdk_config: &::aws_types::sdk_config::SdkConfig) -> Self {
         164  +
        Self::from_conf(sdk_config.into())
         165  +
    }
         166  +
}
         167  +
         168  +
impl Client {
         169  +
    /// Returns the type registry for this service.
         170  +
    ///
         171  +
    /// The registry contains an entry for every structure shape in the service
         172  +
    /// closure (excluding only synthetic operation input/output shapes),
         173  +
    /// keyed by [`ShapeId`](::aws_smithy_schema::ShapeId). It is primarily useful for deserializing
         174  +
    /// a [`Document`](::aws_smithy_types::Document) into a typed shape:
         175  +
    ///
         176  +
    /// ```ignore
         177  +
    /// let registry = MyClient::registry();
         178  +
    /// let typed = registry.deserialize_document(&doc)?;
         179  +
    /// // Downcast to the concrete type you expected.
         180  +
    /// ```
         181  +
    pub fn registry() -> &'static ::aws_smithy_schema::registry::TypeRegistry {
         182  +
        &crate::type_registry::REGISTRY
         183  +
    }
         184  +
}
         185  +
         186  +
impl Client {
         187  +
    /// Returns the service-wide error registry.
         188  +
    ///
         189  +
    /// The registry contains an entry for every `@error`-trait structure shape
         190  +
    /// in the service closure, keyed by [`ShapeId`](::aws_smithy_schema::ShapeId). Use it to reify a
         191  +
    /// discriminated [`Document`](::aws_smithy_types::Document) into a typed error variant via
         192  +
    /// [`TypeRegistry::deserialize_document`](::aws_smithy_schema::registry::TypeRegistry::deserialize_document).
         193  +
    ///
         194  +
    /// This registry is provided for third-party `Document`-based error handling.
         195  +
    /// Internally it also serves as the widening fallback when the schema-serde
         196  +
    /// error path reifies an error code that an operation does not model directly
         197  +
    /// (the operation's own error registry is consulted first).
         198  +
    ///
         199  +
    /// ```ignore
         200  +
    /// let registry = MyClient::error_registry();
         201  +
    /// let typed = registry.deserialize_document(&doc)?;
         202  +
    /// // Downcast to the concrete error variant you expected.
         203  +
    /// ```
         204  +
    pub fn error_registry() -> &'static ::aws_smithy_schema::registry::TypeRegistry {
         205  +
        &crate::error_type_registry::REGISTRY
         206  +
    }
         207  +
}
         208  +
         209  +
mod add_tags_to_resource;
         210  +
         211  +
mod associate_ops_item_related_item;
         212  +
         213  +
mod cancel_command;
         214  +
         215  +
mod cancel_maintenance_window_execution;
         216  +
         217  +
mod create_activation;
         218  +
         219  +
mod create_association;
         220  +
         221  +
mod create_association_batch;
         222  +
         223  +
mod create_cloud_connector;
         224  +
         225  +
mod create_document;
         226  +
         227  +
mod create_maintenance_window;
         228  +
         229  +
mod create_ops_item;
         230  +
         231  +
mod create_ops_metadata;
         232  +
         233  +
mod create_patch_baseline;
         234  +
         235  +
mod create_resource_data_sync;
         236  +
         237  +
/// Operation customization and supporting types.
         238  +
///
         239  +
/// The underlying HTTP requests made during an operation can be customized
         240  +
/// by calling the `customize()` method on the builder returned from a client
         241  +
/// operation call. For example, this can be used to add an additional HTTP header:
         242  +
///
         243  +
/// ```ignore
         244  +
/// # async fn wrapper() -> ::std::result::Result<(), aws_sdk_ssm::Error> {
         245  +
/// # let client: aws_sdk_ssm::Client = unimplemented!();
         246  +
/// use ::http_1x::header::{HeaderName, HeaderValue};
         247  +
///
         248  +
/// let result = client.add_tags_to_resource()
         249  +
///     .customize()
         250  +
///     .mutate_request(|req| {
         251  +
///         // Add `x-example-header` with value
         252  +
///         req.headers_mut()
         253  +
///             .insert(
         254  +
///                 HeaderName::from_static("x-example-header"),
         255  +
///                 HeaderValue::from_static("1"),
         256  +
///             );
         257  +
///     })
         258  +
///     .send()
         259  +
///     .await;
         260  +
/// # }
         261  +
/// ```
         262  +
pub mod customize;
         263  +
         264  +
mod delete_activation;
         265  +
         266  +
mod delete_association;
         267  +
         268  +
mod delete_cloud_connector;
         269  +
         270  +
mod delete_document;
         271  +
         272  +
mod delete_inventory;
         273  +
         274  +
mod delete_maintenance_window;
         275  +
         276  +
mod delete_ops_item;
         277  +
         278  +
mod delete_ops_metadata;
         279  +
         280  +
mod delete_parameter;
         281  +
         282  +
mod delete_parameters;
         283  +
         284  +
mod delete_patch_baseline;
         285  +
         286  +
mod delete_resource_data_sync;
         287  +
         288  +
mod delete_resource_policy;
         289  +
         290  +
mod deregister_managed_instance;
         291  +
         292  +
mod deregister_patch_baseline_for_patch_group;
         293  +
         294  +
mod deregister_target_from_maintenance_window;
         295  +
         296  +
mod deregister_task_from_maintenance_window;
         297  +
         298  +
mod describe_activations;
         299  +
         300  +
mod describe_association;
         301  +
         302  +
mod describe_association_execution_targets;
         303  +
         304  +
mod describe_association_executions;
         305  +
         306  +
mod describe_automation_executions;
         307  +
         308  +
mod describe_automation_step_executions;
         309  +
         310  +
mod describe_available_patches;
         311  +
         312  +
mod describe_document;
         313  +
         314  +
mod describe_document_permission;
         315  +
         316  +
mod describe_effective_instance_associations;
         317  +
         318  +
mod describe_effective_patches_for_patch_baseline;
         319  +
         320  +
mod describe_instance_associations_status;
         321  +
         322  +
mod describe_instance_information;
         323  +
         324  +
mod describe_instance_patch_states;
         325  +
         326  +
mod describe_instance_patch_states_for_patch_group;
         327  +
         328  +
mod describe_instance_patches;
         329  +
         330  +
mod describe_instance_properties;
         331  +
         332  +
mod describe_inventory_deletions;
         333  +
         334  +
mod describe_maintenance_window_execution_task_invocations;
         335  +
         336  +
mod describe_maintenance_window_execution_tasks;
         337  +
         338  +
mod describe_maintenance_window_executions;
         339  +
         340  +
mod describe_maintenance_window_schedule;
         341  +
         342  +
mod describe_maintenance_window_targets;
         343  +
         344  +
mod describe_maintenance_window_tasks;
         345  +
         346  +
mod describe_maintenance_windows;
         347  +
         348  +
mod describe_maintenance_windows_for_target;
         349  +
         350  +
mod describe_ops_items;
         351  +
         352  +
mod describe_parameters;
         353  +
         354  +
mod describe_patch_baselines;
         355  +
         356  +
mod describe_patch_group_state;
         357  +
         358  +
mod describe_patch_groups;
         359  +
         360  +
mod describe_patch_properties;
         361  +
         362  +
mod describe_sessions;
         363  +
         364  +
mod disassociate_ops_item_related_item;
         365  +
         366  +
mod get_access_token;
         367  +
         368  +
mod get_automation_execution;
         369  +
         370  +
mod get_calendar_state;
         371  +
         372  +
mod get_cloud_connector;
         373  +
         374  +
mod get_command_invocation;
         375  +
         376  +
mod get_connection_status;
         377  +
         378  +
mod get_default_patch_baseline;
         379  +
         380  +
mod get_deployable_patch_snapshot_for_instance;
         381  +
         382  +
mod get_document;
         383  +
         384  +
mod get_execution_preview;
         385  +
         386  +
mod get_inventory;
         387  +
         388  +
mod get_inventory_schema;
         389  +
         390  +
mod get_maintenance_window;
         391  +
         392  +
mod get_maintenance_window_execution;
         393  +
         394  +
mod get_maintenance_window_execution_task;
         395  +
         396  +
mod get_maintenance_window_execution_task_invocation;
         397  +
         398  +
mod get_maintenance_window_task;
         399  +
         400  +
mod get_ops_item;
         401  +
         402  +
mod get_ops_metadata;
         403  +
         404  +
mod get_ops_summary;
         405  +
         406  +
mod get_parameter;
         407  +
         408  +
mod get_parameter_history;
         409  +
         410  +
mod get_parameters;
         411  +
         412  +
mod get_parameters_by_path;
         413  +
         414  +
mod get_patch_baseline;
         415  +
         416  +
mod get_patch_baseline_for_patch_group;
         417  +
         418  +
mod get_resource_policies;
         419  +
         420  +
mod get_service_setting;
         421  +
         422  +
mod label_parameter_version;
         423  +
         424  +
mod list_association_versions;
         425  +
         426  +
mod list_associations;
         427  +
         428  +
mod list_cloud_connectors;
         429  +
         430  +
mod list_command_invocations;
         431  +
         432  +
mod list_commands;
         433  +
         434  +
mod list_compliance_items;
         435  +
         436  +
mod list_compliance_summaries;
         437  +
         438  +
mod list_document_metadata_history;
         439  +
         440  +
mod list_document_versions;
         441  +
         442  +
mod list_documents;
         443  +
         444  +
mod list_inventory_entries;
         445  +
         446  +
mod list_nodes;
         447  +
         448  +
mod list_nodes_summary;
         449  +
         450  +
mod list_ops_item_events;
         451  +
         452  +
mod list_ops_item_related_items;
         453  +
         454  +
mod list_ops_metadata;
         455  +
         456  +
mod list_resource_compliance_summaries;
         457  +
         458  +
mod list_resource_data_sync;
         459  +
         460  +
mod list_tags_for_resource;
         461  +
         462  +
mod modify_document_permission;
         463  +
         464  +
mod put_compliance_items;
         465  +
         466  +
mod put_inventory;
         467  +
         468  +
mod put_parameter;
         469  +
         470  +
mod put_resource_policy;
         471  +
         472  +
mod register_default_patch_baseline;
         473  +
         474  +
mod register_patch_baseline_for_patch_group;
         475  +
         476  +
mod register_target_with_maintenance_window;
         477  +
         478  +
mod register_task_with_maintenance_window;
         479  +
         480  +
mod remove_tags_from_resource;
         481  +
         482  +
mod reset_service_setting;
         483  +
         484  +
mod resume_session;
         485  +
         486  +
mod send_automation_signal;
         487  +
         488  +
mod send_command;
         489  +
         490  +
mod start_access_request;
         491  +
         492  +
mod start_associations_once;
         493  +
         494  +
mod start_automation_execution;
         495  +
         496  +
mod start_change_request_execution;
         497  +
         498  +
mod start_execution_preview;
         499  +
         500  +
mod start_session;
         501  +
         502  +
mod stop_automation_execution;
         503  +
         504  +
mod terminate_session;
         505  +
         506  +
mod unlabel_parameter_version;
         507  +
         508  +
mod update_association;
         509  +
         510  +
mod update_association_status;
         511  +
         512  +
mod update_cloud_connector;
         513  +
         514  +
mod update_document;
         515  +
         516  +
mod update_document_default_version;
         517  +
         518  +
mod update_document_metadata;
         519  +
         520  +
mod update_maintenance_window;
         521  +
         522  +
mod update_maintenance_window_target;
         523  +
         524  +
mod update_maintenance_window_task;
         525  +
         526  +
mod update_managed_instance_role;
         527  +
         528  +
mod update_ops_item;
         529  +
         530  +
mod update_ops_metadata;
         531  +
         532  +
mod update_patch_baseline;
         533  +
         534  +
mod update_resource_data_sync;
         535  +
         536  +
mod update_service_setting;
         537  +
         538  +
mod validate_cloud_connector;

tmp-codegen-diff/aws-sdk/sdk/ssm/src/client/add_tags_to_resource.rs

@@ -0,1 +0,14 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
impl super::Client {
           3  +
    /// Constructs a fluent builder for the [`AddTagsToResource`](crate::operation::add_tags_to_resource::builders::AddTagsToResourceFluentBuilder) operation.
           4  +
    ///
           5  +
    /// - The fluent builder is configurable:
           6  +
    ///   - [`resource_type(ResourceTypeForTagging)`](crate::operation::add_tags_to_resource::builders::AddTagsToResourceFluentBuilder::resource_type) / [`set_resource_type(Option<ResourceTypeForTagging>)`](crate::operation::add_tags_to_resource::builders::AddTagsToResourceFluentBuilder::set_resource_type):<br>required: **true**<br><p>Specifies the type of resource you are tagging.</p><note>  <p>The <code>ManagedInstance</code> type for this API operation is for on-premises managed nodes. You must specify the name of the managed node in the following format: <code>mi-<i>ID_number</i> </code>. For example, <code>mi-1a2b3c4d5e6f</code>.</p> </note><br>
           7  +
    ///   - [`resource_id(impl Into<String>)`](crate::operation::add_tags_to_resource::builders::AddTagsToResourceFluentBuilder::resource_id) / [`set_resource_id(Option<String>)`](crate::operation::add_tags_to_resource::builders::AddTagsToResourceFluentBuilder::set_resource_id):<br>required: **true**<br><p>The resource ID you want to tag.</p> <p>Use the ID of the resource. Here are some examples:</p> <p><code>MaintenanceWindow</code>: <code>mw-012345abcde</code></p> <p><code>PatchBaseline</code>: <code>pb-012345abcde</code></p> <p><code>Automation</code>: <code>example-c160-4567-8519-012345abcde</code></p> <p><code>OpsMetadata</code> object: <code>ResourceID</code> for tagging is created from the Amazon Resource Name (ARN) for the object. Specifically, <code>ResourceID</code> is created from the strings that come after the word <code>opsmetadata</code> in the ARN. For example, an OpsMetadata object with an ARN of <code>arn:aws:ssm:us-east-2:1234567890:opsmetadata/aws/ssm/MyGroup/appmanager</code> has a <code>ResourceID</code> of either <code>aws/ssm/MyGroup/appmanager</code> or <code>/aws/ssm/MyGroup/appmanager</code>.</p> <p>For the <code>Document</code> and <code>Parameter</code> values, use the name of the resource. If you're tagging a shared document, you must use the full ARN of the document.</p> <p><code>ManagedInstance</code>: <code>mi-012345abcde</code></p><note>  <p>The <code>ManagedInstance</code> type for this API operation is only for on-premises managed nodes. You must specify the name of the managed node in the following format: <code>mi-<i>ID_number</i> </code>. For example, <code>mi-1a2b3c4d5e6f</code>.</p> </note><br>
           8  +
    ///   - [`tags(Tag)`](crate::operation::add_tags_to_resource::builders::AddTagsToResourceFluentBuilder::tags) / [`set_tags(Option<Vec::<Tag>>)`](crate::operation::add_tags_to_resource::builders::AddTagsToResourceFluentBuilder::set_tags):<br>required: **true**<br><p>One or more tags. The value parameter is required.</p><important>  <p>Don't enter personally identifiable information in this field.</p> </important><br>
           9  +
    /// - On success, responds with [`AddTagsToResourceOutput`](crate::operation::add_tags_to_resource::AddTagsToResourceOutput)
          10  +
    /// - On failure, responds with [`SdkError<AddTagsToResourceError>`](crate::operation::add_tags_to_resource::AddTagsToResourceError)
          11  +
    pub fn add_tags_to_resource(&self) -> crate::operation::add_tags_to_resource::builders::AddTagsToResourceFluentBuilder {
          12  +
        crate::operation::add_tags_to_resource::builders::AddTagsToResourceFluentBuilder::new(self.handle.clone())
          13  +
    }
          14  +
}

tmp-codegen-diff/aws-sdk/sdk/ssm/src/client/associate_ops_item_related_item.rs

@@ -0,1 +0,18 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
impl super::Client {
           3  +
    /// Constructs a fluent builder for the [`AssociateOpsItemRelatedItem`](crate::operation::associate_ops_item_related_item::builders::AssociateOpsItemRelatedItemFluentBuilder) operation.
           4  +
    ///
           5  +
    /// - The fluent builder is configurable:
           6  +
    ///   - [`ops_item_id(impl Into<String>)`](crate::operation::associate_ops_item_related_item::builders::AssociateOpsItemRelatedItemFluentBuilder::ops_item_id) / [`set_ops_item_id(Option<String>)`](crate::operation::associate_ops_item_related_item::builders::AssociateOpsItemRelatedItemFluentBuilder::set_ops_item_id):<br>required: **true**<br><p>The ID of the OpsItem to which you want to associate a resource as a related item.</p><br>
           7  +
    ///   - [`association_type(impl Into<String>)`](crate::operation::associate_ops_item_related_item::builders::AssociateOpsItemRelatedItemFluentBuilder::association_type) / [`set_association_type(Option<String>)`](crate::operation::associate_ops_item_related_item::builders::AssociateOpsItemRelatedItemFluentBuilder::set_association_type):<br>required: **true**<br><p>The type of association that you want to create between an OpsItem and a resource. OpsCenter supports <code>IsParentOf</code> and <code>RelatesTo</code> association types.</p><br>
           8  +
    ///   - [`resource_type(impl Into<String>)`](crate::operation::associate_ops_item_related_item::builders::AssociateOpsItemRelatedItemFluentBuilder::resource_type) / [`set_resource_type(Option<String>)`](crate::operation::associate_ops_item_related_item::builders::AssociateOpsItemRelatedItemFluentBuilder::set_resource_type):<br>required: **true**<br><p>The type of resource that you want to associate with an OpsItem. OpsCenter supports the following types:</p> <p><code>AWS::SSMIncidents::IncidentRecord</code>: an Incident Manager incident.</p> <p><code>AWS::SSM::Document</code>: a Systems Manager (SSM) document.</p><br>
           9  +
    ///   - [`resource_uri(impl Into<String>)`](crate::operation::associate_ops_item_related_item::builders::AssociateOpsItemRelatedItemFluentBuilder::resource_uri) / [`set_resource_uri(Option<String>)`](crate::operation::associate_ops_item_related_item::builders::AssociateOpsItemRelatedItemFluentBuilder::set_resource_uri):<br>required: **true**<br><p>The Amazon Resource Name (ARN) of the Amazon Web Services resource that you want to associate with the OpsItem.</p><br>
          10  +
    /// - On success, responds with [`AssociateOpsItemRelatedItemOutput`](crate::operation::associate_ops_item_related_item::AssociateOpsItemRelatedItemOutput) with field(s):
          11  +
    ///   - [`association_id(Option<String>)`](crate::operation::associate_ops_item_related_item::AssociateOpsItemRelatedItemOutput::association_id): <p>The association ID.</p>
          12  +
    /// - On failure, responds with [`SdkError<AssociateOpsItemRelatedItemError>`](crate::operation::associate_ops_item_related_item::AssociateOpsItemRelatedItemError)
          13  +
    pub fn associate_ops_item_related_item(
          14  +
        &self,
          15  +
    ) -> crate::operation::associate_ops_item_related_item::builders::AssociateOpsItemRelatedItemFluentBuilder {
          16  +
        crate::operation::associate_ops_item_related_item::builders::AssociateOpsItemRelatedItemFluentBuilder::new(self.handle.clone())
          17  +
    }
          18  +
}

tmp-codegen-diff/aws-sdk/sdk/ssm/src/client/cancel_command.rs

@@ -0,1 +0,13 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
impl super::Client {
           3  +
    /// Constructs a fluent builder for the [`CancelCommand`](crate::operation::cancel_command::builders::CancelCommandFluentBuilder) operation.
           4  +
    ///
           5  +
    /// - The fluent builder is configurable:
           6  +
    ///   - [`command_id(impl Into<String>)`](crate::operation::cancel_command::builders::CancelCommandFluentBuilder::command_id) / [`set_command_id(Option<String>)`](crate::operation::cancel_command::builders::CancelCommandFluentBuilder::set_command_id):<br>required: **true**<br><p>The ID of the command you want to cancel.</p><br>
           7  +
    ///   - [`instance_ids(impl Into<String>)`](crate::operation::cancel_command::builders::CancelCommandFluentBuilder::instance_ids) / [`set_instance_ids(Option<Vec::<String>>)`](crate::operation::cancel_command::builders::CancelCommandFluentBuilder::set_instance_ids):<br>required: **false**<br><p>(Optional) A list of managed node IDs on which you want to cancel the command. If not provided, the command is canceled on every node on which it was requested.</p><br>
           8  +
    /// - On success, responds with [`CancelCommandOutput`](crate::operation::cancel_command::CancelCommandOutput)
           9  +
    /// - On failure, responds with [`SdkError<CancelCommandError>`](crate::operation::cancel_command::CancelCommandError)
          10  +
    pub fn cancel_command(&self) -> crate::operation::cancel_command::builders::CancelCommandFluentBuilder {
          11  +
        crate::operation::cancel_command::builders::CancelCommandFluentBuilder::new(self.handle.clone())
          12  +
    }
          13  +
}

tmp-codegen-diff/aws-sdk/sdk/ssm/src/client/cancel_maintenance_window_execution.rs

@@ -0,1 +0,15 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
impl super::Client {
           3  +
    /// Constructs a fluent builder for the [`CancelMaintenanceWindowExecution`](crate::operation::cancel_maintenance_window_execution::builders::CancelMaintenanceWindowExecutionFluentBuilder) operation.
           4  +
    ///
           5  +
    /// - The fluent builder is configurable:
           6  +
    ///   - [`window_execution_id(impl Into<String>)`](crate::operation::cancel_maintenance_window_execution::builders::CancelMaintenanceWindowExecutionFluentBuilder::window_execution_id) / [`set_window_execution_id(Option<String>)`](crate::operation::cancel_maintenance_window_execution::builders::CancelMaintenanceWindowExecutionFluentBuilder::set_window_execution_id):<br>required: **true**<br><p>The ID of the maintenance window execution to stop.</p><br>
           7  +
    /// - On success, responds with [`CancelMaintenanceWindowExecutionOutput`](crate::operation::cancel_maintenance_window_execution::CancelMaintenanceWindowExecutionOutput) with field(s):
           8  +
    ///   - [`window_execution_id(Option<String>)`](crate::operation::cancel_maintenance_window_execution::CancelMaintenanceWindowExecutionOutput::window_execution_id): <p>The ID of the maintenance window execution that has been stopped.</p>
           9  +
    /// - On failure, responds with [`SdkError<CancelMaintenanceWindowExecutionError>`](crate::operation::cancel_maintenance_window_execution::CancelMaintenanceWindowExecutionError)
          10  +
    pub fn cancel_maintenance_window_execution(
          11  +
        &self,
          12  +
    ) -> crate::operation::cancel_maintenance_window_execution::builders::CancelMaintenanceWindowExecutionFluentBuilder {
          13  +
        crate::operation::cancel_maintenance_window_execution::builders::CancelMaintenanceWindowExecutionFluentBuilder::new(self.handle.clone())
          14  +
    }
          15  +
}

tmp-codegen-diff/aws-sdk/sdk/ssm/src/client/create_activation.rs

@@ -0,1 +0,20 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
impl super::Client {
           3  +
    /// Constructs a fluent builder for the [`CreateActivation`](crate::operation::create_activation::builders::CreateActivationFluentBuilder) operation.
           4  +
    ///
           5  +
    /// - The fluent builder is configurable:
           6  +
    ///   - [`description(impl Into<String>)`](crate::operation::create_activation::builders::CreateActivationFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::create_activation::builders::CreateActivationFluentBuilder::set_description):<br>required: **false**<br><p>A user-defined description of the resource that you want to register with Systems Manager.</p><important>  <p>Don't enter personally identifiable information in this field.</p> </important><br>
           7  +
    ///   - [`default_instance_name(impl Into<String>)`](crate::operation::create_activation::builders::CreateActivationFluentBuilder::default_instance_name) / [`set_default_instance_name(Option<String>)`](crate::operation::create_activation::builders::CreateActivationFluentBuilder::set_default_instance_name):<br>required: **false**<br><p>The name of the registered, managed node as it will appear in the Amazon Web Services Systems Manager console or when you use the Amazon Web Services command line tools to list Systems Manager resources.</p><important>  <p>Don't enter personally identifiable information in this field.</p> </important><br>
           8  +
    ///   - [`iam_role(impl Into<String>)`](crate::operation::create_activation::builders::CreateActivationFluentBuilder::iam_role) / [`set_iam_role(Option<String>)`](crate::operation::create_activation::builders::CreateActivationFluentBuilder::set_iam_role):<br>required: **true**<br><p>The name of the Identity and Access Management (IAM) role that you want to assign to the managed node. This IAM role must provide AssumeRole permissions for the Amazon Web Services Systems Manager service principal <code>ssm.amazonaws.com</code>. For more information, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/hybrid-multicloud-service-role.html">Create the IAM service role required for Systems Manager in a hybrid and multicloud environments</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p><note>  <p>You can't specify an IAM service-linked role for this parameter. You must create a unique role.</p> </note><br>
           9  +
    ///   - [`registration_limit(i32)`](crate::operation::create_activation::builders::CreateActivationFluentBuilder::registration_limit) / [`set_registration_limit(Option<i32>)`](crate::operation::create_activation::builders::CreateActivationFluentBuilder::set_registration_limit):<br>required: **false**<br><p>Specify the maximum number of managed nodes you want to register. The default value is <code>1</code>.</p><br>
          10  +
    ///   - [`expiration_date(DateTime)`](crate::operation::create_activation::builders::CreateActivationFluentBuilder::expiration_date) / [`set_expiration_date(Option<DateTime>)`](crate::operation::create_activation::builders::CreateActivationFluentBuilder::set_expiration_date):<br>required: **false**<br><p>The date by which this activation request should expire, in timestamp format, such as "2024-07-07T00:00:00". You can specify a date up to 30 days in advance. If you don't provide an expiration date, the activation code expires in 24 hours.</p><br>
          11  +
    ///   - [`tags(Tag)`](crate::operation::create_activation::builders::CreateActivationFluentBuilder::tags) / [`set_tags(Option<Vec::<Tag>>)`](crate::operation::create_activation::builders::CreateActivationFluentBuilder::set_tags):<br>required: **false**<br><p>Optional metadata that you assign to a resource. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag an activation to identify which servers or virtual machines (VMs) in your on-premises environment you intend to activate. In this case, you could specify the following key-value pairs:</p> <ul>  <li>   <p><code>Key=OS,Value=Windows</code></p></li>  <li>   <p><code>Key=Environment,Value=Production</code></p></li> </ul><important>  <p>When you install SSM Agent on your on-premises servers and VMs, you specify an activation ID and code. When you specify the activation ID and code, tags assigned to the activation are automatically applied to the on-premises servers or VMs.</p> </important> <p>You can't add tags to or delete tags from an existing activation. You can tag your on-premises servers, edge devices, and VMs after they connect to Systems Manager for the first time and are assigned a managed node ID. This means they are listed in the Amazon Web Services Systems Manager console with an ID that is prefixed with "mi-". For information about how to add tags to your managed nodes, see <code>AddTagsToResource</code>. For information about how to remove tags from your managed nodes, see <code>RemoveTagsFromResource</code>.</p><br>
          12  +
    ///   - [`registration_metadata(RegistrationMetadataItem)`](crate::operation::create_activation::builders::CreateActivationFluentBuilder::registration_metadata) / [`set_registration_metadata(Option<Vec::<RegistrationMetadataItem>>)`](crate::operation::create_activation::builders::CreateActivationFluentBuilder::set_registration_metadata):<br>required: **false**<br><p>Reserved for internal use.</p><br>
          13  +
    /// - On success, responds with [`CreateActivationOutput`](crate::operation::create_activation::CreateActivationOutput) with field(s):
          14  +
    ///   - [`activation_id(Option<String>)`](crate::operation::create_activation::CreateActivationOutput::activation_id): <p>The ID number generated by the system when it processed the activation. The activation ID functions like a user name.</p>
          15  +
    ///   - [`activation_code(Option<String>)`](crate::operation::create_activation::CreateActivationOutput::activation_code): <p>The code the system generates when it processes the activation. The activation code functions like a password to validate the activation ID.</p>
          16  +
    /// - On failure, responds with [`SdkError<CreateActivationError>`](crate::operation::create_activation::CreateActivationError)
          17  +
    pub fn create_activation(&self) -> crate::operation::create_activation::builders::CreateActivationFluentBuilder {
          18  +
        crate::operation::create_activation::builders::CreateActivationFluentBuilder::new(self.handle.clone())
          19  +
    }
          20  +
}

tmp-codegen-diff/aws-sdk/sdk/ssm/src/client/create_association.rs

@@ -0,1 +0,34 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
impl super::Client {
           3  +
    /// Constructs a fluent builder for the [`CreateAssociation`](crate::operation::create_association::builders::CreateAssociationFluentBuilder) operation.
           4  +
    ///
           5  +
    /// - The fluent builder is configurable:
           6  +
    ///   - [`name(impl Into<String>)`](crate::operation::create_association::builders::CreateAssociationFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::create_association::builders::CreateAssociationFluentBuilder::set_name):<br>required: **true**<br><p>The name of the SSM Command document or Automation runbook that contains the configuration information for the managed node.</p> <p>You can specify Amazon Web Services-predefined documents, documents you created, or a document that is shared with you from another Amazon Web Services account.</p> <p>For Systems Manager documents (SSM documents) that are shared with you from other Amazon Web Services accounts, you must specify the complete SSM document ARN, in the following format:</p> <p><code>arn:<i>partition</i>:ssm:<i>region</i>:<i>account-id</i>:document/<i>document-name</i> </code></p> <p>For example:</p> <p><code>arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document</code></p> <p>For Amazon Web Services-predefined documents and SSM documents you created in your account, you only need to specify the document name. For example, <code>AWS-ApplyPatchBaseline</code> or <code>My-Document</code>.</p><br>
           7  +
    ///   - [`document_version(impl Into<String>)`](crate::operation::create_association::builders::CreateAssociationFluentBuilder::document_version) / [`set_document_version(Option<String>)`](crate::operation::create_association::builders::CreateAssociationFluentBuilder::set_document_version):<br>required: **false**<br><p>The document version you want to associate with the targets. Can be a specific version or the default version.</p><important>  <p>State Manager doesn't support running associations that use a new version of a document if that document is shared from another account. State Manager always runs the <code>default</code> version of a document if shared from another account, even though the Systems Manager console shows that a new version was processed. If you want to run an association using a new version of a document shared form another account, you must set the document version to <code>default</code>.</p> </important><br>
           8  +
    ///   - [`instance_id(impl Into<String>)`](crate::operation::create_association::builders::CreateAssociationFluentBuilder::instance_id) / [`set_instance_id(Option<String>)`](crate::operation::create_association::builders::CreateAssociationFluentBuilder::set_instance_id):<br>required: **false**<br><p>The managed node ID.</p><note>  <p><code>InstanceId</code> has been deprecated. To specify a managed node ID for an association, use the <code>Targets</code> parameter. Requests that include the parameter <code>InstanceID</code> with Systems Manager documents (SSM documents) that use schema version 2.0 or later will fail. In addition, if you use the parameter <code>InstanceId</code>, you can't use the parameters <code>AssociationName</code>, <code>DocumentVersion</code>, <code>MaxErrors</code>, <code>MaxConcurrency</code>, <code>OutputLocation</code>, or <code>ScheduleExpression</code>. To use these parameters, you must use the <code>Targets</code> parameter.</p> </note><br>
           9  +
    ///   - [`parameters(impl Into<String>, Vec::<String>)`](crate::operation::create_association::builders::CreateAssociationFluentBuilder::parameters) / [`set_parameters(Option<HashMap::<String, Vec::<String>>>)`](crate::operation::create_association::builders::CreateAssociationFluentBuilder::set_parameters):<br>required: **false**<br><p>The parameters for the runtime configuration of the document.</p><br>
          10  +
    ///   - [`targets(Target)`](crate::operation::create_association::builders::CreateAssociationFluentBuilder::targets) / [`set_targets(Option<Vec::<Target>>)`](crate::operation::create_association::builders::CreateAssociationFluentBuilder::set_targets):<br>required: **false**<br><p>The targets for the association. You can target managed nodes by using tags, Amazon Web Services resource groups, all managed nodes in an Amazon Web Services account, or individual managed node IDs. You can target all managed nodes in an Amazon Web Services account by specifying the <code>InstanceIds</code> key with a value of <code>*</code>. For more information about choosing targets for an association, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-state-manager-targets-and-rate-controls.html">Understanding targets and rate controls in State Manager associations</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p><br>
          11  +
    ///   - [`schedule_expression(impl Into<String>)`](crate::operation::create_association::builders::CreateAssociationFluentBuilder::schedule_expression) / [`set_schedule_expression(Option<String>)`](crate::operation::create_association::builders::CreateAssociationFluentBuilder::set_schedule_expression):<br>required: **false**<br><p>A cron expression when the association will be applied to the targets.</p><br>
          12  +
    ///   - [`output_location(InstanceAssociationOutputLocation)`](crate::operation::create_association::builders::CreateAssociationFluentBuilder::output_location) / [`set_output_location(Option<InstanceAssociationOutputLocation>)`](crate::operation::create_association::builders::CreateAssociationFluentBuilder::set_output_location):<br>required: **false**<br><p>An Amazon Simple Storage Service (Amazon S3) bucket where you want to store the output details of the request.</p><br>
          13  +
    ///   - [`association_name(impl Into<String>)`](crate::operation::create_association::builders::CreateAssociationFluentBuilder::association_name) / [`set_association_name(Option<String>)`](crate::operation::create_association::builders::CreateAssociationFluentBuilder::set_association_name):<br>required: **false**<br><p>Specify a descriptive name for the association.</p><br>
          14  +
    ///   - [`automation_target_parameter_name(impl Into<String>)`](crate::operation::create_association::builders::CreateAssociationFluentBuilder::automation_target_parameter_name) / [`set_automation_target_parameter_name(Option<String>)`](crate::operation::create_association::builders::CreateAssociationFluentBuilder::set_automation_target_parameter_name):<br>required: **false**<br><p>Choose the parameter that will define how your automation will branch out. This target is required for associations that use an Automation runbook and target resources by using rate controls. Automation is a tool in Amazon Web Services Systems Manager.</p><br>
          15  +
    ///   - [`max_errors(impl Into<String>)`](crate::operation::create_association::builders::CreateAssociationFluentBuilder::max_errors) / [`set_max_errors(Option<String>)`](crate::operation::create_association::builders::CreateAssociationFluentBuilder::set_max_errors):<br>required: **false**<br><p>The number of errors that are allowed before the system stops sending requests to run the association on additional targets. You can specify either an absolute number of errors, for example 10, or a percentage of the target set, for example 10%. If you specify 3, for example, the system stops sending requests when the fourth error is received. If you specify 0, then the system stops sending requests after the first error is returned. If you run an association on 50 managed nodes and set <code>MaxError</code> to 10%, then the system stops sending the request when the sixth error is received.</p> <p>Executions that are already running an association when <code>MaxErrors</code> is reached are allowed to complete, but some of these executions may fail as well. If you need to ensure that there won't be more than max-errors failed executions, set <code>MaxConcurrency</code> to 1 so that executions proceed one at a time.</p><br>
          16  +
    ///   - [`max_concurrency(impl Into<String>)`](crate::operation::create_association::builders::CreateAssociationFluentBuilder::max_concurrency) / [`set_max_concurrency(Option<String>)`](crate::operation::create_association::builders::CreateAssociationFluentBuilder::set_max_concurrency):<br>required: **false**<br><p>The maximum number of targets allowed to run the association at the same time. You can specify a number, for example 10, or a percentage of the target set, for example 10%. The default value is 100%, which means all targets run the association at the same time.</p> <p>If a new managed node starts and attempts to run an association while Systems Manager is running <code>MaxConcurrency</code> associations, the association is allowed to run. During the next association interval, the new managed node will process its association within the limit specified for <code>MaxConcurrency</code>.</p><br>
          17  +
    ///   - [`compliance_severity(AssociationComplianceSeverity)`](crate::operation::create_association::builders::CreateAssociationFluentBuilder::compliance_severity) / [`set_compliance_severity(Option<AssociationComplianceSeverity>)`](crate::operation::create_association::builders::CreateAssociationFluentBuilder::set_compliance_severity):<br>required: **false**<br><p>The severity level to assign to the association.</p><br>
          18  +
    ///   - [`sync_compliance(AssociationSyncCompliance)`](crate::operation::create_association::builders::CreateAssociationFluentBuilder::sync_compliance) / [`set_sync_compliance(Option<AssociationSyncCompliance>)`](crate::operation::create_association::builders::CreateAssociationFluentBuilder::set_sync_compliance):<br>required: **false**<br><p>The mode for generating association compliance. You can specify <code>AUTO</code> or <code>MANUAL</code>. In <code>AUTO</code> mode, the system uses the status of the association execution to determine the compliance status. If the association execution runs successfully, then the association is <code>COMPLIANT</code>. If the association execution doesn't run successfully, the association is <code>NON-COMPLIANT</code>.</p> <p>In <code>MANUAL</code> mode, you must specify the <code>AssociationId</code> as a parameter for the <code>PutComplianceItems</code> API operation. In this case, compliance data isn't managed by State Manager. It is managed by your direct call to the <code>PutComplianceItems</code> API operation.</p> <p>By default, all associations use <code>AUTO</code> mode.</p><br>
          19  +
    ///   - [`apply_only_at_cron_interval(bool)`](crate::operation::create_association::builders::CreateAssociationFluentBuilder::apply_only_at_cron_interval) / [`set_apply_only_at_cron_interval(Option<bool>)`](crate::operation::create_association::builders::CreateAssociationFluentBuilder::set_apply_only_at_cron_interval):<br>required: **false**<br><p>By default, when you create a new association, the system runs it immediately after it is created and then according to the schedule you specified and when target changes are detected. Specify <code>true</code> for <code>ApplyOnlyAtCronInterval</code>if you want the association to run only according to the schedule you specified.</p> <p>For more information, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/state-manager-about.html#state-manager-about-scheduling">Understanding when associations are applied to resources</a> and <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/state-manager-about.html#runbook-target-updates">&gt;About target updates with Automation runbooks</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p> <p>This parameter isn't supported for rate expressions.</p><br>
          20  +
    ///   - [`calendar_names(impl Into<String>)`](crate::operation::create_association::builders::CreateAssociationFluentBuilder::calendar_names) / [`set_calendar_names(Option<Vec::<String>>)`](crate::operation::create_association::builders::CreateAssociationFluentBuilder::set_calendar_names):<br>required: **false**<br><p>The names of Amazon Resource Names (ARNs) of the Change Calendar type documents you want to gate your associations under. The associations only run when that change calendar is open. For more information, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-change-calendar">Amazon Web Services Systems Manager Change Calendar</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p><br>
          21  +
    ///   - [`target_locations(TargetLocation)`](crate::operation::create_association::builders::CreateAssociationFluentBuilder::target_locations) / [`set_target_locations(Option<Vec::<TargetLocation>>)`](crate::operation::create_association::builders::CreateAssociationFluentBuilder::set_target_locations):<br>required: **false**<br><p>A location is a combination of Amazon Web Services Regions and Amazon Web Services accounts where you want to run the association. Use this action to create an association in multiple Regions and multiple accounts.</p><note>  <p>The <code>TargetLocationAlarmConfiguration</code> parameter is not supported by State Manager.</p> </note><br>
          22  +
    ///   - [`schedule_offset(i32)`](crate::operation::create_association::builders::CreateAssociationFluentBuilder::schedule_offset) / [`set_schedule_offset(Option<i32>)`](crate::operation::create_association::builders::CreateAssociationFluentBuilder::set_schedule_offset):<br>required: **false**<br><p>Number of days to wait after the scheduled day to run an association. For example, if you specified a cron schedule of <code>cron(0 0 ? * THU#2 *)</code>, you could specify an offset of 3 to run the association each Sunday after the second Thursday of the month. For more information about cron schedules for associations, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/reference-cron-and-rate-expressions.html">Reference: Cron and rate expressions for Systems Manager</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p><note>  <p>To use offsets, you must specify the <code>ApplyOnlyAtCronInterval</code> parameter. This option tells the system not to run an association immediately after you create it.</p> </note><br>
          23  +
    ///   - [`duration(i32)`](crate::operation::create_association::builders::CreateAssociationFluentBuilder::duration) / [`set_duration(Option<i32>)`](crate::operation::create_association::builders::CreateAssociationFluentBuilder::set_duration):<br>required: **false**<br><p>The number of hours the association can run before it is canceled. Duration applies to associations that are currently running, and any pending and in progress commands on all targets. If a target was taken offline for the association to run, it is made available again immediately, without a reboot.</p> <p>The <code>Duration</code> parameter applies only when both these conditions are true:</p> <ul>  <li>   <p>The association for which you specify a duration is cancelable according to the parameters of the SSM command document or Automation runbook associated with this execution.</p></li>  <li>   <p>The command specifies the <code> <a href="https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_CreateAssociation.html#systemsmanager-CreateAssociation-request-ApplyOnlyAtCronInterval">ApplyOnlyAtCronInterval</a> </code> parameter, which means that the association doesn't run immediately after it is created, but only according to the specified schedule.</p></li> </ul><br>
          24  +
    ///   - [`target_maps(HashMap::<String, Vec::<String>>)`](crate::operation::create_association::builders::CreateAssociationFluentBuilder::target_maps) / [`set_target_maps(Option<Vec::<HashMap::<String, Vec::<String>>>>)`](crate::operation::create_association::builders::CreateAssociationFluentBuilder::set_target_maps):<br>required: **false**<br><p>A key-value mapping of document parameters to target resources. Both Targets and TargetMaps can't be specified together.</p><br>
          25  +
    ///   - [`tags(Tag)`](crate::operation::create_association::builders::CreateAssociationFluentBuilder::tags) / [`set_tags(Option<Vec::<Tag>>)`](crate::operation::create_association::builders::CreateAssociationFluentBuilder::set_tags):<br>required: **false**<br><p>Adds or overwrites one or more tags for a State Manager association. <i>Tags</i> are metadata that you can assign to your Amazon Web Services resources. Tags enable you to categorize your resources in different ways, for example, by purpose, owner, or environment. Each tag consists of a key and an optional value, both of which you define.</p><br>
          26  +
    ///   - [`alarm_configuration(AlarmConfiguration)`](crate::operation::create_association::builders::CreateAssociationFluentBuilder::alarm_configuration) / [`set_alarm_configuration(Option<AlarmConfiguration>)`](crate::operation::create_association::builders::CreateAssociationFluentBuilder::set_alarm_configuration):<br>required: **false**<br><p>The details for the CloudWatch alarm you want to apply to an automation or command.</p><br>
          27  +
    ///   - [`association_dispatch_assume_role(impl Into<String>)`](crate::operation::create_association::builders::CreateAssociationFluentBuilder::association_dispatch_assume_role) / [`set_association_dispatch_assume_role(Option<String>)`](crate::operation::create_association::builders::CreateAssociationFluentBuilder::set_association_dispatch_assume_role):<br>required: **false**<br><p>A role used by association to take actions on your behalf. State Manager will assume this role and call required APIs when dispatching configurations to nodes. If not specified, <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/using-service-linked-roles.html"> service-linked role for Systems Manager</a> will be used by default.</p><note>  <p>It is recommended that you define a custom IAM role so that you have full control of the permissions that State Manager has when taking actions on your behalf.</p>  <p>Service-linked role support in State Manager is being phased out. Associations relying on service-linked role may require updates in the future to continue functioning properly.</p> </note><br>
          28  +
    /// - On success, responds with [`CreateAssociationOutput`](crate::operation::create_association::CreateAssociationOutput) with field(s):
          29  +
    ///   - [`association_description(Option<AssociationDescription>)`](crate::operation::create_association::CreateAssociationOutput::association_description): <p>Information about the association.</p>
          30  +
    /// - On failure, responds with [`SdkError<CreateAssociationError>`](crate::operation::create_association::CreateAssociationError)
          31  +
    pub fn create_association(&self) -> crate::operation::create_association::builders::CreateAssociationFluentBuilder {
          32  +
        crate::operation::create_association::builders::CreateAssociationFluentBuilder::new(self.handle.clone())
          33  +
    }
          34  +
}