/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace ConfigService { namespace Model { /** *

This API allows you to create a conformance pack template with an Amazon Web * Services Systems Manager document (SSM document). To deploy a conformance pack * using an SSM document, first create an SSM document with conformance pack * content, and then provide the DocumentName in the PutConformancePack * API. You can also provide the DocumentVersion.

The * TemplateSSMDocumentDetails object contains the name of the SSM * document and the version of the SSM document.

See Also:

AWS * API Reference

*/ class TemplateSSMDocumentDetails { public: AWS_CONFIGSERVICE_API TemplateSSMDocumentDetails(); AWS_CONFIGSERVICE_API TemplateSSMDocumentDetails(Aws::Utils::Json::JsonView jsonValue); AWS_CONFIGSERVICE_API TemplateSSMDocumentDetails& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_CONFIGSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The name or Amazon Resource Name (ARN) of the SSM document to use to create a * conformance pack. If you use the document name, Config checks only your account * and Amazon Web Services Region for the SSM document. If you want to use an SSM * document from another Region or account, you must provide the ARN.

*/ inline const Aws::String& GetDocumentName() const{ return m_documentName; } /** *

The name or Amazon Resource Name (ARN) of the SSM document to use to create a * conformance pack. If you use the document name, Config checks only your account * and Amazon Web Services Region for the SSM document. If you want to use an SSM * document from another Region or account, you must provide the ARN.

*/ inline bool DocumentNameHasBeenSet() const { return m_documentNameHasBeenSet; } /** *

The name or Amazon Resource Name (ARN) of the SSM document to use to create a * conformance pack. If you use the document name, Config checks only your account * and Amazon Web Services Region for the SSM document. If you want to use an SSM * document from another Region or account, you must provide the ARN.

*/ inline void SetDocumentName(const Aws::String& value) { m_documentNameHasBeenSet = true; m_documentName = value; } /** *

The name or Amazon Resource Name (ARN) of the SSM document to use to create a * conformance pack. If you use the document name, Config checks only your account * and Amazon Web Services Region for the SSM document. If you want to use an SSM * document from another Region or account, you must provide the ARN.

*/ inline void SetDocumentName(Aws::String&& value) { m_documentNameHasBeenSet = true; m_documentName = std::move(value); } /** *

The name or Amazon Resource Name (ARN) of the SSM document to use to create a * conformance pack. If you use the document name, Config checks only your account * and Amazon Web Services Region for the SSM document. If you want to use an SSM * document from another Region or account, you must provide the ARN.

*/ inline void SetDocumentName(const char* value) { m_documentNameHasBeenSet = true; m_documentName.assign(value); } /** *

The name or Amazon Resource Name (ARN) of the SSM document to use to create a * conformance pack. If you use the document name, Config checks only your account * and Amazon Web Services Region for the SSM document. If you want to use an SSM * document from another Region or account, you must provide the ARN.

*/ inline TemplateSSMDocumentDetails& WithDocumentName(const Aws::String& value) { SetDocumentName(value); return *this;} /** *

The name or Amazon Resource Name (ARN) of the SSM document to use to create a * conformance pack. If you use the document name, Config checks only your account * and Amazon Web Services Region for the SSM document. If you want to use an SSM * document from another Region or account, you must provide the ARN.

*/ inline TemplateSSMDocumentDetails& WithDocumentName(Aws::String&& value) { SetDocumentName(std::move(value)); return *this;} /** *

The name or Amazon Resource Name (ARN) of the SSM document to use to create a * conformance pack. If you use the document name, Config checks only your account * and Amazon Web Services Region for the SSM document. If you want to use an SSM * document from another Region or account, you must provide the ARN.

*/ inline TemplateSSMDocumentDetails& WithDocumentName(const char* value) { SetDocumentName(value); return *this;} /** *

The version of the SSM document to use to create a conformance pack. By * default, Config uses the latest version.

This field is * optional.

*/ inline const Aws::String& GetDocumentVersion() const{ return m_documentVersion; } /** *

The version of the SSM document to use to create a conformance pack. By * default, Config uses the latest version.

This field is * optional.

*/ inline bool DocumentVersionHasBeenSet() const { return m_documentVersionHasBeenSet; } /** *

The version of the SSM document to use to create a conformance pack. By * default, Config uses the latest version.

This field is * optional.

*/ inline void SetDocumentVersion(const Aws::String& value) { m_documentVersionHasBeenSet = true; m_documentVersion = value; } /** *

The version of the SSM document to use to create a conformance pack. By * default, Config uses the latest version.

This field is * optional.

*/ inline void SetDocumentVersion(Aws::String&& value) { m_documentVersionHasBeenSet = true; m_documentVersion = std::move(value); } /** *

The version of the SSM document to use to create a conformance pack. By * default, Config uses the latest version.

This field is * optional.

*/ inline void SetDocumentVersion(const char* value) { m_documentVersionHasBeenSet = true; m_documentVersion.assign(value); } /** *

The version of the SSM document to use to create a conformance pack. By * default, Config uses the latest version.

This field is * optional.

*/ inline TemplateSSMDocumentDetails& WithDocumentVersion(const Aws::String& value) { SetDocumentVersion(value); return *this;} /** *

The version of the SSM document to use to create a conformance pack. By * default, Config uses the latest version.

This field is * optional.

*/ inline TemplateSSMDocumentDetails& WithDocumentVersion(Aws::String&& value) { SetDocumentVersion(std::move(value)); return *this;} /** *

The version of the SSM document to use to create a conformance pack. By * default, Config uses the latest version.

This field is * optional.

*/ inline TemplateSSMDocumentDetails& WithDocumentVersion(const char* value) { SetDocumentVersion(value); return *this;} private: Aws::String m_documentName; bool m_documentNameHasBeenSet = false; Aws::String m_documentVersion; bool m_documentVersionHasBeenSet = false; }; } // namespace Model } // namespace ConfigService } // namespace Aws