UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

367 lines (366 loc) 20.2 kB
/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface ComputeServiceAttachmentConfig extends cdktf.TerraformMetaArguments { /** * The connection preference to use for this service attachment. Valid * values include "ACCEPT_AUTOMATIC", "ACCEPT_MANUAL". * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_service_attachment#connection_preference ComputeServiceAttachment#connection_preference} */ readonly connectionPreference: string; /** * An array of projects that are not allowed to connect to this service * attachment. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_service_attachment#consumer_reject_lists ComputeServiceAttachment#consumer_reject_lists} */ readonly consumerRejectLists?: string[]; /** * An optional description of this resource. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_service_attachment#description ComputeServiceAttachment#description} */ readonly description?: string; /** * If specified, the domain name will be used during the integration between * the PSC connected endpoints and the Cloud DNS. For example, this is a * valid domain name: "p.mycompany.com.". Current max number of domain names * supported is 1. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_service_attachment#domain_names ComputeServiceAttachment#domain_names} */ readonly domainNames?: string[]; /** * If true, enable the proxy protocol which is for supplying client TCP/IP * address data in TCP connections that traverse proxies on their way to * destination servers. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_service_attachment#enable_proxy_protocol ComputeServiceAttachment#enable_proxy_protocol} */ readonly enableProxyProtocol: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_service_attachment#id ComputeServiceAttachment#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; /** * Name of the resource. The name must be 1-63 characters long, and * comply with RFC1035. Specifically, the name must be 1-63 characters * long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' * which means the first character must be a lowercase letter, and all * following characters must be a dash, lowercase letter, or digit, * except the last character, which cannot be a dash. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_service_attachment#name ComputeServiceAttachment#name} */ readonly name: string; /** * An array of subnets that is provided for NAT in this service attachment. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_service_attachment#nat_subnets ComputeServiceAttachment#nat_subnets} */ readonly natSubnets: string[]; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_service_attachment#project ComputeServiceAttachment#project} */ readonly project?: string; /** * The number of consumer spokes that connected Private Service Connect endpoints can be propagated to through Network Connectivity Center. * This limit lets the service producer limit how many propagated Private Service Connect connections can be established to this service attachment from a single consumer. * * If the connection preference of the service attachment is ACCEPT_MANUAL, the limit applies to each project or network that is listed in the consumer accept list. * If the connection preference of the service attachment is ACCEPT_AUTOMATIC, the limit applies to each project that contains a connected endpoint. * * If unspecified, the default propagated connection limit is 250. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_service_attachment#propagated_connection_limit ComputeServiceAttachment#propagated_connection_limit} */ readonly propagatedConnectionLimit?: number; /** * This flag determines whether a consumer accept/reject list change can reconcile the statuses of existing ACCEPTED or REJECTED PSC endpoints. * * If false, connection policy update will only affect existing PENDING PSC endpoints. Existing ACCEPTED/REJECTED endpoints will remain untouched regardless how the connection policy is modified . * If true, update will affect both PENDING and ACCEPTED/REJECTED PSC endpoints. For example, an ACCEPTED PSC endpoint will be moved to REJECTED if its project is added to the reject list. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_service_attachment#reconcile_connections ComputeServiceAttachment#reconcile_connections} */ readonly reconcileConnections?: boolean | cdktf.IResolvable; /** * URL of the region where the resource resides. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_service_attachment#region ComputeServiceAttachment#region} */ readonly region?: string; /** * The URL of a service serving the endpoint identified by this service attachment. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_service_attachment#target_service ComputeServiceAttachment#target_service} */ readonly targetService: string; /** * consumer_accept_lists block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_service_attachment#consumer_accept_lists ComputeServiceAttachment#consumer_accept_lists} */ readonly consumerAcceptLists?: ComputeServiceAttachmentConsumerAcceptLists[] | cdktf.IResolvable; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_service_attachment#timeouts ComputeServiceAttachment#timeouts} */ readonly timeouts?: ComputeServiceAttachmentTimeouts; } export interface ComputeServiceAttachmentConnectedEndpoints { } export declare function computeServiceAttachmentConnectedEndpointsToTerraform(struct?: ComputeServiceAttachmentConnectedEndpoints): any; export declare function computeServiceAttachmentConnectedEndpointsToHclTerraform(struct?: ComputeServiceAttachmentConnectedEndpoints): any; export declare class ComputeServiceAttachmentConnectedEndpointsOutputReference 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(): ComputeServiceAttachmentConnectedEndpoints | undefined; set internalValue(value: ComputeServiceAttachmentConnectedEndpoints | undefined); get consumerNetwork(): string; get endpoint(): string; get propagatedConnectionCount(): number; get pscConnectionId(): string; get status(): string; } export declare class ComputeServiceAttachmentConnectedEndpointsList 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): ComputeServiceAttachmentConnectedEndpointsOutputReference; } export interface ComputeServiceAttachmentConsumerAcceptLists { /** * The number of consumer forwarding rules the consumer project can * create. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_service_attachment#connection_limit ComputeServiceAttachment#connection_limit} */ readonly connectionLimit: number; /** * The network that is allowed to connect to this service attachment. * Only one of project_id_or_num and network_url may be set. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_service_attachment#network_url ComputeServiceAttachment#network_url} */ readonly networkUrl?: string; /** * A project that is allowed to connect to this service attachment. * Only one of project_id_or_num and network_url may be set. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_service_attachment#project_id_or_num ComputeServiceAttachment#project_id_or_num} */ readonly projectIdOrNum?: string; } export declare function computeServiceAttachmentConsumerAcceptListsToTerraform(struct?: ComputeServiceAttachmentConsumerAcceptLists | cdktf.IResolvable): any; export declare function computeServiceAttachmentConsumerAcceptListsToHclTerraform(struct?: ComputeServiceAttachmentConsumerAcceptLists | cdktf.IResolvable): any; export declare class ComputeServiceAttachmentConsumerAcceptListsOutputReference 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(): ComputeServiceAttachmentConsumerAcceptLists | cdktf.IResolvable | undefined; set internalValue(value: ComputeServiceAttachmentConsumerAcceptLists | cdktf.IResolvable | undefined); private _connectionLimit?; get connectionLimit(): number; set connectionLimit(value: number); get connectionLimitInput(): number | undefined; private _networkUrl?; get networkUrl(): string; set networkUrl(value: string); resetNetworkUrl(): void; get networkUrlInput(): string | undefined; private _projectIdOrNum?; get projectIdOrNum(): string; set projectIdOrNum(value: string); resetProjectIdOrNum(): void; get projectIdOrNumInput(): string | undefined; } export declare class ComputeServiceAttachmentConsumerAcceptListsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: ComputeServiceAttachmentConsumerAcceptLists[] | 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): ComputeServiceAttachmentConsumerAcceptListsOutputReference; } export interface ComputeServiceAttachmentTimeouts { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_service_attachment#create ComputeServiceAttachment#create} */ readonly create?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_service_attachment#delete ComputeServiceAttachment#delete} */ readonly delete?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_service_attachment#update ComputeServiceAttachment#update} */ readonly update?: string; } export declare function computeServiceAttachmentTimeoutsToTerraform(struct?: ComputeServiceAttachmentTimeouts | cdktf.IResolvable): any; export declare function computeServiceAttachmentTimeoutsToHclTerraform(struct?: ComputeServiceAttachmentTimeouts | cdktf.IResolvable): any; export declare class ComputeServiceAttachmentTimeoutsOutputReference 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(): ComputeServiceAttachmentTimeouts | cdktf.IResolvable | undefined; set internalValue(value: ComputeServiceAttachmentTimeouts | 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/compute_service_attachment google_compute_service_attachment} */ export declare class ComputeServiceAttachment extends cdktf.TerraformResource { static readonly tfResourceType = "google_compute_service_attachment"; /** * Generates CDKTF code for importing a ComputeServiceAttachment 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 ComputeServiceAttachment to import * @param importFromId The id of the existing ComputeServiceAttachment that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_service_attachment#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the ComputeServiceAttachment 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/compute_service_attachment google_compute_service_attachment} 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 ComputeServiceAttachmentConfig */ constructor(scope: Construct, id: string, config: ComputeServiceAttachmentConfig); private _connectedEndpoints; get connectedEndpoints(): ComputeServiceAttachmentConnectedEndpointsList; private _connectionPreference?; get connectionPreference(): string; set connectionPreference(value: string); get connectionPreferenceInput(): string | undefined; private _consumerRejectLists?; get consumerRejectLists(): string[]; set consumerRejectLists(value: string[]); resetConsumerRejectLists(): void; get consumerRejectListsInput(): string[] | undefined; private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string | undefined; private _domainNames?; get domainNames(): string[]; set domainNames(value: string[]); resetDomainNames(): void; get domainNamesInput(): string[] | undefined; private _enableProxyProtocol?; get enableProxyProtocol(): boolean | cdktf.IResolvable; set enableProxyProtocol(value: boolean | cdktf.IResolvable); get enableProxyProtocolInput(): boolean | cdktf.IResolvable | undefined; get fingerprint(): string; 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 _natSubnets?; get natSubnets(): string[]; set natSubnets(value: string[]); get natSubnetsInput(): string[] | undefined; private _project?; get project(): string; set project(value: string); resetProject(): void; get projectInput(): string | undefined; private _propagatedConnectionLimit?; get propagatedConnectionLimit(): number; set propagatedConnectionLimit(value: number); resetPropagatedConnectionLimit(): void; get propagatedConnectionLimitInput(): number | undefined; private _reconcileConnections?; get reconcileConnections(): boolean | cdktf.IResolvable; set reconcileConnections(value: boolean | cdktf.IResolvable); resetReconcileConnections(): void; get reconcileConnectionsInput(): boolean | cdktf.IResolvable | undefined; private _region?; get region(): string; set region(value: string); resetRegion(): void; get regionInput(): string | undefined; get selfLink(): string; private _targetService?; get targetService(): string; set targetService(value: string); get targetServiceInput(): string | undefined; private _consumerAcceptLists; get consumerAcceptLists(): ComputeServiceAttachmentConsumerAcceptListsList; putConsumerAcceptLists(value: ComputeServiceAttachmentConsumerAcceptLists[] | cdktf.IResolvable): void; resetConsumerAcceptLists(): void; get consumerAcceptListsInput(): cdktf.IResolvable | ComputeServiceAttachmentConsumerAcceptLists[] | undefined; private _timeouts; get timeouts(): ComputeServiceAttachmentTimeoutsOutputReference; putTimeouts(value: ComputeServiceAttachmentTimeouts): void; resetTimeouts(): void; get timeoutsInput(): cdktf.IResolvable | ComputeServiceAttachmentTimeouts | undefined; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }