AWSKMSKeyMetadata
Objective-C
@interface AWSKMSKeyMetadata
Swift
class AWSKMSKeyMetadata
Contains metadata about a KMS key.
This data type is used as a response element for the CreateKey, DescribeKey, and ReplicateKey operations.
Required parameters: [KeyId]
-
The twelve-digit account ID of the Amazon Web Services account that owns the KMS key.
Declaration
Objective-C
@property (nonatomic, strong) NSString *_Nullable AWSAccountId;
Swift
var awsAccountId: String? { get set }
-
The Amazon Resource Name (ARN) of the KMS key. For examples, see Key Management Service (KMS) in the Example ARNs section of the Amazon Web Services General Reference.
Declaration
Objective-C
@property (nonatomic, strong) NSString *_Nullable arn;
Swift
var arn: String? { get set }
-
The cluster ID of the CloudHSM cluster that contains the key material for the KMS key. When you create a KMS key in an CloudHSM custom key store, KMS creates the key material for the KMS key in the associated CloudHSM cluster. This field is present only when the KMS key is created in an CloudHSM key store.
Declaration
Objective-C
@property (nonatomic, strong) NSString *_Nullable cloudHsmClusterId;
Swift
var cloudHsmClusterId: String? { get set }
-
The date and time when the KMS key was created.
Declaration
Objective-C
@property (nonatomic, strong) NSDate *_Nullable creationDate;
Swift
var creationDate: Date? { get set }
-
A unique identifier for the custom key store that contains the KMS key. This field is present only when the KMS key is created in a custom key store.
Declaration
Objective-C
@property (nonatomic, strong) NSString *_Nullable customKeyStoreId;
Swift
var customKeyStoreId: String? { get set }
-
Instead, use the
KeySpec
field.The
KeySpec
andCustomerMasterKeySpec
fields have the same value. We recommend that you use theKeySpec
field in your code. However, to avoid breaking changes, KMS supports both fields.Declaration
Objective-C
@property (nonatomic) AWSKMSCustomerMasterKeySpec customerMasterKeySpec;
Swift
var customerMasterKeySpec: AWSKMSCustomerMasterKeySpec { get set }
-
The date and time after which KMS deletes this KMS key. This value is present only when the KMS key is scheduled for deletion, that is, when its
KeyState
isPendingDeletion
.When the primary key in a multi-Region key is scheduled for deletion but still has replica keys, its key state is
PendingReplicaDeletion
and the length of its waiting period is displayed in thePendingDeletionWindowInDays
field.Declaration
Objective-C
@property (nonatomic, strong) NSDate *_Nullable deletionDate;
Swift
var deletionDate: Date? { get set }
-
The description of the KMS key.
Declaration
Objective-C
@property (nonatomic, strong) NSString *_Nullable detail;
Swift
var detail: String? { get set }
-
Specifies whether the KMS key is enabled. When
KeyState
isEnabled
this value is true, otherwise it is false.Declaration
Objective-C
@property (nonatomic, strong) NSNumber *_Nullable enabled;
Swift
var enabled: NSNumber? { get set }
-
The encryption algorithms that the KMS key supports. You cannot use the KMS key with other encryption algorithms within KMS.
This value is present only when the
KeyUsage
of the KMS key isENCRYPT_DECRYPT
.Declaration
Objective-C
@property (nonatomic, strong) NSArray<NSString *> *_Nullable encryptionAlgorithms;
Swift
var encryptionAlgorithms: [String]? { get set }
-
Specifies whether the KMS key’s key material expires. This value is present only when
Origin
isEXTERNAL
, otherwise this value is omitted.Declaration
Objective-C
@property (nonatomic) AWSKMSExpirationModelType expirationModel;
Swift
var expirationModel: AWSKMSExpirationModelType { get set }
-
The key agreement algorithm used to derive a shared secret.
Declaration
Objective-C
@property (nonatomic, strong) NSArray<NSString *> *_Nullable keyAgreementAlgorithms;
Swift
var keyAgreementAlgorithms: [String]? { get set }
-
The globally unique identifier for the KMS key.
Declaration
Objective-C
@property (nonatomic, strong) NSString *_Nullable keyId;
Swift
var keyId: String? { get set }
-
The manager of the KMS key. KMS keys in your Amazon Web Services account are either customer managed or Amazon Web Services managed. For more information about the difference, see KMS keys in the Key Management Service Developer Guide.
Declaration
Objective-C
@property (nonatomic) AWSKMSKeyManagerType keyManager;
Swift
var keyManager: AWSKMSKeyManagerType { get set }
-
Describes the type of key material in the KMS key.
Declaration
Objective-C
@property (nonatomic) AWSKMSKeySpec keySpec;
Swift
var keySpec: AWSKMSKeySpec { get set }
-
The current status of the KMS key.
For more information about how key state affects the use of a KMS key, see Key states of KMS keys in the Key Management Service Developer Guide.
Declaration
Objective-C
@property (nonatomic) AWSKMSKeyState keyState;
Swift
var keyState: AWSKMSKeyState { get set }
-
The cryptographic operations for which you can use the KMS key.
Declaration
Objective-C
@property (nonatomic) AWSKMSKeyUsageType keyUsage;
Swift
var keyUsage: AWSKMSKeyUsageType { get set }
-
The message authentication code (MAC) algorithm that the HMAC KMS key supports.
This value is present only when the
KeyUsage
of the KMS key isGENERATE_VERIFY_MAC
.Declaration
Objective-C
@property (nonatomic, strong) NSArray<NSString *> *_Nullable macAlgorithms;
Swift
var macAlgorithms: [String]? { get set }
-
Indicates whether the KMS key is a multi-Region (
True
) or regional (False
) key. This value isTrue
for multi-Region primary and replica keys andFalse
for regional KMS keys.For more information about multi-Region keys, see Multi-Region keys in KMS in the Key Management Service Developer Guide.
Declaration
Objective-C
@property (nonatomic, strong) NSNumber *_Nullable multiRegion;
Swift
var multiRegion: NSNumber? { get set }
-
Lists the primary and replica keys in same multi-Region key. This field is present only when the value of the
MultiRegion
field isTrue
.For more information about any listed KMS key, use the DescribeKey operation.
MultiRegionKeyType
indicates whether the KMS key is aPRIMARY
orREPLICA
key.PrimaryKey
displays the key ARN and Region of the primary key. This field displays the current KMS key if it is the primary key.ReplicaKeys
displays the key ARNs and Regions of all replica keys. This field includes the current KMS key if it is a replica key.
Declaration
Objective-C
@property (nonatomic, strong) AWSKMSMultiRegionConfiguration *_Nullable multiRegionConfiguration;
Swift
var multiRegionConfiguration: AWSKMSMultiRegionConfiguration? { get set }
-
The source of the key material for the KMS key. When this value is
AWS_KMS
, KMS created the key material. When this value isEXTERNAL
, the key material was imported or the KMS key doesn’t have any key material. When this value isAWS_CLOUDHSM
, the key material was created in the CloudHSM cluster associated with a custom key store.Declaration
Objective-C
@property (nonatomic) AWSKMSOriginType origin;
Swift
var origin: AWSKMSOriginType { get set }
-
The waiting period before the primary key in a multi-Region key is deleted. This waiting period begins when the last of its replica keys is deleted. This value is present only when the
KeyState
of the KMS key isPendingReplicaDeletion
. That indicates that the KMS key is the primary key in a multi-Region key, it is scheduled for deletion, and it still has existing replica keys.When a single-Region KMS key or a multi-Region replica key is scheduled for deletion, its deletion date is displayed in the
DeletionDate
field. However, when the primary key in a multi-Region key is scheduled for deletion, its waiting period doesn’t begin until all of its replica keys are deleted. This value displays that waiting period. When the last replica key in the multi-Region key is deleted, theKeyState
of the scheduled primary key changes fromPendingReplicaDeletion
toPendingDeletion
and the deletion date appears in theDeletionDate
field.Declaration
Objective-C
@property (nonatomic, strong) NSNumber *_Nullable pendingDeletionWindowInDays;
Swift
var pendingDeletionWindowInDays: NSNumber? { get set }
-
The signing algorithms that the KMS key supports. You cannot use the KMS key with other signing algorithms within KMS.
This field appears only when the
KeyUsage
of the KMS key isSIGN_VERIFY
.Declaration
Objective-C
@property (nonatomic, strong) NSArray<NSString *> *_Nullable signingAlgorithms;
Swift
var signingAlgorithms: [String]? { get set }
-
The time at which the imported key material expires. When the key material expires, KMS deletes the key material and the KMS key becomes unusable. This value is present only for KMS keys whose
Origin
isEXTERNAL
and whoseExpirationModel
isKEY_MATERIAL_EXPIRES
, otherwise this value is omitted.Declaration
Objective-C
@property (nonatomic, strong) NSDate *_Nullable validTo;
Swift
var validTo: Date? { get set }
-
Information about the external key that is associated with a KMS key in an external key store.
For more information, see External key in the Key Management Service Developer Guide.
Declaration
Objective-C
@property (nonatomic, strong) AWSKMSXksKeyConfigurationType *_Nullable xksKeyConfiguration;
Swift
var xksKeyConfiguration: AWSKMSXksKeyConfigurationType? { get set }