@cdktf/provider-google
Version:
Prebuilt google Provider for Terraform CDK (cdktf)
321 lines (320 loc) • 18.8 kB
TypeScript
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface BinaryAuthorizationAttestorConfig extends cdktf.TerraformMetaArguments {
/**
* A descriptive comment. This field may be updated. The field may be
* displayed in chooser dialogs.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/binary_authorization_attestor#description BinaryAuthorizationAttestor#description}
*/
readonly description?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/binary_authorization_attestor#id BinaryAuthorizationAttestor#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;
/**
* The resource name.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/binary_authorization_attestor#name BinaryAuthorizationAttestor#name}
*/
readonly name: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/binary_authorization_attestor#project BinaryAuthorizationAttestor#project}
*/
readonly project?: string;
/**
* attestation_authority_note block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/binary_authorization_attestor#attestation_authority_note BinaryAuthorizationAttestor#attestation_authority_note}
*/
readonly attestationAuthorityNote: BinaryAuthorizationAttestorAttestationAuthorityNote;
/**
* timeouts block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/binary_authorization_attestor#timeouts BinaryAuthorizationAttestor#timeouts}
*/
readonly timeouts?: BinaryAuthorizationAttestorTimeouts;
}
export interface BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeysPkixPublicKey {
/**
* A PEM-encoded public key, as described in
* 'https://tools.ietf.org/html/rfc7468#section-13'
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/binary_authorization_attestor#public_key_pem BinaryAuthorizationAttestor#public_key_pem}
*/
readonly publicKeyPem?: string;
/**
* The signature algorithm used to verify a message against
* a signature using this key. These signature algorithm must
* match the structure and any object identifiers encoded in
* publicKeyPem (i.e. this algorithm must match that of the
* public key).
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/binary_authorization_attestor#signature_algorithm BinaryAuthorizationAttestor#signature_algorithm}
*/
readonly signatureAlgorithm?: string;
}
export declare function binaryAuthorizationAttestorAttestationAuthorityNotePublicKeysPkixPublicKeyToTerraform(struct?: BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeysPkixPublicKeyOutputReference | BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeysPkixPublicKey): any;
export declare function binaryAuthorizationAttestorAttestationAuthorityNotePublicKeysPkixPublicKeyToHclTerraform(struct?: BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeysPkixPublicKeyOutputReference | BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeysPkixPublicKey): any;
export declare class BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeysPkixPublicKeyOutputReference 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(): BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeysPkixPublicKey | undefined;
set internalValue(value: BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeysPkixPublicKey | undefined);
private _publicKeyPem?;
get publicKeyPem(): string;
set publicKeyPem(value: string);
resetPublicKeyPem(): void;
get publicKeyPemInput(): string | undefined;
private _signatureAlgorithm?;
get signatureAlgorithm(): string;
set signatureAlgorithm(value: string);
resetSignatureAlgorithm(): void;
get signatureAlgorithmInput(): string | undefined;
}
export interface BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeys {
/**
* ASCII-armored representation of a PGP public key, as the
* entire output by the command
* 'gpg --export --armor foo@example.com' (either LF or CRLF
* line endings). When using this field, id should be left
* blank. The BinAuthz API handlers will calculate the ID
* and fill it in automatically. BinAuthz computes this ID
* as the OpenPGP RFC4880 V4 fingerprint, represented as
* upper-case hex. If id is provided by the caller, it will
* be overwritten by the API-calculated ID.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/binary_authorization_attestor#ascii_armored_pgp_public_key BinaryAuthorizationAttestor#ascii_armored_pgp_public_key}
*/
readonly asciiArmoredPgpPublicKey?: string;
/**
* A descriptive comment. This field may be updated.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/binary_authorization_attestor#comment BinaryAuthorizationAttestor#comment}
*/
readonly comment?: string;
/**
* The ID of this public key. Signatures verified by BinAuthz
* must include the ID of the public key that can be used to
* verify them, and that ID must match the contents of this
* field exactly. Additional restrictions on this field can
* be imposed based on which public key type is encapsulated.
* See the documentation on publicKey cases below for details.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/binary_authorization_attestor#id BinaryAuthorizationAttestor#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;
/**
* pkix_public_key block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/binary_authorization_attestor#pkix_public_key BinaryAuthorizationAttestor#pkix_public_key}
*/
readonly pkixPublicKey?: BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeysPkixPublicKey;
}
export declare function binaryAuthorizationAttestorAttestationAuthorityNotePublicKeysToTerraform(struct?: BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeys | cdktf.IResolvable): any;
export declare function binaryAuthorizationAttestorAttestationAuthorityNotePublicKeysToHclTerraform(struct?: BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeys | cdktf.IResolvable): any;
export declare class BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeysOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
private resolvableValue?;
/**
* @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(): BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeys | cdktf.IResolvable | undefined;
set internalValue(value: BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeys | cdktf.IResolvable | undefined);
private _asciiArmoredPgpPublicKey?;
get asciiArmoredPgpPublicKey(): string;
set asciiArmoredPgpPublicKey(value: string);
resetAsciiArmoredPgpPublicKey(): void;
get asciiArmoredPgpPublicKeyInput(): string | undefined;
private _comment?;
get comment(): string;
set comment(value: string);
resetComment(): void;
get commentInput(): string | undefined;
private _id?;
get id(): string;
set id(value: string);
resetId(): void;
get idInput(): string | undefined;
private _pkixPublicKey;
get pkixPublicKey(): BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeysPkixPublicKeyOutputReference;
putPkixPublicKey(value: BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeysPkixPublicKey): void;
resetPkixPublicKey(): void;
get pkixPublicKeyInput(): BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeysPkixPublicKey | undefined;
}
export declare class BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeysList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeys[] | cdktf.IResolvable;
/**
* @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): BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeysOutputReference;
}
export interface BinaryAuthorizationAttestorAttestationAuthorityNote {
/**
* The resource name of a ATTESTATION_AUTHORITY Note, created by the
* user. If the Note is in a different project from the Attestor, it
* should be specified in the format 'projects/* /notes/*' (or the legacy
* 'providers/* /notes/*'). This field may not be updated.
* An attestation by this attestor is stored as a Container Analysis
* ATTESTATION_AUTHORITY Occurrence that names a container image
* and that links to this Note.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/binary_authorization_attestor#note_reference BinaryAuthorizationAttestor#note_reference}
*
* 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 noteReference: string;
/**
* public_keys block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/binary_authorization_attestor#public_keys BinaryAuthorizationAttestor#public_keys}
*/
readonly publicKeys?: BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeys[] | cdktf.IResolvable;
}
export declare function binaryAuthorizationAttestorAttestationAuthorityNoteToTerraform(struct?: BinaryAuthorizationAttestorAttestationAuthorityNoteOutputReference | BinaryAuthorizationAttestorAttestationAuthorityNote): any;
export declare function binaryAuthorizationAttestorAttestationAuthorityNoteToHclTerraform(struct?: BinaryAuthorizationAttestorAttestationAuthorityNoteOutputReference | BinaryAuthorizationAttestorAttestationAuthorityNote): any;
export declare class BinaryAuthorizationAttestorAttestationAuthorityNoteOutputReference 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(): BinaryAuthorizationAttestorAttestationAuthorityNote | undefined;
set internalValue(value: BinaryAuthorizationAttestorAttestationAuthorityNote | undefined);
get delegationServiceAccountEmail(): string;
private _noteReference?;
get noteReference(): string;
set noteReference(value: string);
get noteReferenceInput(): string | undefined;
private _publicKeys;
get publicKeys(): BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeysList;
putPublicKeys(value: BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeys[] | cdktf.IResolvable): void;
resetPublicKeys(): void;
get publicKeysInput(): cdktf.IResolvable | BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeys[] | undefined;
}
export interface BinaryAuthorizationAttestorTimeouts {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/binary_authorization_attestor#create BinaryAuthorizationAttestor#create}
*/
readonly create?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/binary_authorization_attestor#delete BinaryAuthorizationAttestor#delete}
*/
readonly delete?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/binary_authorization_attestor#update BinaryAuthorizationAttestor#update}
*/
readonly update?: string;
}
export declare function binaryAuthorizationAttestorTimeoutsToTerraform(struct?: BinaryAuthorizationAttestorTimeouts | cdktf.IResolvable): any;
export declare function binaryAuthorizationAttestorTimeoutsToHclTerraform(struct?: BinaryAuthorizationAttestorTimeouts | cdktf.IResolvable): any;
export declare class BinaryAuthorizationAttestorTimeoutsOutputReference 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(): BinaryAuthorizationAttestorTimeouts | cdktf.IResolvable | undefined;
set internalValue(value: BinaryAuthorizationAttestorTimeouts | 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.13.0/docs/resources/binary_authorization_attestor google_binary_authorization_attestor}
*/
export declare class BinaryAuthorizationAttestor extends cdktf.TerraformResource {
static readonly tfResourceType = "google_binary_authorization_attestor";
/**
* Generates CDKTF code for importing a BinaryAuthorizationAttestor 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 BinaryAuthorizationAttestor to import
* @param importFromId The id of the existing BinaryAuthorizationAttestor that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/binary_authorization_attestor#import import section} in the documentation of this resource for the id to use
* @param provider? Optional instance of the provider where the BinaryAuthorizationAttestor 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.13.0/docs/resources/binary_authorization_attestor google_binary_authorization_attestor} 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 BinaryAuthorizationAttestorConfig
*/
constructor(scope: Construct, id: string, config: BinaryAuthorizationAttestorConfig);
private _description?;
get description(): string;
set description(value: string);
resetDescription(): void;
get descriptionInput(): string | undefined;
private _id?;
get id(): string;
set id(value: string);
resetId(): void;
get idInput(): 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;
private _attestationAuthorityNote;
get attestationAuthorityNote(): BinaryAuthorizationAttestorAttestationAuthorityNoteOutputReference;
putAttestationAuthorityNote(value: BinaryAuthorizationAttestorAttestationAuthorityNote): void;
get attestationAuthorityNoteInput(): BinaryAuthorizationAttestorAttestationAuthorityNote | undefined;
private _timeouts;
get timeouts(): BinaryAuthorizationAttestorTimeoutsOutputReference;
putTimeouts(value: BinaryAuthorizationAttestorTimeouts): void;
resetTimeouts(): void;
get timeoutsInput(): cdktf.IResolvable | BinaryAuthorizationAttestorTimeouts | undefined;
protected synthesizeAttributes(): {
[name: string]: any;
};
protected synthesizeHclAttributes(): {
[name: string]: any;
};
}