/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Proposed access control configuration for a KMS key. You can propose a
* configuration for a new KMS key or an existing KMS key that you own by
* specifying the key policy and KMS grant configuration. If the configuration is
* for an existing key and you do not specify the key policy, the access preview
* uses the existing policy for the key. If the access preview is for a new
* resource and you do not specify the key policy, then the access preview uses the
* default key policy. The proposed key policy cannot be an empty string. For more
* information, see Default
* key policy. For more information about key policy limits, see Resource
* quotas.See Also:
AWS
* API Reference
Resource policy configuration for the KMS key. The only valid value for the
* name of the key policy is default
. For more information, see Default
* key policy.
Resource policy configuration for the KMS key. The only valid value for the
* name of the key policy is default
. For more information, see Default
* key policy.
Resource policy configuration for the KMS key. The only valid value for the
* name of the key policy is default
. For more information, see Default
* key policy.
Resource policy configuration for the KMS key. The only valid value for the
* name of the key policy is default
. For more information, see Default
* key policy.
Resource policy configuration for the KMS key. The only valid value for the
* name of the key policy is default
. For more information, see Default
* key policy.
Resource policy configuration for the KMS key. The only valid value for the
* name of the key policy is default
. For more information, see Default
* key policy.
Resource policy configuration for the KMS key. The only valid value for the
* name of the key policy is default
. For more information, see Default
* key policy.
Resource policy configuration for the KMS key. The only valid value for the
* name of the key policy is default
. For more information, see Default
* key policy.
Resource policy configuration for the KMS key. The only valid value for the
* name of the key policy is default
. For more information, see Default
* key policy.
Resource policy configuration for the KMS key. The only valid value for the
* name of the key policy is default
. For more information, see Default
* key policy.
Resource policy configuration for the KMS key. The only valid value for the
* name of the key policy is default
. For more information, see Default
* key policy.
Resource policy configuration for the KMS key. The only valid value for the
* name of the key policy is default
. For more information, see Default
* key policy.
Resource policy configuration for the KMS key. The only valid value for the
* name of the key policy is default
. For more information, see Default
* key policy.
A list of proposed grant configurations for the KMS key. If the proposed * grant configuration is for an existing key, the access preview uses the proposed * list of grant configurations in place of the existing grants. Otherwise, the * access preview uses the existing grants for the key.
*/ inline const Aws::VectorA list of proposed grant configurations for the KMS key. If the proposed * grant configuration is for an existing key, the access preview uses the proposed * list of grant configurations in place of the existing grants. Otherwise, the * access preview uses the existing grants for the key.
*/ inline bool GrantsHasBeenSet() const { return m_grantsHasBeenSet; } /** *A list of proposed grant configurations for the KMS key. If the proposed * grant configuration is for an existing key, the access preview uses the proposed * list of grant configurations in place of the existing grants. Otherwise, the * access preview uses the existing grants for the key.
*/ inline void SetGrants(const Aws::VectorA list of proposed grant configurations for the KMS key. If the proposed * grant configuration is for an existing key, the access preview uses the proposed * list of grant configurations in place of the existing grants. Otherwise, the * access preview uses the existing grants for the key.
*/ inline void SetGrants(Aws::VectorA list of proposed grant configurations for the KMS key. If the proposed * grant configuration is for an existing key, the access preview uses the proposed * list of grant configurations in place of the existing grants. Otherwise, the * access preview uses the existing grants for the key.
*/ inline KmsKeyConfiguration& WithGrants(const Aws::VectorA list of proposed grant configurations for the KMS key. If the proposed * grant configuration is for an existing key, the access preview uses the proposed * list of grant configurations in place of the existing grants. Otherwise, the * access preview uses the existing grants for the key.
*/ inline KmsKeyConfiguration& WithGrants(Aws::VectorA list of proposed grant configurations for the KMS key. If the proposed * grant configuration is for an existing key, the access preview uses the proposed * list of grant configurations in place of the existing grants. Otherwise, the * access preview uses the existing grants for the key.
*/ inline KmsKeyConfiguration& AddGrants(const KmsGrantConfiguration& value) { m_grantsHasBeenSet = true; m_grants.push_back(value); return *this; } /** *A list of proposed grant configurations for the KMS key. If the proposed * grant configuration is for an existing key, the access preview uses the proposed * list of grant configurations in place of the existing grants. Otherwise, the * access preview uses the existing grants for the key.
*/ inline KmsKeyConfiguration& AddGrants(KmsGrantConfiguration&& value) { m_grantsHasBeenSet = true; m_grants.push_back(std::move(value)); return *this; } private: Aws::Map