UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

238 lines (237 loc) 12.4 kB
/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface ManagedKafkaAclConfig extends cdktf.TerraformMetaArguments { /** * The ID to use for the acl, which will become the final component of the acl's name. The structure of 'aclId' defines the Resource Pattern (resource_type, resource_name, pattern_type) of the acl. 'aclId' is structured like one of the following: * For acls on the cluster: 'cluster' * For acls on a single resource within the cluster: 'topic/{resource_name}' 'consumerGroup/{resource_name}' 'transactionalId/{resource_name}' * For acls on all resources that match a prefix: 'topicPrefixed/{resource_name}' 'consumerGroupPrefixed/{resource_name}' 'transactionalIdPrefixed/{resource_name}' * For acls on all resources of a given type (i.e. the wildcard literal '*''): 'allTopics' (represents 'topic/*') 'allConsumerGroups' (represents 'consumerGroup/*') 'allTransactionalIds' (represents 'transactionalId/*'). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/managed_kafka_acl#acl_id ManagedKafkaAcl#acl_id} */ readonly aclId: string; /** * The cluster name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/managed_kafka_acl#cluster ManagedKafkaAcl#cluster} */ readonly cluster: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/managed_kafka_acl#id ManagedKafkaAcl#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; /** * ID of the location of the Kafka resource. See https://cloud.google.com/managed-kafka/docs/locations for a list of supported locations. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/managed_kafka_acl#location ManagedKafkaAcl#location} */ readonly location: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/managed_kafka_acl#project ManagedKafkaAcl#project} */ readonly project?: string; /** * acl_entries block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/managed_kafka_acl#acl_entries ManagedKafkaAcl#acl_entries} */ readonly aclEntries: ManagedKafkaAclAclEntries[] | cdktf.IResolvable; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/managed_kafka_acl#timeouts ManagedKafkaAcl#timeouts} */ readonly timeouts?: ManagedKafkaAclTimeouts; } export interface ManagedKafkaAclAclEntries { /** * The host. Must be set to "*" for Managed Service for Apache Kafka. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/managed_kafka_acl#host ManagedKafkaAcl#host} */ readonly host?: string; /** * The operation type. Allowed values are (case insensitive): ALL, READ, * WRITE, CREATE, DELETE, ALTER, DESCRIBE, CLUSTER_ACTION, DESCRIBE_CONFIGS, * ALTER_CONFIGS, and IDEMPOTENT_WRITE. See https://kafka.apache.org/documentation/#operations_resources_and_protocols * for valid combinations of resource_type and operation for different Kafka API requests. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/managed_kafka_acl#operation ManagedKafkaAcl#operation} */ readonly operation: string; /** * The permission type. Accepted values are (case insensitive): ALLOW, DENY. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/managed_kafka_acl#permission_type ManagedKafkaAcl#permission_type} */ readonly permissionType?: string; /** * The principal. Specified as Google Cloud account, with the Kafka StandardAuthorizer prefix User:". For example: "User:test-kafka-client@test-project.iam.gserviceaccount.com". Can be the wildcard "User:*" to refer to all users. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/managed_kafka_acl#principal ManagedKafkaAcl#principal} */ readonly principal: string; } export declare function managedKafkaAclAclEntriesToTerraform(struct?: ManagedKafkaAclAclEntries | cdktf.IResolvable): any; export declare function managedKafkaAclAclEntriesToHclTerraform(struct?: ManagedKafkaAclAclEntries | cdktf.IResolvable): any; export declare class ManagedKafkaAclAclEntriesOutputReference 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(): ManagedKafkaAclAclEntries | cdktf.IResolvable | undefined; set internalValue(value: ManagedKafkaAclAclEntries | cdktf.IResolvable | undefined); private _host?; get host(): string; set host(value: string); resetHost(): void; get hostInput(): string | undefined; private _operation?; get operation(): string; set operation(value: string); get operationInput(): string | undefined; private _permissionType?; get permissionType(): string; set permissionType(value: string); resetPermissionType(): void; get permissionTypeInput(): string | undefined; private _principal?; get principal(): string; set principal(value: string); get principalInput(): string | undefined; } export declare class ManagedKafkaAclAclEntriesList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: ManagedKafkaAclAclEntries[] | 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): ManagedKafkaAclAclEntriesOutputReference; } export interface ManagedKafkaAclTimeouts { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/managed_kafka_acl#create ManagedKafkaAcl#create} */ readonly create?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/managed_kafka_acl#delete ManagedKafkaAcl#delete} */ readonly delete?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/managed_kafka_acl#update ManagedKafkaAcl#update} */ readonly update?: string; } export declare function managedKafkaAclTimeoutsToTerraform(struct?: ManagedKafkaAclTimeouts | cdktf.IResolvable): any; export declare function managedKafkaAclTimeoutsToHclTerraform(struct?: ManagedKafkaAclTimeouts | cdktf.IResolvable): any; export declare class ManagedKafkaAclTimeoutsOutputReference 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(): ManagedKafkaAclTimeouts | cdktf.IResolvable | undefined; set internalValue(value: ManagedKafkaAclTimeouts | 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.41.0/docs/resources/managed_kafka_acl google_managed_kafka_acl} */ export declare class ManagedKafkaAcl extends cdktf.TerraformResource { static readonly tfResourceType = "google_managed_kafka_acl"; /** * Generates CDKTF code for importing a ManagedKafkaAcl 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 ManagedKafkaAcl to import * @param importFromId The id of the existing ManagedKafkaAcl that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/managed_kafka_acl#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the ManagedKafkaAcl 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.41.0/docs/resources/managed_kafka_acl google_managed_kafka_acl} 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 ManagedKafkaAclConfig */ constructor(scope: Construct, id: string, config: ManagedKafkaAclConfig); private _aclId?; get aclId(): string; set aclId(value: string); get aclIdInput(): string | undefined; private _cluster?; get cluster(): string; set cluster(value: string); get clusterInput(): string | undefined; get etag(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string | undefined; private _location?; get location(): string; set location(value: string); get locationInput(): string | undefined; get name(): string; get patternType(): string; private _project?; get project(): string; set project(value: string); resetProject(): void; get projectInput(): string | undefined; get resourceName(): string; get resourceType(): string; private _aclEntries; get aclEntries(): ManagedKafkaAclAclEntriesList; putAclEntries(value: ManagedKafkaAclAclEntries[] | cdktf.IResolvable): void; get aclEntriesInput(): cdktf.IResolvable | ManagedKafkaAclAclEntries[] | undefined; private _timeouts; get timeouts(): ManagedKafkaAclTimeoutsOutputReference; putTimeouts(value: ManagedKafkaAclTimeouts): void; resetTimeouts(): void; get timeoutsInput(): cdktf.IResolvable | ManagedKafkaAclTimeouts | undefined; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }