/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace Inspector2 { namespace Model { /** */ class UpdateEncryptionKeyRequest : public Inspector2Request { public: AWS_INSPECTOR2_API UpdateEncryptionKeyRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "UpdateEncryptionKey"; } AWS_INSPECTOR2_API Aws::String SerializePayload() const override; /** *

A KMS key ID for the encryption key.

*/ inline const Aws::String& GetKmsKeyId() const{ return m_kmsKeyId; } /** *

A KMS key ID for the encryption key.

*/ inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; } /** *

A KMS key ID for the encryption key.

*/ inline void SetKmsKeyId(const Aws::String& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = value; } /** *

A KMS key ID for the encryption key.

*/ inline void SetKmsKeyId(Aws::String&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::move(value); } /** *

A KMS key ID for the encryption key.

*/ inline void SetKmsKeyId(const char* value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId.assign(value); } /** *

A KMS key ID for the encryption key.

*/ inline UpdateEncryptionKeyRequest& WithKmsKeyId(const Aws::String& value) { SetKmsKeyId(value); return *this;} /** *

A KMS key ID for the encryption key.

*/ inline UpdateEncryptionKeyRequest& WithKmsKeyId(Aws::String&& value) { SetKmsKeyId(std::move(value)); return *this;} /** *

A KMS key ID for the encryption key.

*/ inline UpdateEncryptionKeyRequest& WithKmsKeyId(const char* value) { SetKmsKeyId(value); return *this;} /** *

The resource type for the encryption key.

*/ inline const ResourceType& GetResourceType() const{ return m_resourceType; } /** *

The resource type for the encryption key.

*/ inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } /** *

The resource type for the encryption key.

*/ inline void SetResourceType(const ResourceType& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; } /** *

The resource type for the encryption key.

*/ inline void SetResourceType(ResourceType&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); } /** *

The resource type for the encryption key.

*/ inline UpdateEncryptionKeyRequest& WithResourceType(const ResourceType& value) { SetResourceType(value); return *this;} /** *

The resource type for the encryption key.

*/ inline UpdateEncryptionKeyRequest& WithResourceType(ResourceType&& value) { SetResourceType(std::move(value)); return *this;} /** *

The scan type for the encryption key.

*/ inline const ScanType& GetScanType() const{ return m_scanType; } /** *

The scan type for the encryption key.

*/ inline bool ScanTypeHasBeenSet() const { return m_scanTypeHasBeenSet; } /** *

The scan type for the encryption key.

*/ inline void SetScanType(const ScanType& value) { m_scanTypeHasBeenSet = true; m_scanType = value; } /** *

The scan type for the encryption key.

*/ inline void SetScanType(ScanType&& value) { m_scanTypeHasBeenSet = true; m_scanType = std::move(value); } /** *

The scan type for the encryption key.

*/ inline UpdateEncryptionKeyRequest& WithScanType(const ScanType& value) { SetScanType(value); return *this;} /** *

The scan type for the encryption key.

*/ inline UpdateEncryptionKeyRequest& WithScanType(ScanType&& value) { SetScanType(std::move(value)); return *this;} private: Aws::String m_kmsKeyId; bool m_kmsKeyIdHasBeenSet = false; ResourceType m_resourceType; bool m_resourceTypeHasBeenSet = false; ScanType m_scanType; bool m_scanTypeHasBeenSet = false; }; } // namespace Model } // namespace Inspector2 } // namespace Aws