/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.securityhub.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *

* Contains metadata about an KMS key. *

* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class AwsKmsKeyDetails implements Serializable, Cloneable, StructuredPojo { /** *

* The twelve-digit account ID of the Amazon Web Services account that owns the KMS key. *

*/ private String aWSAccountId; /** *

* Indicates when the KMS key was created. *

*

* Uses the date-time format specified in RFC * 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces, and date and time should be * separated by T. For example, 2020-03-22T13:22:13.933Z. *

*/ private Double creationDate; /** *

* The globally unique identifier for the KMS key. *

*/ private String keyId; /** *

* The manager of the KMS key. KMS keys in your Amazon Web Services account are either customer managed or Amazon * Web Services managed. *

*/ private String keyManager; /** *

* The state of the KMS key. Valid values are as follows: *

* */ private String keyState; /** *

* The source of the KMS key material. *

*

* When this value is AWS_KMS, KMS created the key material. *

*

* When this value is EXTERNAL, the key material was imported from your existing key management * infrastructure or the KMS key lacks key material. *

*

* When this value is AWS_CLOUDHSM, the key material was created in the CloudHSM cluster associated * with a custom key store. *

*/ private String origin; /** *

* A description of the KMS key. *

*/ private String description; /** *

* Whether the key has key rotation enabled. *

*/ private Boolean keyRotationStatus; /** *

* The twelve-digit account ID of the Amazon Web Services account that owns the KMS key. *

* * @param aWSAccountId * The twelve-digit account ID of the Amazon Web Services account that owns the KMS key. */ public void setAWSAccountId(String aWSAccountId) { this.aWSAccountId = aWSAccountId; } /** *

* The twelve-digit account ID of the Amazon Web Services account that owns the KMS key. *

* * @return The twelve-digit account ID of the Amazon Web Services account that owns the KMS key. */ public String getAWSAccountId() { return this.aWSAccountId; } /** *

* The twelve-digit account ID of the Amazon Web Services account that owns the KMS key. *

* * @param aWSAccountId * The twelve-digit account ID of the Amazon Web Services account that owns the KMS key. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsKmsKeyDetails withAWSAccountId(String aWSAccountId) { setAWSAccountId(aWSAccountId); return this; } /** *

* Indicates when the KMS key was created. *

*

* Uses the date-time format specified in RFC * 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces, and date and time should be * separated by T. For example, 2020-03-22T13:22:13.933Z. *

* * @param creationDate * Indicates when the KMS key was created.

*

* Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time * Format. The value cannot contain spaces, and date and time should be separated by T. For * example, 2020-03-22T13:22:13.933Z. */ public void setCreationDate(Double creationDate) { this.creationDate = creationDate; } /** *

* Indicates when the KMS key was created. *

*

* Uses the date-time format specified in RFC * 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces, and date and time should be * separated by T. For example, 2020-03-22T13:22:13.933Z. *

* * @return Indicates when the KMS key was created.

*

* Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time * Format. The value cannot contain spaces, and date and time should be separated by T. For * example, 2020-03-22T13:22:13.933Z. */ public Double getCreationDate() { return this.creationDate; } /** *

* Indicates when the KMS key was created. *

*

* Uses the date-time format specified in RFC * 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces, and date and time should be * separated by T. For example, 2020-03-22T13:22:13.933Z. *

* * @param creationDate * Indicates when the KMS key was created.

*

* Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time * Format. The value cannot contain spaces, and date and time should be separated by T. For * example, 2020-03-22T13:22:13.933Z. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsKmsKeyDetails withCreationDate(Double creationDate) { setCreationDate(creationDate); return this; } /** *

* The globally unique identifier for the KMS key. *

* * @param keyId * The globally unique identifier for the KMS key. */ public void setKeyId(String keyId) { this.keyId = keyId; } /** *

* The globally unique identifier for the KMS key. *

* * @return The globally unique identifier for the KMS key. */ public String getKeyId() { return this.keyId; } /** *

* The globally unique identifier for the KMS key. *

* * @param keyId * The globally unique identifier for the KMS key. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsKmsKeyDetails withKeyId(String keyId) { setKeyId(keyId); return this; } /** *

* The manager of the KMS key. KMS keys in your Amazon Web Services account are either customer managed or Amazon * Web Services managed. *

* * @param keyManager * The manager of the KMS key. KMS keys in your Amazon Web Services account are either customer managed or * Amazon Web Services managed. */ public void setKeyManager(String keyManager) { this.keyManager = keyManager; } /** *

* The manager of the KMS key. KMS keys in your Amazon Web Services account are either customer managed or Amazon * Web Services managed. *

* * @return The manager of the KMS key. KMS keys in your Amazon Web Services account are either customer managed or * Amazon Web Services managed. */ public String getKeyManager() { return this.keyManager; } /** *

* The manager of the KMS key. KMS keys in your Amazon Web Services account are either customer managed or Amazon * Web Services managed. *

* * @param keyManager * The manager of the KMS key. KMS keys in your Amazon Web Services account are either customer managed or * Amazon Web Services managed. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsKmsKeyDetails withKeyManager(String keyManager) { setKeyManager(keyManager); return this; } /** *

* The state of the KMS key. Valid values are as follows: *

* * * @param keyState * The state of the KMS key. Valid values are as follows:

*