@cdktf/provider-google
Version:
Prebuilt google Provider for Terraform CDK (cdktf)
404 lines (403 loc) • 22.1 kB
TypeScript
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface CertificateManagerCertificateConfig extends cdktf.TerraformMetaArguments {
/**
* A human-readable description of the resource.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/certificate_manager_certificate#description CertificateManagerCertificate#description}
*/
readonly description?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/certificate_manager_certificate#id CertificateManagerCertificate#id}
*
* Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
* If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
*/
readonly id?: string;
/**
* Set of label tags associated with the Certificate resource.
*
* **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
* Please refer to the field 'effective_labels' for all of the labels present on the resource.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/certificate_manager_certificate#labels CertificateManagerCertificate#labels}
*/
readonly labels?: {
[key: string]: string;
};
/**
* The Certificate Manager location. If not specified, "global" is used.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/certificate_manager_certificate#location CertificateManagerCertificate#location}
*/
readonly location?: string;
/**
* A user-defined name of the certificate. Certificate names must be unique
* The name must be 1-64 characters long, and match the regular expression [a-zA-Z][a-zA-Z0-9_-]* which means the first character must be a letter,
* and all following characters must be a dash, underscore, letter or digit.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/certificate_manager_certificate#name CertificateManagerCertificate#name}
*/
readonly name: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/certificate_manager_certificate#project CertificateManagerCertificate#project}
*/
readonly project?: string;
/**
* The scope of the certificate.
*
* DEFAULT: Certificates with default scope are served from core Google data centers.
* If unsure, choose this option.
*
* EDGE_CACHE: Certificates with scope EDGE_CACHE are special-purposed certificates, served from Edge Points of Presence.
* See https://cloud.google.com/vpc/docs/edge-locations.
*
* ALL_REGIONS: Certificates with ALL_REGIONS scope are served from all GCP regions (You can only use ALL_REGIONS with global certs).
* See https://cloud.google.com/compute/docs/regions-zones.
*
* CLIENT_AUTH: Certificates with CLIENT_AUTH scope are used by a load balancer (TLS client) to be presented to the backend (TLS server) when backend mTLS is configured.
* See https://cloud.google.com/load-balancing/docs/backend-authenticated-tls-backend-mtls#client-certificate.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/certificate_manager_certificate#scope CertificateManagerCertificate#scope}
*/
readonly scope?: string;
/**
* managed block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/certificate_manager_certificate#managed CertificateManagerCertificate#managed}
*/
readonly managed?: CertificateManagerCertificateManaged;
/**
* self_managed block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/certificate_manager_certificate#self_managed CertificateManagerCertificate#self_managed}
*/
readonly selfManaged?: CertificateManagerCertificateSelfManaged;
/**
* timeouts block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/certificate_manager_certificate#timeouts CertificateManagerCertificate#timeouts}
*/
readonly timeouts?: CertificateManagerCertificateTimeouts;
}
export interface CertificateManagerCertificateManagedAuthorizationAttemptInfo {
}
export declare function certificateManagerCertificateManagedAuthorizationAttemptInfoToTerraform(struct?: CertificateManagerCertificateManagedAuthorizationAttemptInfo): any;
export declare function certificateManagerCertificateManagedAuthorizationAttemptInfoToHclTerraform(struct?: CertificateManagerCertificateManagedAuthorizationAttemptInfo): any;
export declare class CertificateManagerCertificateManagedAuthorizationAttemptInfoOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
get internalValue(): CertificateManagerCertificateManagedAuthorizationAttemptInfo | undefined;
set internalValue(value: CertificateManagerCertificateManagedAuthorizationAttemptInfo | undefined);
get details(): string;
get domain(): string;
get failureReason(): string;
get state(): string;
}
export declare class CertificateManagerCertificateManagedAuthorizationAttemptInfoList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
/**
* @param index the index of the item to return
*/
get(index: number): CertificateManagerCertificateManagedAuthorizationAttemptInfoOutputReference;
}
export interface CertificateManagerCertificateManagedProvisioningIssue {
}
export declare function certificateManagerCertificateManagedProvisioningIssueToTerraform(struct?: CertificateManagerCertificateManagedProvisioningIssue): any;
export declare function certificateManagerCertificateManagedProvisioningIssueToHclTerraform(struct?: CertificateManagerCertificateManagedProvisioningIssue): any;
export declare class CertificateManagerCertificateManagedProvisioningIssueOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
get internalValue(): CertificateManagerCertificateManagedProvisioningIssue | undefined;
set internalValue(value: CertificateManagerCertificateManagedProvisioningIssue | undefined);
get details(): string;
get reason(): string;
}
export declare class CertificateManagerCertificateManagedProvisioningIssueList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
/**
* @param index the index of the item to return
*/
get(index: number): CertificateManagerCertificateManagedProvisioningIssueOutputReference;
}
export interface CertificateManagerCertificateManaged {
/**
* Authorizations that will be used for performing domain authorization. Either issuanceConfig or dnsAuthorizations should be specificed, but not both.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/certificate_manager_certificate#dns_authorizations CertificateManagerCertificate#dns_authorizations}
*/
readonly dnsAuthorizations?: string[];
/**
* The domains for which a managed SSL certificate will be generated.
* Wildcard domains are only supported with DNS challenge resolution
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/certificate_manager_certificate#domains CertificateManagerCertificate#domains}
*/
readonly domains?: string[];
/**
* The resource name for a CertificateIssuanceConfig used to configure private PKI certificates in the format projects/* /locations/* /certificateIssuanceConfigs/*.
* If this field is not set, the certificates will instead be publicly signed as documented at https://cloud.google.com/load-balancing/docs/ssl-certificates/google-managed-certs#caa.
* Either issuanceConfig or dnsAuthorizations should be specificed, but not both.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/certificate_manager_certificate#issuance_config CertificateManagerCertificate#issuance_config}
*
* Note: The above comment contained a comment block ending sequence (* followed by /). We have introduced a space between to prevent syntax errors. Please ignore the space.
*/
readonly issuanceConfig?: string;
}
export declare function certificateManagerCertificateManagedToTerraform(struct?: CertificateManagerCertificateManagedOutputReference | CertificateManagerCertificateManaged): any;
export declare function certificateManagerCertificateManagedToHclTerraform(struct?: CertificateManagerCertificateManagedOutputReference | CertificateManagerCertificateManaged): any;
export declare class CertificateManagerCertificateManagedOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): CertificateManagerCertificateManaged | undefined;
set internalValue(value: CertificateManagerCertificateManaged | undefined);
private _authorizationAttemptInfo;
get authorizationAttemptInfo(): CertificateManagerCertificateManagedAuthorizationAttemptInfoList;
private _dnsAuthorizations?;
get dnsAuthorizations(): string[];
set dnsAuthorizations(value: string[]);
resetDnsAuthorizations(): void;
get dnsAuthorizationsInput(): string[] | undefined;
private _domains?;
get domains(): string[];
set domains(value: string[]);
resetDomains(): void;
get domainsInput(): string[] | undefined;
private _issuanceConfig?;
get issuanceConfig(): string;
set issuanceConfig(value: string);
resetIssuanceConfig(): void;
get issuanceConfigInput(): string | undefined;
private _provisioningIssue;
get provisioningIssue(): CertificateManagerCertificateManagedProvisioningIssueList;
get state(): string;
}
export interface CertificateManagerCertificateSelfManaged {
/**
* The certificate chain in PEM-encoded form.
*
* Leaf certificate comes first, followed by intermediate ones if any.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/certificate_manager_certificate#certificate_pem CertificateManagerCertificate#certificate_pem}
*/
readonly certificatePem?: string;
/**
* The certificate chain in PEM-encoded form.
*
* Leaf certificate comes first, followed by intermediate ones if any.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/certificate_manager_certificate#pem_certificate CertificateManagerCertificate#pem_certificate}
*/
readonly pemCertificate?: string;
/**
* The private key of the leaf certificate in PEM-encoded form.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/certificate_manager_certificate#pem_private_key CertificateManagerCertificate#pem_private_key}
*/
readonly pemPrivateKey?: string;
/**
* The private key of the leaf certificate in PEM-encoded form.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/certificate_manager_certificate#private_key_pem CertificateManagerCertificate#private_key_pem}
*/
readonly privateKeyPem?: string;
}
export declare function certificateManagerCertificateSelfManagedToTerraform(struct?: CertificateManagerCertificateSelfManagedOutputReference | CertificateManagerCertificateSelfManaged): any;
export declare function certificateManagerCertificateSelfManagedToHclTerraform(struct?: CertificateManagerCertificateSelfManagedOutputReference | CertificateManagerCertificateSelfManaged): any;
export declare class CertificateManagerCertificateSelfManagedOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): CertificateManagerCertificateSelfManaged | undefined;
set internalValue(value: CertificateManagerCertificateSelfManaged | undefined);
private _certificatePem?;
get certificatePem(): string;
set certificatePem(value: string);
resetCertificatePem(): void;
get certificatePemInput(): string | undefined;
private _pemCertificate?;
get pemCertificate(): string;
set pemCertificate(value: string);
resetPemCertificate(): void;
get pemCertificateInput(): string | undefined;
private _pemPrivateKey?;
get pemPrivateKey(): string;
set pemPrivateKey(value: string);
resetPemPrivateKey(): void;
get pemPrivateKeyInput(): string | undefined;
private _privateKeyPem?;
get privateKeyPem(): string;
set privateKeyPem(value: string);
resetPrivateKeyPem(): void;
get privateKeyPemInput(): string | undefined;
}
export interface CertificateManagerCertificateTimeouts {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/certificate_manager_certificate#create CertificateManagerCertificate#create}
*/
readonly create?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/certificate_manager_certificate#delete CertificateManagerCertificate#delete}
*/
readonly delete?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/certificate_manager_certificate#update CertificateManagerCertificate#update}
*/
readonly update?: string;
}
export declare function certificateManagerCertificateTimeoutsToTerraform(struct?: CertificateManagerCertificateTimeouts | cdktf.IResolvable): any;
export declare function certificateManagerCertificateTimeoutsToHclTerraform(struct?: CertificateManagerCertificateTimeouts | cdktf.IResolvable): any;
export declare class CertificateManagerCertificateTimeoutsOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
private resolvableValue?;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): CertificateManagerCertificateTimeouts | cdktf.IResolvable | undefined;
set internalValue(value: CertificateManagerCertificateTimeouts | cdktf.IResolvable | undefined);
private _create?;
get create(): string;
set create(value: string);
resetCreate(): void;
get createInput(): string | undefined;
private _delete?;
get delete(): string;
set delete(value: string);
resetDelete(): void;
get deleteInput(): string | undefined;
private _update?;
get update(): string;
set update(value: string);
resetUpdate(): void;
get updateInput(): string | undefined;
}
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/certificate_manager_certificate google_certificate_manager_certificate}
*/
export declare class CertificateManagerCertificate extends cdktf.TerraformResource {
static readonly tfResourceType = "google_certificate_manager_certificate";
/**
* Generates CDKTF code for importing a CertificateManagerCertificate resource upon running "cdktf plan <stack-name>"
* @param scope The scope in which to define this construct
* @param importToId The construct id used in the generated config for the CertificateManagerCertificate to import
* @param importFromId The id of the existing CertificateManagerCertificate that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/certificate_manager_certificate#import import section} in the documentation of this resource for the id to use
* @param provider? Optional instance of the provider where the CertificateManagerCertificate to import is found
*/
static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): cdktf.ImportableResource;
/**
* Create a new {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/certificate_manager_certificate google_certificate_manager_certificate} Resource
*
* @param scope The scope in which to define this construct
* @param id The scoped construct ID. Must be unique amongst siblings in the same scope
* @param options CertificateManagerCertificateConfig
*/
constructor(scope: Construct, id: string, config: CertificateManagerCertificateConfig);
private _description?;
get description(): string;
set description(value: string);
resetDescription(): void;
get descriptionInput(): string | undefined;
private _effectiveLabels;
get effectiveLabels(): cdktf.StringMap;
private _id?;
get id(): string;
set id(value: string);
resetId(): void;
get idInput(): string | undefined;
private _labels?;
get labels(): {
[key: string]: string;
};
set labels(value: {
[key: string]: string;
});
resetLabels(): void;
get labelsInput(): {
[key: string]: string;
} | undefined;
private _location?;
get location(): string;
set location(value: string);
resetLocation(): void;
get locationInput(): string | undefined;
private _name?;
get name(): string;
set name(value: string);
get nameInput(): string | undefined;
private _project?;
get project(): string;
set project(value: string);
resetProject(): void;
get projectInput(): string | undefined;
get sanDnsnames(): string[];
private _scope?;
get scope(): string;
set scope(value: string);
resetScope(): void;
get scopeInput(): string | undefined;
private _terraformLabels;
get terraformLabels(): cdktf.StringMap;
private _managed;
get managed(): CertificateManagerCertificateManagedOutputReference;
putManaged(value: CertificateManagerCertificateManaged): void;
resetManaged(): void;
get managedInput(): CertificateManagerCertificateManaged | undefined;
private _selfManaged;
get selfManaged(): CertificateManagerCertificateSelfManagedOutputReference;
putSelfManaged(value: CertificateManagerCertificateSelfManaged): void;
resetSelfManaged(): void;
get selfManagedInput(): CertificateManagerCertificateSelfManaged | undefined;
private _timeouts;
get timeouts(): CertificateManagerCertificateTimeoutsOutputReference;
putTimeouts(value: CertificateManagerCertificateTimeouts): void;
resetTimeouts(): void;
get timeoutsInput(): cdktf.IResolvable | CertificateManagerCertificateTimeouts | undefined;
protected synthesizeAttributes(): {
[name: string]: any;
};
protected synthesizeHclAttributes(): {
[name: string]: any;
};
}