import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
* This resource provides the Java Download Token resource in Oracle Cloud Infrastructure Jms Java Downloads service.
* Api doc link for the resource: https://docs.oracle.com/iaas/api/#/en/jms-java-download/latest/JavaDownloadToken
*
* Example terraform configs related to the resource : https://github.com/oracle/terraform-provider-oci/tree/master/examples/jms_java_downloads
*
* Creates a new JavaDownloadToken in the tenancy with specified attributes.
* Ensure that you review the license terms before token generation. Visit the Oracle Java Downloads page to understand the license terms of the Java version for which you are generating a token. By generating a token, you agree to the associated license terms. See Oracle JDK Licensing - FAQs for detailed information.
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as oci from "@pulumi/oci";
*
* const testJavaDownloadToken = new oci.jms.JavaDownloadsJavaDownloadToken("test_java_download_token", {
* compartmentId: tenancyOcid,
* description: javaDownloadTokenDescription,
* displayName: javaDownloadTokenDisplayName,
* javaVersion: javaDownloadTokenJavaVersion,
* licenseTypes: javaDownloadTokenLicenseType,
* timeExpires: javaDownloadTokenTimeExpires,
* definedTags: {
* "foo-namespace.bar-key": "value",
* },
* freeformTags: {
* "bar-key": "value",
* },
* isDefault: javaDownloadTokenIsDefault === "true",
* });
* ```
*
* ## Import
*
* Import is not supported for this resource.
*/
export declare class JavaDownloadsJavaDownloadToken extends pulumi.CustomResource {
/**
* Get an existing JavaDownloadsJavaDownloadToken resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param state Any extra arguments used during the lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input, state?: JavaDownloadsJavaDownloadTokenState, opts?: pulumi.CustomResourceOptions): JavaDownloadsJavaDownloadToken;
/**
* Returns true if the given object is an instance of JavaDownloadsJavaDownloadToken. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is JavaDownloadsJavaDownloadToken;
/**
* The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the tenancy scoped to the JavaDownloadToken.
*/
readonly compartmentId: pulumi.Output;
/**
* An authorized principal.
*/
readonly createdBies: pulumi.Output;
/**
* (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace.bar-key": "value"}`. (See [Understanding Free-form Tags](https://docs.cloud.oracle.com/iaas/Content/Tagging/Tasks/managingtagsandtagnamespaces.htm)).
*/
readonly definedTags: pulumi.Output<{
[key: string]: string;
}>;
/**
* (Updatable) User provided description of the JavaDownloadToken.
*/
readonly description: pulumi.Output;
/**
* (Updatable) User provided display name of the JavaDownloadToken.
*/
readonly displayName: pulumi.Output;
/**
* (Updatable) Simple key-value pair that is applied without any predefined name, type, or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}`. (See [Managing Tags and Tag Namespaces](https://docs.cloud.oracle.com/iaas/Content/Tagging/Concepts/understandingfreeformtags.htm).)
*/
readonly freeformTags: pulumi.Output<{
[key: string]: string;
}>;
/**
* (Updatable) The token default attribute.
*/
readonly isDefault: pulumi.Output;
/**
* The Java version associated with the token.
*/
readonly javaVersion: pulumi.Output;
/**
* An authorized principal.
*/
readonly lastUpdatedBies: pulumi.Output;
/**
* (Updatable) The license type(s) associated with the JavaDownloadToken.
*/
readonly licenseTypes: pulumi.Output;
/**
* Possible lifecycle substates.
*/
readonly lifecycleDetails: pulumi.Output;
/**
* The current state of the JavaDownloadToken.
*/
readonly state: pulumi.Output;
/**
* System tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). System tags can be viewed by users, but can only be created by the system. Example: `{"orcl-cloud.free-tier-retained": "true"}`
*/
readonly systemTags: pulumi.Output<{
[key: string]: string;
}>;
/**
* The time the JavaDownloadToken was created, displayed as an [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339) formatted datetime string.
*/
readonly timeCreated: pulumi.Output;
/**
* (Updatable) Expiry time of the token.
*
* ** IMPORTANT **
* Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values
*/
readonly timeExpires: pulumi.Output;
/**
* The time the JavaDownloadToken was last used for download, displayed as an [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339) formatted datetime string.
*/
readonly timeLastUsed: pulumi.Output;
/**
* The time the JavaDownloadToken was updated, displayed as an [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339) formatted datetime string.
*/
readonly timeUpdated: pulumi.Output;
/**
* Uniquely generated value for the JavaDownloadToken.
*/
readonly value: pulumi.Output;
/**
* Create a JavaDownloadsJavaDownloadToken resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args: JavaDownloadsJavaDownloadTokenArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering JavaDownloadsJavaDownloadToken resources.
*/
export interface JavaDownloadsJavaDownloadTokenState {
/**
* The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the tenancy scoped to the JavaDownloadToken.
*/
compartmentId?: pulumi.Input;
/**
* An authorized principal.
*/
createdBies?: pulumi.Input[] | undefined>;
/**
* (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace.bar-key": "value"}`. (See [Understanding Free-form Tags](https://docs.cloud.oracle.com/iaas/Content/Tagging/Tasks/managingtagsandtagnamespaces.htm)).
*/
definedTags?: pulumi.Input<{
[key: string]: pulumi.Input;
} | undefined>;
/**
* (Updatable) User provided description of the JavaDownloadToken.
*/
description?: pulumi.Input;
/**
* (Updatable) User provided display name of the JavaDownloadToken.
*/
displayName?: pulumi.Input;
/**
* (Updatable) Simple key-value pair that is applied without any predefined name, type, or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}`. (See [Managing Tags and Tag Namespaces](https://docs.cloud.oracle.com/iaas/Content/Tagging/Concepts/understandingfreeformtags.htm).)
*/
freeformTags?: pulumi.Input<{
[key: string]: pulumi.Input;
} | undefined>;
/**
* (Updatable) The token default attribute.
*/
isDefault?: pulumi.Input;
/**
* The Java version associated with the token.
*/
javaVersion?: pulumi.Input;
/**
* An authorized principal.
*/
lastUpdatedBies?: pulumi.Input[] | undefined>;
/**
* (Updatable) The license type(s) associated with the JavaDownloadToken.
*/
licenseTypes?: pulumi.Input[] | undefined>;
/**
* Possible lifecycle substates.
*/
lifecycleDetails?: pulumi.Input;
/**
* The current state of the JavaDownloadToken.
*/
state?: pulumi.Input;
/**
* System tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). System tags can be viewed by users, but can only be created by the system. Example: `{"orcl-cloud.free-tier-retained": "true"}`
*/
systemTags?: pulumi.Input<{
[key: string]: pulumi.Input;
} | undefined>;
/**
* The time the JavaDownloadToken was created, displayed as an [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339) formatted datetime string.
*/
timeCreated?: pulumi.Input;
/**
* (Updatable) Expiry time of the token.
*
* ** IMPORTANT **
* Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values
*/
timeExpires?: pulumi.Input;
/**
* The time the JavaDownloadToken was last used for download, displayed as an [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339) formatted datetime string.
*/
timeLastUsed?: pulumi.Input;
/**
* The time the JavaDownloadToken was updated, displayed as an [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339) formatted datetime string.
*/
timeUpdated?: pulumi.Input;
/**
* Uniquely generated value for the JavaDownloadToken.
*/
value?: pulumi.Input;
}
/**
* The set of arguments for constructing a JavaDownloadsJavaDownloadToken resource.
*/
export interface JavaDownloadsJavaDownloadTokenArgs {
/**
* The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the tenancy scoped to the JavaDownloadToken.
*/
compartmentId: pulumi.Input;
/**
* (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace.bar-key": "value"}`. (See [Understanding Free-form Tags](https://docs.cloud.oracle.com/iaas/Content/Tagging/Tasks/managingtagsandtagnamespaces.htm)).
*/
definedTags?: pulumi.Input<{
[key: string]: pulumi.Input;
} | undefined>;
/**
* (Updatable) User provided description of the JavaDownloadToken.
*/
description: pulumi.Input;
/**
* (Updatable) User provided display name of the JavaDownloadToken.
*/
displayName: pulumi.Input;
/**
* (Updatable) Simple key-value pair that is applied without any predefined name, type, or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}`. (See [Managing Tags and Tag Namespaces](https://docs.cloud.oracle.com/iaas/Content/Tagging/Concepts/understandingfreeformtags.htm).)
*/
freeformTags?: pulumi.Input<{
[key: string]: pulumi.Input;
} | undefined>;
/**
* (Updatable) The token default attribute.
*/
isDefault?: pulumi.Input;
/**
* The Java version associated with the token.
*/
javaVersion: pulumi.Input;
/**
* (Updatable) The license type(s) associated with the JavaDownloadToken.
*/
licenseTypes: pulumi.Input[]>;
/**
* (Updatable) Expiry time of the token.
*
* ** IMPORTANT **
* Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values
*/
timeExpires: pulumi.Input;
}
//# sourceMappingURL=javaDownloadsJavaDownloadToken.d.ts.map