All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.oracle.bmc.identity.model.CustomerSecretKey Maven / Gradle / Ivy

/**
 * Copyright (c) 2016, 2021, Oracle and/or its affiliates.  All rights reserved.
 * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
 */
package com.oracle.bmc.identity.model;

/**
 * A {@code CustomerSecretKey} is an Oracle-provided key for using the Object Storage Service's
 * [Amazon S3 compatible API](https://docs.cloud.oracle.com/Content/Object/Tasks/s3compatibleapi.htm). The key consists of a
 * secret key/access key pair. A user can have up to two secret keys at a time.
 * 

**Note:** The secret key is always an Oracle-generated string; you can't change it to a string of your choice. *

* For more information, see [Managing User Credentials](https://docs.cloud.oracle.com/Content/Identity/Tasks/managingcredentials.htm). * *
* Note: Objects should always be created or deserialized using the {@link Builder}. This model distinguishes fields * that are {@code null} because they are unset from fields that are explicitly set to {@code null}. This is done in * the setter methods of the {@link Builder}, which maintain a set of all explicitly set fields called * {@link #__explicitlySet__}. The {@link #hashCode()} and {@link #equals(Object)} methods are implemented to take * {@link #__explicitlySet__} into account. The constructor, on the other hand, does not set {@link #__explicitlySet__} * (since the constructor cannot distinguish explicit {@code null} from unset {@code null}). **/ @javax.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") @lombok.AllArgsConstructor(onConstructor = @__({@Deprecated})) @lombok.Value @com.fasterxml.jackson.databind.annotation.JsonDeserialize( builder = CustomerSecretKey.Builder.class ) @com.fasterxml.jackson.annotation.JsonFilter(com.oracle.bmc.http.internal.ExplicitlySetFilter.NAME) @lombok.Builder(builderClassName = "Builder", toBuilder = true) public class CustomerSecretKey { @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @lombok.experimental.Accessors(fluent = true) public static class Builder { @com.fasterxml.jackson.annotation.JsonProperty("key") private String key; public Builder key(String key) { this.key = key; this.__explicitlySet__.add("key"); return this; } @com.fasterxml.jackson.annotation.JsonProperty("id") private String id; public Builder id(String id) { this.id = id; this.__explicitlySet__.add("id"); return this; } @com.fasterxml.jackson.annotation.JsonProperty("userId") private String userId; public Builder userId(String userId) { this.userId = userId; this.__explicitlySet__.add("userId"); return this; } @com.fasterxml.jackson.annotation.JsonProperty("displayName") private String displayName; public Builder displayName(String displayName) { this.displayName = displayName; this.__explicitlySet__.add("displayName"); return this; } @com.fasterxml.jackson.annotation.JsonProperty("timeCreated") private java.util.Date timeCreated; public Builder timeCreated(java.util.Date timeCreated) { this.timeCreated = timeCreated; this.__explicitlySet__.add("timeCreated"); return this; } @com.fasterxml.jackson.annotation.JsonProperty("timeExpires") private java.util.Date timeExpires; public Builder timeExpires(java.util.Date timeExpires) { this.timeExpires = timeExpires; this.__explicitlySet__.add("timeExpires"); return this; } @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") private LifecycleState lifecycleState; public Builder lifecycleState(LifecycleState lifecycleState) { this.lifecycleState = lifecycleState; this.__explicitlySet__.add("lifecycleState"); return this; } @com.fasterxml.jackson.annotation.JsonProperty("inactiveStatus") private Long inactiveStatus; public Builder inactiveStatus(Long inactiveStatus) { this.inactiveStatus = inactiveStatus; this.__explicitlySet__.add("inactiveStatus"); return this; } @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); public CustomerSecretKey build() { CustomerSecretKey __instance__ = new CustomerSecretKey( key, id, userId, displayName, timeCreated, timeExpires, lifecycleState, inactiveStatus); __instance__.__explicitlySet__.addAll(__explicitlySet__); return __instance__; } @com.fasterxml.jackson.annotation.JsonIgnore public Builder copy(CustomerSecretKey o) { Builder copiedBuilder = key(o.getKey()) .id(o.getId()) .userId(o.getUserId()) .displayName(o.getDisplayName()) .timeCreated(o.getTimeCreated()) .timeExpires(o.getTimeExpires()) .lifecycleState(o.getLifecycleState()) .inactiveStatus(o.getInactiveStatus()); copiedBuilder.__explicitlySet__.retainAll(o.__explicitlySet__); return copiedBuilder; } } /** * Create a new builder. */ public static Builder builder() { return new Builder(); } /** * The secret key. * **/ @com.fasterxml.jackson.annotation.JsonProperty("key") String key; /** * The access key portion of the key pair. **/ @com.fasterxml.jackson.annotation.JsonProperty("id") String id; /** * The OCID of the user the password belongs to. **/ @com.fasterxml.jackson.annotation.JsonProperty("userId") String userId; /** * The display name you assign to the secret key. Does not have to be unique, and it's changeable. **/ @com.fasterxml.jackson.annotation.JsonProperty("displayName") String displayName; /** * Date and time the {@code CustomerSecretKey} object was created, in the format defined by RFC3339. *

* Example: {@code 2016-08-25T21:10:29.600Z} * **/ @com.fasterxml.jackson.annotation.JsonProperty("timeCreated") java.util.Date timeCreated; /** * Date and time when this password will expire, in the format defined by RFC3339. * Null if it never expires. *

* Example: {@code 2016-08-25T21:10:29.600Z} * **/ @com.fasterxml.jackson.annotation.JsonProperty("timeExpires") java.util.Date timeExpires; /** * The secret key's current state. After creating a secret key, make sure its {@code lifecycleState} changes from * CREATING to ACTIVE before using it. * **/ @lombok.extern.slf4j.Slf4j public enum LifecycleState { Creating("CREATING"), Active("ACTIVE"), Inactive("INACTIVE"), Deleting("DELETING"), Deleted("DELETED"), /** * This value is used if a service returns a value for this enum that is not recognized by this * version of the SDK. */ UnknownEnumValue(null); private final String value; private static java.util.Map map; static { map = new java.util.HashMap<>(); for (LifecycleState v : LifecycleState.values()) { if (v != UnknownEnumValue) { map.put(v.getValue(), v); } } } LifecycleState(String value) { this.value = value; } @com.fasterxml.jackson.annotation.JsonValue public String getValue() { return value; } @com.fasterxml.jackson.annotation.JsonCreator public static LifecycleState create(String key) { if (map.containsKey(key)) { return map.get(key); } LOG.warn( "Received unknown value '{}' for enum 'LifecycleState', returning UnknownEnumValue", key); return UnknownEnumValue; } }; /** * The secret key's current state. After creating a secret key, make sure its {@code lifecycleState} changes from * CREATING to ACTIVE before using it. * **/ @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") LifecycleState lifecycleState; /** * The detailed status of INACTIVE lifecycleState. **/ @com.fasterxml.jackson.annotation.JsonProperty("inactiveStatus") Long inactiveStatus; @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy