@cdktf/provider-google
Version:
Prebuilt google Provider for Terraform CDK (cdktf)
1,976 lines • 135 kB
TypeScript
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface AccessContextManagerServicePerimetersConfig extends cdktf.TerraformMetaArguments {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#id AccessContextManagerServicePerimeters#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 AccessPolicy this ServicePerimeter lives in.
* Format: accessPolicies/{policy_id}
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#parent AccessContextManagerServicePerimeters#parent}
*/
readonly parent: string;
/**
* service_perimeters block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#service_perimeters AccessContextManagerServicePerimeters#service_perimeters}
*/
readonly servicePerimeters?: AccessContextManagerServicePerimetersServicePerimeters[] | cdktf.IResolvable;
/**
* timeouts block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#timeouts AccessContextManagerServicePerimeters#timeouts}
*/
readonly timeouts?: AccessContextManagerServicePerimetersTimeouts;
}
export interface AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromSources {
/**
* An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#access_level AccessContextManagerServicePerimeters#access_level}
*/
readonly accessLevel?: string;
/**
* A Google Cloud resource that is allowed to egress the perimeter.
* Requests from these resources are allowed to access data outside the perimeter.
* Currently only projects are allowed. Project format: 'projects/{project_number}'.
* The resource may be in any Google Cloud organization, not just the
* organization that the perimeter is defined in. '*' is not allowed, the
* case of allowing all Google Cloud resources only is not supported.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#resource AccessContextManagerServicePerimeters#resource}
*/
readonly resource?: string;
}
export declare function accessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromSourcesToTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromSources | cdktf.IResolvable): any;
export declare function accessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromSourcesToHclTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromSources | cdktf.IResolvable): any;
export declare class AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromSourcesOutputReference 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(): AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromSources | cdktf.IResolvable | undefined;
set internalValue(value: AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromSources | cdktf.IResolvable | undefined);
private _accessLevel?;
get accessLevel(): string;
set accessLevel(value: string);
resetAccessLevel(): void;
get accessLevelInput(): string | undefined;
private _resource?;
get resource(): string;
set resource(value: string);
resetResource(): void;
get resourceInput(): string | undefined;
}
export declare class AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromSourcesList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromSources[] | 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): AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromSourcesOutputReference;
}
export interface AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFrom {
/**
* Identities can be an individual user, service account, Google group,
* or third-party identity. For third-party identity, only single identities
* are supported and other identity types are not supported.The v1 identities
* that have the prefix user, group and serviceAccount in
* https://cloud.google.com/iam/docs/principal-identifiers#v1 are supported.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#identities AccessContextManagerServicePerimeters#identities}
*/
readonly identities?: string[];
/**
* Specifies the type of identities that are allowed access to outside the
* perimeter. If left unspecified, then members of 'identities' field will
* be allowed access. Possible values: ["IDENTITY_TYPE_UNSPECIFIED", "ANY_IDENTITY", "ANY_USER_ACCOUNT", "ANY_SERVICE_ACCOUNT"]
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#identity_type AccessContextManagerServicePerimeters#identity_type}
*/
readonly identityType?: string;
/**
* Whether to enforce traffic restrictions based on 'sources' field. If the 'sources' field is non-empty, then this field must be set to 'SOURCE_RESTRICTION_ENABLED'. Possible values: ["SOURCE_RESTRICTION_UNSPECIFIED", "SOURCE_RESTRICTION_ENABLED", "SOURCE_RESTRICTION_DISABLED"]
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#source_restriction AccessContextManagerServicePerimeters#source_restriction}
*/
readonly sourceRestriction?: string;
/**
* sources block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#sources AccessContextManagerServicePerimeters#sources}
*/
readonly sources?: AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromSources[] | cdktf.IResolvable;
}
export declare function accessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromToTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference | AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFrom): any;
export declare function accessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromToHclTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference | AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFrom): any;
export declare class AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference 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(): AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFrom | undefined;
set internalValue(value: AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFrom | undefined);
private _identities?;
get identities(): string[];
set identities(value: string[]);
resetIdentities(): void;
get identitiesInput(): string[] | undefined;
private _identityType?;
get identityType(): string;
set identityType(value: string);
resetIdentityType(): void;
get identityTypeInput(): string | undefined;
private _sourceRestriction?;
get sourceRestriction(): string;
set sourceRestriction(value: string);
resetSourceRestriction(): void;
get sourceRestrictionInput(): string | undefined;
private _sources;
get sources(): AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromSourcesList;
putSources(value: AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromSources[] | cdktf.IResolvable): void;
resetSources(): void;
get sourcesInput(): cdktf.IResolvable | AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromSources[] | undefined;
}
export interface AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectors {
/**
* Value for 'method' should be a valid method name for the corresponding
* 'serviceName' in 'ApiOperation'. If '*' used as value for method,
* then ALL methods and permissions are allowed.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#method AccessContextManagerServicePerimeters#method}
*/
readonly method?: string;
/**
* Value for permission should be a valid Cloud IAM permission for the
* corresponding 'serviceName' in 'ApiOperation'.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#permission AccessContextManagerServicePerimeters#permission}
*/
readonly permission?: string;
}
export declare function accessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsToTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectors | cdktf.IResolvable): any;
export declare function accessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsToHclTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectors | cdktf.IResolvable): any;
export declare class AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference 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(): AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectors | cdktf.IResolvable | undefined;
set internalValue(value: AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectors | cdktf.IResolvable | undefined);
private _method?;
get method(): string;
set method(value: string);
resetMethod(): void;
get methodInput(): string | undefined;
private _permission?;
get permission(): string;
set permission(value: string);
resetPermission(): void;
get permissionInput(): string | undefined;
}
export declare class AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectors[] | 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): AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference;
}
export interface AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperations {
/**
* The name of the API whose methods or permissions the 'IngressPolicy' or
* 'EgressPolicy' want to allow. A single 'ApiOperation' with serviceName
* field set to '*' will allow all methods AND permissions for all services.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#service_name AccessContextManagerServicePerimeters#service_name}
*/
readonly serviceName?: string;
/**
* method_selectors block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#method_selectors AccessContextManagerServicePerimeters#method_selectors}
*/
readonly methodSelectors?: AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectors[] | cdktf.IResolvable;
}
export declare function accessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsToTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperations | cdktf.IResolvable): any;
export declare function accessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsToHclTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperations | cdktf.IResolvable): any;
export declare class AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference 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(): AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperations | cdktf.IResolvable | undefined;
set internalValue(value: AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperations | cdktf.IResolvable | undefined);
private _serviceName?;
get serviceName(): string;
set serviceName(value: string);
resetServiceName(): void;
get serviceNameInput(): string | undefined;
private _methodSelectors;
get methodSelectors(): AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsList;
putMethodSelectors(value: AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectors[] | cdktf.IResolvable): void;
resetMethodSelectors(): void;
get methodSelectorsInput(): cdktf.IResolvable | AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectors[] | undefined;
}
export declare class AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperations[] | 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): AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference;
}
export interface AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressTo {
/**
* A list of external resources that are allowed to be accessed. A request
* matches if it contains an external resource in this list (Example:
* s3://bucket/path). Currently '*' is not allowed.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#external_resources AccessContextManagerServicePerimeters#external_resources}
*/
readonly externalResources?: string[];
/**
* A list of resources, currently only projects in the form
* 'projects/<projectnumber>', that match this to stanza. A request matches
* if it contains a resource in this list. If * is specified for resources,
* then this 'EgressTo' rule will authorize access to all resources outside
* the perimeter.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#resources AccessContextManagerServicePerimeters#resources}
*/
readonly resources?: string[];
/**
* A list of IAM roles that represent the set of operations that the sources
* specified in the corresponding 'EgressFrom'
* are allowed to perform.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#roles AccessContextManagerServicePerimeters#roles}
*/
readonly roles?: string[];
/**
* operations block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#operations AccessContextManagerServicePerimeters#operations}
*/
readonly operations?: AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperations[] | cdktf.IResolvable;
}
export declare function accessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToToTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference | AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressTo): any;
export declare function accessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToToHclTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference | AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressTo): any;
export declare class AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference 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(): AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressTo | undefined;
set internalValue(value: AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressTo | undefined);
private _externalResources?;
get externalResources(): string[];
set externalResources(value: string[]);
resetExternalResources(): void;
get externalResourcesInput(): string[] | undefined;
private _resources?;
get resources(): string[];
set resources(value: string[]);
resetResources(): void;
get resourcesInput(): string[] | undefined;
private _roles?;
get roles(): string[];
set roles(value: string[]);
resetRoles(): void;
get rolesInput(): string[] | undefined;
private _operations;
get operations(): AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsList;
putOperations(value: AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperations[] | cdktf.IResolvable): void;
resetOperations(): void;
get operationsInput(): cdktf.IResolvable | AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperations[] | undefined;
}
export interface AccessContextManagerServicePerimetersServicePerimetersSpecEgressPolicies {
/**
* Human readable title. Must be unique within the perimeter. Does not affect behavior.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#title AccessContextManagerServicePerimeters#title}
*/
readonly title?: string;
/**
* egress_from block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#egress_from AccessContextManagerServicePerimeters#egress_from}
*/
readonly egressFrom?: AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFrom;
/**
* egress_to block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#egress_to AccessContextManagerServicePerimeters#egress_to}
*/
readonly egressTo?: AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressTo;
}
export declare function accessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesToTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersSpecEgressPolicies | cdktf.IResolvable): any;
export declare function accessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesToHclTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersSpecEgressPolicies | cdktf.IResolvable): any;
export declare class AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference 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(): AccessContextManagerServicePerimetersServicePerimetersSpecEgressPolicies | cdktf.IResolvable | undefined;
set internalValue(value: AccessContextManagerServicePerimetersServicePerimetersSpecEgressPolicies | cdktf.IResolvable | undefined);
private _title?;
get title(): string;
set title(value: string);
resetTitle(): void;
get titleInput(): string | undefined;
private _egressFrom;
get egressFrom(): AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference;
putEgressFrom(value: AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFrom): void;
resetEgressFrom(): void;
get egressFromInput(): AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFrom | undefined;
private _egressTo;
get egressTo(): AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference;
putEgressTo(value: AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressTo): void;
resetEgressTo(): void;
get egressToInput(): AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressTo | undefined;
}
export declare class AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: AccessContextManagerServicePerimetersServicePerimetersSpecEgressPolicies[] | 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): AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference;
}
export interface AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSources {
/**
* An 'AccessLevel' resource name that allow resources within the
* 'ServicePerimeters' to be accessed from the internet. 'AccessLevels' listed
* must be in the same policy as this 'ServicePerimeter'. Referencing a nonexistent
* 'AccessLevel' will cause an error. If no 'AccessLevel' names are listed,
* resources within the perimeter can only be accessed via Google Cloud calls
* with request origins within the perimeter.
* Example 'accessPolicies/MY_POLICY/accessLevels/MY_LEVEL.'
* If * is specified, then all IngressSources will be allowed.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#access_level AccessContextManagerServicePerimeters#access_level}
*/
readonly accessLevel?: string;
/**
* A Google Cloud resource that is allowed to ingress the perimeter.
* Requests from these resources will be allowed to access perimeter data.
* Currently only projects are allowed. Format 'projects/{project_number}'
* The project may be in any Google Cloud organization, not just the
* organization that the perimeter is defined in. '*' is not allowed, the case
* of allowing all Google Cloud resources only is not supported.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#resource AccessContextManagerServicePerimeters#resource}
*/
readonly resource?: string;
}
export declare function accessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesToTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSources | cdktf.IResolvable): any;
export declare function accessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesToHclTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSources | cdktf.IResolvable): any;
export declare class AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference 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(): AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSources | cdktf.IResolvable | undefined;
set internalValue(value: AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSources | cdktf.IResolvable | undefined);
private _accessLevel?;
get accessLevel(): string;
set accessLevel(value: string);
resetAccessLevel(): void;
get accessLevelInput(): string | undefined;
private _resource?;
get resource(): string;
set resource(value: string);
resetResource(): void;
get resourceInput(): string | undefined;
}
export declare class AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSources[] | 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): AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference;
}
export interface AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFrom {
/**
* A list of identities that are allowed access through this ingress policy.
* Should be in the format of email address. The email address should represent
* individual user or service account only.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#identities AccessContextManagerServicePerimeters#identities}
*/
readonly identities?: string[];
/**
* Specifies the type of identities that are allowed access from outside the
* perimeter. If left unspecified, then members of 'identities' field will be
* allowed access. Possible values: ["IDENTITY_TYPE_UNSPECIFIED", "ANY_IDENTITY", "ANY_USER_ACCOUNT", "ANY_SERVICE_ACCOUNT"]
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#identity_type AccessContextManagerServicePerimeters#identity_type}
*/
readonly identityType?: string;
/**
* sources block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#sources AccessContextManagerServicePerimeters#sources}
*/
readonly sources?: AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSources[] | cdktf.IResolvable;
}
export declare function accessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromToTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference | AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFrom): any;
export declare function accessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromToHclTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference | AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFrom): any;
export declare class AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference 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(): AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFrom | undefined;
set internalValue(value: AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFrom | undefined);
private _identities?;
get identities(): string[];
set identities(value: string[]);
resetIdentities(): void;
get identitiesInput(): string[] | undefined;
private _identityType?;
get identityType(): string;
set identityType(value: string);
resetIdentityType(): void;
get identityTypeInput(): string | undefined;
private _sources;
get sources(): AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesList;
putSources(value: AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSources[] | cdktf.IResolvable): void;
resetSources(): void;
get sourcesInput(): cdktf.IResolvable | AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSources[] | undefined;
}
export interface AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectors {
/**
* Value for method should be a valid method name for the corresponding
* serviceName in 'ApiOperation'. If '*' used as value for 'method', then
* ALL methods and permissions are allowed.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#method AccessContextManagerServicePerimeters#method}
*/
readonly method?: string;
/**
* Value for permission should be a valid Cloud IAM permission for the
* corresponding 'serviceName' in 'ApiOperation'.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#permission AccessContextManagerServicePerimeters#permission}
*/
readonly permission?: string;
}
export declare function accessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsToTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectors | cdktf.IResolvable): any;
export declare function accessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsToHclTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectors | cdktf.IResolvable): any;
export declare class AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference 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(): AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectors | cdktf.IResolvable | undefined;
set internalValue(value: AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectors | cdktf.IResolvable | undefined);
private _method?;
get method(): string;
set method(value: string);
resetMethod(): void;
get methodInput(): string | undefined;
private _permission?;
get permission(): string;
set permission(value: string);
resetPermission(): void;
get permissionInput(): string | undefined;
}
export declare class AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectors[] | 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): AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference;
}
export interface AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperations {
/**
* The name of the API whose methods or permissions the 'IngressPolicy' or
* 'EgressPolicy' want to allow. A single 'ApiOperation' with 'serviceName'
* field set to '*' will allow all methods AND permissions for all services.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#service_name AccessContextManagerServicePerimeters#service_name}
*/
readonly serviceName?: string;
/**
* method_selectors block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#method_selectors AccessContextManagerServicePerimeters#method_selectors}
*/
readonly methodSelectors?: AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectors[] | cdktf.IResolvable;
}
export declare function accessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsToTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperations | cdktf.IResolvable): any;
export declare function accessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsToHclTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperations | cdktf.IResolvable): any;
export declare class AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference 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(): AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperations | cdktf.IResolvable | undefined;
set internalValue(value: AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperations | cdktf.IResolvable | undefined);
private _serviceName?;
get serviceName(): string;
set serviceName(value: string);
resetServiceName(): void;
get serviceNameInput(): string | undefined;
private _methodSelectors;
get methodSelectors(): AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsList;
putMethodSelectors(value: AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectors[] | cdktf.IResolvable): void;
resetMethodSelectors(): void;
get methodSelectorsInput(): cdktf.IResolvable | AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectors[] | undefined;
}
export declare class AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperations[] | 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): AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference;
}
export interface AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressTo {
/**
* A list of resources, currently only projects in the form
* 'projects/<projectnumber>', protected by this 'ServicePerimeter'
* that are allowed to be accessed by sources defined in the
* corresponding 'IngressFrom'. A request matches if it contains
* a resource in this list. If '*' is specified for resources,
* then this 'IngressTo' rule will authorize access to all
* resources inside the perimeter, provided that the request
* also matches the 'operations' field.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#resources AccessContextManagerServicePerimeters#resources}
*/
readonly resources?: string[];
/**
* A list of IAM roles that represent the set of operations that the sources
* specified in the corresponding 'IngressFrom'
* are allowed to perform.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#roles AccessContextManagerServicePerimeters#roles}
*/
readonly roles?: string[];
/**
* operations block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#operations AccessContextManagerServicePerimeters#operations}
*/
readonly operations?: AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperations[] | cdktf.IResolvable;
}
export declare function accessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToToTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference | AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressTo): any;
export declare function accessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToToHclTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference | AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressTo): any;
export declare class AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference 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(): AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressTo | undefined;
set internalValue(value: AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressTo | undefined);
private _resources?;
get resources(): string[];
set resources(value: string[]);
resetResources(): void;
get resourcesInput(): string[] | undefined;
private _roles?;
get roles(): string[];
set roles(value: string[]);
resetRoles(): void;
get rolesInput(): string[] | undefined;
private _operations;
get operations(): AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsList;
putOperations(value: AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperations[] | cdktf.IResolvable): void;
resetOperations(): void;
get operationsInput(): cdktf.IResolvable | AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperations[] | undefined;
}
export interface AccessContextManagerServicePerimetersServicePerimetersSpecIngressPolicies {
/**
* Human readable title. Must be unique within the perimeter. Does not affect behavior.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#title AccessContextManagerServicePerimeters#title}
*/
readonly title?: string;
/**
* ingress_from block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#ingress_from AccessContextManagerServicePerimeters#ingress_from}
*/
readonly ingressFrom?: AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFrom;
/**
* ingress_to block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#ingress_to AccessContextManagerServicePerimeters#ingress_to}
*/
readonly ingressTo?: AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressTo;
}
export declare function accessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesToTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersSpecIngressPolicies | cdktf.IResolvable): any;
export declare function accessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesToHclTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersSpecIngressPolicies | cdktf.IResolvable): any;
export declare class AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference 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(): AccessContextManagerServicePerimetersServicePerimetersSpecIngressPolicies | cdktf.IResolvable | undefined;
set internalValue(value: AccessContextManagerServicePerimetersServicePerimetersSpecIngressPolicies | cdktf.IResolvable | undefined);
private _title?;
get title(): string;
set title(value: string);
resetTitle(): void;
get titleInput(): string | undefined;
private _ingressFrom;
get ingressFrom(): AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference;
putIngressFrom(value: AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFrom): void;
resetIngressFrom(): void;
get ingressFromInput(): AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFrom | undefined;
private _ingressTo;
get ingressTo(): AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference;
putIngressTo(value: AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressTo): void;
resetIngressTo(): void;
get ingressToInput(): AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressTo | undefined;
}
export declare class AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: AccessContextManagerServicePerimetersServicePerimetersSpecIngressPolicies[] | 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): AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference;
}
export interface AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServices {
/**
* The list of APIs usable within the Service Perimeter.
* Must be empty unless 'enableRestriction' is True.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#allowed_services AccessContextManagerServicePerimeters#allowed_services}
*/
readonly allowedServices?: string[];
/**
* Whether to restrict API calls within the Service Perimeter to the
* list of APIs specified in 'allowedServices'.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#enable_restriction AccessContextManagerServicePerimeters#enable_restriction}
*/
readonly enableRestriction?: boolean | cdktf.IResolvable;
}
export declare function accessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesToTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference | AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServices): any;
export declare function accessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesToHclTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference | AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServices): any;
export declare class AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference 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(): AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServices | undefined;
set internalValue(value: AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServices | undefined);
private _allowedServices?;
get allowedServices(): string[];
set allowedServices(value: string[]);
resetAllowedServices(): void;
get allowedServicesInput(): string[] | undefined;
private _enableRestriction?;
get enableRestriction(): boolean | cdktf.IResolvable;
set enableRestriction(value: boolean | cdktf.IResolvable);
resetEnableRestriction(): void;
get enableRestrictionInput(): boolean | cdktf.IResolvable | undefined;
}
export interface AccessContextManagerServicePerimetersServicePerimetersSpec {
/**
* A list of AccessLevel resource names that allow resources within
* the ServicePerimeter to be accessed from the internet.
* AccessLevels listed must be in the same policy as this
* ServicePerimeter. Referencing a nonexistent AccessLevel is a
* syntax error. If no AccessLevel names are listed, resources within
* the perimeter can only be accessed via GCP calls with request
* origins within the perimeter. For Service Perimeter Bridge, must
* be empty.
*
* Format: accessPolicies/{policy_id}/accessLevels/{access_level_name}
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#access_levels AccessContextManagerServicePerimeters#access_levels}
*/
readonly accessLevels?: string[];
/**
* A list of GCP resources that are inside of the service perimeter.
* Currently only projects are allowed.
* Format: projects/{project_number}
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#resources AccessContextManagerServicePerimeters#resources}
*/
readonly resources?: string[];
/**
* GCP services that are subject to the Service Perimeter
* restrictions. Must contain a list of services. For example, if
* 'storage.googleapis.com' is specified, access to the storage
* buckets inside the perimeter must meet the perimeter's access
* restrictions.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#restricted_services AccessContextManagerServicePerimeters#restricted_services}
*/
readonly restrictedServices?: string[];
/**
* egress_policies block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#egress_policies AccessContextManagerServicePerimeters#egress_policies}
*/
readonly egressPolicies?: AccessContextManagerServicePerimetersServicePerimetersSpecEgressPolicies[] | cdktf.IResolvable;
/**
* ingress_policies block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#ingress_policies AccessContextManagerServicePerimeters#ingress_policies}
*/
readonly ingressPolicies?: AccessContextManagerServicePerimetersServicePerimetersSpecIngressPolicies[] | cdktf.IResolvable;
/**
* vpc_accessible_services block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#vpc_accessible_services AccessContextManagerServicePerimeters#vpc_accessible_services}
*/
readonly vpcAccessibleServices?: AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServices;
}
export declare function accessContextManagerServicePerimetersServicePerimetersSpecToTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference | AccessContextManagerServicePerimetersServicePerimetersSpec): any;
export declare function accessContextManagerServicePerimetersServicePerimetersSpecToHclTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference | AccessContextManagerServicePerimetersServicePerimetersSpec): any;
export declare class AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference 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(): AccessContextManagerServicePerimetersServicePerimetersSpec | undefined;
set internalValue(value: AccessContextManagerServicePerimetersServicePerimetersSpec | undefined);
private _accessLevels?;
get accessLevels(): string[];
set accessLevels(value: string[]);
resetAccessLevels(): void;
get accessLevelsInput(): string[] | undefined;
private _resources?;
get resources(): string[];
set resources(value: string[]);
resetResources(): void;
get resourcesInput(): string[] | undefined;
private _restrictedServices?;
get restrictedServices(): string[];
set restrictedServices(value: string[]);
resetRestrictedServices(): void;
get restrictedServicesInput(): string[] | undefined;
private _egressPolicies;
get egressPolicies(): AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesList;
putEgressPolicies(value: AccessContextManagerServicePerimetersServicePerimetersSpecEgressPolicies[] | cdktf.IResolvable): void;
resetEgressPolicies(): void;
get egressPoliciesInput(): cdktf.IResolvable | AccessContextManagerServicePerimetersServicePerimetersSpecEgressPolicies[] | undefined;
private _ingressPolicies;
get ingressPolicies(): AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesList;
putIngressPolicies(value: AccessContextManagerServicePerimetersServicePerimetersSpecIngressPolicies[] | cdktf.IResolvable): void;
resetIngressPolicies(): void;
get ingressPoliciesInput(): cdktf.IResolvable | AccessContextManagerServicePerimetersServicePerimetersSpecIngressPolicies[] | undefined;
private _vpcAccessibleServices;
get vpcAccessibleServices(): AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference;
putVpcAccessibleServices(value: AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServices): void;
resetVpcAccessibleServices(): void;
get vpcAccessibleServicesInput(): AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServices | undefined;
}
export interface AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromSources {
/**
* An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#access_level AccessContextManagerServicePerimeters#access_level}
*/
readonly accessLevel?: string;
/**
* A Google Cloud resource that is allowed to egress the perimeter.
* Requests from these resources are allowed to access data outside the perimeter.
* Currently only projects are allowed. Project format: 'projects/{project_number}'.
* The resource may be in any Google Cloud organization, not just the
* organization that the perimeter is defined in. '*' is not allowed, the
* case of allowing all Google Cloud resources only is not supported.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#resource AccessContextManagerServicePerimeters#resource}
*/
readonly resource?: string;
}
export declare function accessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromSourcesToTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromSources | cdktf.IResolvable): any;
export declare function accessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromSourcesToHclTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromSources | cdktf.IResolvable): any;
export declare class AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromSourcesOutputReference 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(): AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromSources | cdktf.IResolvable | undefined;
set internalValue(value: AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromSources | cdktf.IResolvable | undefined);
private _accessLevel?;
get accessLevel(): string;
set accessLevel(value: string);
resetAccessLevel(): void;
get accessLevelInput(): string | undefined;
private _resource?;
get resource(): string;
set resource(value: string);
resetResource(): void;
get resourceInput(): string | undefined;
}
export declare class AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromSourcesList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromSources[] | 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): AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromSourcesOutputReference;
}
export interface AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFrom {
/**
* A list of identities that are allowed access through this 'EgressPolicy'.
* Should be in the format of email address. The email address should
* represent individual user or service account only.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#identities AccessContextManagerServicePerimeters#identities}
*/
readonly identities?: string[];
/**
* Specifies the type of identities that are allowed access to outside the
* perimeter. If left unspecified, then members of 'identities' field will
* be allowed access. Possible values: ["IDENTITY_TYPE_UNSPECIFIED", "ANY_IDENTITY", "ANY_USER_ACCOUNT", "ANY_SERVICE_ACCOUNT"]
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#identity_type AccessContextManagerServicePerimeters#identity_type}
*/
readonly identityType?: string;
/**
* Whether to enforce traffic restrictions based on 'sources' field. If the 'sources' field is non-empty, then this field must be set to 'SOURCE_RESTRICTION_ENABLED'. Possible values: ["SOURCE_RESTRICTION_UNSPECIFIED", "SOURCE_RESTRICTION_ENABLED", "SOURCE_RESTRICTION_DISABLED"]
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#source_restriction AccessContextManagerServicePerimeters#source_restriction}
*/
readonly sourceRestriction?: string;
/**
* sources block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#sources AccessContextManagerServicePerimeters#sources}
*/
readonly sources?: AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromSources[] | cdktf.IResolvable;
}
export declare function accessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromToTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference | AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFrom): any;
export declare function accessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromToHclTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference | AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFrom): any;
export declare class AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference 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(): AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFrom | undefined;
set internalValue(value: AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFrom | undefined);
private _identities?;
get identities(): string[];
set identities(value: string[]);
resetIdentities(): void;
get identitiesInput(): string[] | undefined;
private _identityType?;
get identityType(): string;
set identityType(value: string);
resetIdentityType(): void;
get identityTypeInput(): string | undefined;
private _sourceRestriction?;
get sourceRestriction(): string;
set sourceRestriction(value: string);
resetSourceRestriction(): void;
get sourceRestrictionInput(): string | undefined;
private _sources;
get sources(): AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromSourcesList;
putSources(value: AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromSources[] | cdktf.IResolvable): void;
resetSources(): void;
get sourcesInput(): cdktf.IResolvable | AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromSources[] | undefined;
}
export interface AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectors {
/**
* Value for 'method' should be a valid method name for the corresponding
* 'serviceName' in 'ApiOperation'. If '*' used as value for method,
* then ALL methods and permissions are allowed.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#method AccessContextManagerServicePerimeters#method}
*/
readonly method?: string;
/**
* Value for permission should be a valid Cloud IAM permission for the
* corresponding 'serviceName' in 'ApiOperation'.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#permission AccessContextManagerServicePerimeters#permission}
*/
readonly permission?: string;
}
export declare function accessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsToTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectors | cdktf.IResolvable): any;
export declare function accessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsToHclTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectors | cdktf.IResolvable): any;
export declare class AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference 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(): AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectors | cdktf.IResolvable | undefined;
set internalValue(value: AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectors | cdktf.IResolvable | undefined);
private _method?;
get method(): string;
set method(value: string);
resetMethod(): void;
get methodInput(): string | undefined;
private _permission?;
get permission(): string;
set permission(value: string);
resetPermission(): void;
get permissionInput(): string | undefined;
}
export declare class AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectors[] | 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): AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference;
}
export interface AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperations {
/**
* The name of the API whose methods or permissions the 'IngressPolicy' or
* 'EgressPolicy' want to allow. A single 'ApiOperation' with serviceName
* field set to '*' will allow all methods AND permissions for all services.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#service_name AccessContextManagerServicePerimeters#service_name}
*/
readonly serviceName?: string;
/**
* method_selectors block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#method_selectors AccessContextManagerServicePerimeters#method_selectors}
*/
readonly methodSelectors?: AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectors[] | cdktf.IResolvable;
}
export declare function accessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsToTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperations | cdktf.IResolvable): any;
export declare function accessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsToHclTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperations | cdktf.IResolvable): any;
export declare class AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference 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(): AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperations | cdktf.IResolvable | undefined;
set internalValue(value: AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperations | cdktf.IResolvable | undefined);
private _serviceName?;
get serviceName(): string;
set serviceName(value: string);
resetServiceName(): void;
get serviceNameInput(): string | undefined;
private _methodSelectors;
get methodSelectors(): AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsList;
putMethodSelectors(value: AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectors[] | cdktf.IResolvable): void;
resetMethodSelectors(): void;
get methodSelectorsInput(): cdktf.IResolvable | AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectors[] | undefined;
}
export declare class AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperations[] | 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): AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference;
}
export interface AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressTo {
/**
* A list of external resources that are allowed to be accessed. A request
* matches if it contains an external resource in this list (Example:
* s3://bucket/path). Currently '*' is not allowed.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#external_resources AccessContextManagerServicePerimeters#external_resources}
*/
readonly externalResources?: string[];
/**
* A list of resources, currently only projects in the form
* 'projects/<projectnumber>', that match this to stanza. A request matches
* if it contains a resource in this list. If * is specified for resources,
* then this 'EgressTo' rule will authorize access to all resources outside
* the perimeter.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#resources AccessContextManagerServicePerimeters#resources}
*/
readonly resources?: string[];
/**
* A list of IAM roles that represent the set of operations that the sources
* specified in the corresponding 'EgressFrom'
* are allowed to perform.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#roles AccessContextManagerServicePerimeters#roles}
*/
readonly roles?: string[];
/**
* operations block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#operations AccessContextManagerServicePerimeters#operations}
*/
readonly operations?: AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperations[] | cdktf.IResolvable;
}
export declare function accessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToToTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference | AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressTo): any;
export declare function accessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToToHclTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference | AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressTo): any;
export declare class AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference 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(): AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressTo | undefined;
set internalValue(value: AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressTo | undefined);
private _externalResources?;
get externalResources(): string[];
set externalResources(value: string[]);
resetExternalResources(): void;
get externalResourcesInput(): string[] | undefined;
private _resources?;
get resources(): string[];
set resources(value: string[]);
resetResources(): void;
get resourcesInput(): string[] | undefined;
private _roles?;
get roles(): string[];
set roles(value: string[]);
resetRoles(): void;
get rolesInput(): string[] | undefined;
private _operations;
get operations(): AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsList;
putOperations(value: AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperations[] | cdktf.IResolvable): void;
resetOperations(): void;
get operationsInput(): cdktf.IResolvable | AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperations[] | undefined;
}
export interface AccessContextManagerServicePerimetersServicePerimetersStatusEgressPolicies {
/**
* Human readable title. Must be unique within the perimeter. Does not affect behavior.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#title AccessContextManagerServicePerimeters#title}
*/
readonly title?: string;
/**
* egress_from block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#egress_from AccessContextManagerServicePerimeters#egress_from}
*/
readonly egressFrom?: AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFrom;
/**
* egress_to block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#egress_to AccessContextManagerServicePerimeters#egress_to}
*/
readonly egressTo?: AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressTo;
}
export declare function accessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesToTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersStatusEgressPolicies | cdktf.IResolvable): any;
export declare function accessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesToHclTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersStatusEgressPolicies | cdktf.IResolvable): any;
export declare class AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference 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(): AccessContextManagerServicePerimetersServicePerimetersStatusEgressPolicies | cdktf.IResolvable | undefined;
set internalValue(value: AccessContextManagerServicePerimetersServicePerimetersStatusEgressPolicies | cdktf.IResolvable | undefined);
private _title?;
get title(): string;
set title(value: string);
resetTitle(): void;
get titleInput(): string | undefined;
private _egressFrom;
get egressFrom(): AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference;
putEgressFrom(value: AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFrom): void;
resetEgressFrom(): void;
get egressFromInput(): AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFrom | undefined;
private _egressTo;
get egressTo(): AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference;
putEgressTo(value: AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressTo): void;
resetEgressTo(): void;
get egressToInput(): AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressTo | undefined;
}
export declare class AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: AccessContextManagerServicePerimetersServicePerimetersStatusEgressPolicies[] | 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): AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference;
}
export interface AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSources {
/**
* An 'AccessLevel' resource name that allow resources within the
* 'ServicePerimeters' to be accessed from the internet. 'AccessLevels' listed
* must be in the same policy as this 'ServicePerimeter'. Referencing a nonexistent
* 'AccessLevel' will cause an error. If no 'AccessLevel' names are listed,
* resources within the perimeter can only be accessed via Google Cloud calls
* with request origins within the perimeter.
* Example 'accessPolicies/MY_POLICY/accessLevels/MY_LEVEL.'
* If * is specified, then all IngressSources will be allowed.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#access_level AccessContextManagerServicePerimeters#access_level}
*/
readonly accessLevel?: string;
/**
* A Google Cloud resource that is allowed to ingress the perimeter.
* Requests from these resources will be allowed to access perimeter data.
* Currently only projects are allowed. Format 'projects/{project_number}'
* The project may be in any Google Cloud organization, not just the
* organization that the perimeter is defined in. '*' is not allowed, the case
* of allowing all Google Cloud resources only is not supported.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#resource AccessContextManagerServicePerimeters#resource}
*/
readonly resource?: string;
}
export declare function accessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesToTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSources | cdktf.IResolvable): any;
export declare function accessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesToHclTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSources | cdktf.IResolvable): any;
export declare class AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference 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(): AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSources | cdktf.IResolvable | undefined;
set internalValue(value: AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSources | cdktf.IResolvable | undefined);
private _accessLevel?;
get accessLevel(): string;
set accessLevel(value: string);
resetAccessLevel(): void;
get accessLevelInput(): string | undefined;
private _resource?;
get resource(): string;
set resource(value: string);
resetResource(): void;
get resourceInput(): string | undefined;
}
export declare class AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSources[] | 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): AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference;
}
export interface AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFrom {
/**
* A list of identities that are allowed access through this ingress policy.
* Should be in the format of email address. The email address should represent
* individual user or service account only.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#identities AccessContextManagerServicePerimeters#identities}
*/
readonly identities?: string[];
/**
* Specifies the type of identities that are allowed access from outside the
* perimeter. If left unspecified, then members of 'identities' field will be
* allowed access. Possible values: ["IDENTITY_TYPE_UNSPECIFIED", "ANY_IDENTITY", "ANY_USER_ACCOUNT", "ANY_SERVICE_ACCOUNT"]
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#identity_type AccessContextManagerServicePerimeters#identity_type}
*/
readonly identityType?: string;
/**
* sources block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#sources AccessContextManagerServicePerimeters#sources}
*/
readonly sources?: AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSources[] | cdktf.IResolvable;
}
export declare function accessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromToTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference | AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFrom): any;
export declare function accessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromToHclTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference | AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFrom): any;
export declare class AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference 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(): AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFrom | undefined;
set internalValue(value: AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFrom | undefined);
private _identities?;
get identities(): string[];
set identities(value: string[]);
resetIdentities(): void;
get identitiesInput(): string[] | undefined;
private _identityType?;
get identityType(): string;
set identityType(value: string);
resetIdentityType(): void;
get identityTypeInput(): string | undefined;
private _sources;
get sources(): AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesList;
putSources(value: AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSources[] | cdktf.IResolvable): void;
resetSources(): void;
get sourcesInput(): cdktf.IResolvable | AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSources[] | undefined;
}
export interface AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectors {
/**
* Value for method should be a valid method name for the corresponding
* serviceName in 'ApiOperation'. If '*' used as value for 'method', then
* ALL methods and permissions are allowed.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#method AccessContextManagerServicePerimeters#method}
*/
readonly method?: string;
/**
* Value for permission should be a valid Cloud IAM permission for the
* corresponding 'serviceName' in 'ApiOperation'.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#permission AccessContextManagerServicePerimeters#permission}
*/
readonly permission?: string;
}
export declare function accessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsToTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectors | cdktf.IResolvable): any;
export declare function accessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsToHclTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectors | cdktf.IResolvable): any;
export declare class AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference 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(): AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectors | cdktf.IResolvable | undefined;
set internalValue(value: AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectors | cdktf.IResolvable | undefined);
private _method?;
get method(): string;
set method(value: string);
resetMethod(): void;
get methodInput(): string | undefined;
private _permission?;
get permission(): string;
set permission(value: string);
resetPermission(): void;
get permissionInput(): string | undefined;
}
export declare class AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectors[] | 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): AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference;
}
export interface AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperations {
/**
* The name of the API whose methods or permissions the 'IngressPolicy' or
* 'EgressPolicy' want to allow. A single 'ApiOperation' with 'serviceName'
* field set to '*' will allow all methods AND permissions for all services.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#service_name AccessContextManagerServicePerimeters#service_name}
*/
readonly serviceName?: string;
/**
* method_selectors block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#method_selectors AccessContextManagerServicePerimeters#method_selectors}
*/
readonly methodSelectors?: AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectors[] | cdktf.IResolvable;
}
export declare function accessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsToTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperations | cdktf.IResolvable): any;
export declare function accessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsToHclTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperations | cdktf.IResolvable): any;
export declare class AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference 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(): AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperations | cdktf.IResolvable | undefined;
set internalValue(value: AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperations | cdktf.IResolvable | undefined);
private _serviceName?;
get serviceName(): string;
set serviceName(value: string);
resetServiceName(): void;
get serviceNameInput(): string | undefined;
private _methodSelectors;
get methodSelectors(): AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsList;
putMethodSelectors(value: AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectors[] | cdktf.IResolvable): void;
resetMethodSelectors(): void;
get methodSelectorsInput(): cdktf.IResolvable | AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectors[] | undefined;
}
export declare class AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperations[] | 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): AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference;
}
export interface AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressTo {
/**
* A list of resources, currently only projects in the form
* 'projects/<projectnumber>', protected by this 'ServicePerimeter'
* that are allowed to be accessed by sources defined in the
* corresponding 'IngressFrom'. A request matches if it contains
* a resource in this list. If '*' is specified for resources,
* then this 'IngressTo' rule will authorize access to all
* resources inside the perimeter, provided that the request
* also matches the 'operations' field.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#resources AccessContextManagerServicePerimeters#resources}
*/
readonly resources?: string[];
/**
* A list of IAM roles that represent the set of operations that the sources
* specified in the corresponding 'IngressFrom'
* are allowed to perform.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#roles AccessContextManagerServicePerimeters#roles}
*/
readonly roles?: string[];
/**
* operations block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#operations AccessContextManagerServicePerimeters#operations}
*/
readonly operations?: AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperations[] | cdktf.IResolvable;
}
export declare function accessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToToTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference | AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressTo): any;
export declare function accessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToToHclTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference | AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressTo): any;
export declare class AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference 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(): AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressTo | undefined;
set internalValue(value: AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressTo | undefined);
private _resources?;
get resources(): string[];
set resources(value: string[]);
resetResources(): void;
get resourcesInput(): string[] | undefined;
private _roles?;
get roles(): string[];
set roles(value: string[]);
resetRoles(): void;
get rolesInput(): string[] | undefined;
private _operations;
get operations(): AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsList;
putOperations(value: AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperations[] | cdktf.IResolvable): void;
resetOperations(): void;
get operationsInput(): cdktf.IResolvable | AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperations[] | undefined;
}
export interface AccessContextManagerServicePerimetersServicePerimetersStatusIngressPolicies {
/**
* Human readable title. Must be unique within the perimeter. Does not affect behavior.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#title AccessContextManagerServicePerimeters#title}
*/
readonly title?: string;
/**
* ingress_from block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#ingress_from AccessContextManagerServicePerimeters#ingress_from}
*/
readonly ingressFrom?: AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFrom;
/**
* ingress_to block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#ingress_to AccessContextManagerServicePerimeters#ingress_to}
*/
readonly ingressTo?: AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressTo;
}
export declare function accessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesToTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersStatusIngressPolicies | cdktf.IResolvable): any;
export declare function accessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesToHclTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersStatusIngressPolicies | cdktf.IResolvable): any;
export declare class AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference 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(): AccessContextManagerServicePerimetersServicePerimetersStatusIngressPolicies | cdktf.IResolvable | undefined;
set internalValue(value: AccessContextManagerServicePerimetersServicePerimetersStatusIngressPolicies | cdktf.IResolvable | undefined);
private _title?;
get title(): string;
set title(value: string);
resetTitle(): void;
get titleInput(): string | undefined;
private _ingressFrom;
get ingressFrom(): AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference;
putIngressFrom(value: AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFrom): void;
resetIngressFrom(): void;
get ingressFromInput(): AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFrom | undefined;
private _ingressTo;
get ingressTo(): AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference;
putIngressTo(value: AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressTo): void;
resetIngressTo(): void;
get ingressToInput(): AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressTo | undefined;
}
export declare class AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: AccessContextManagerServicePerimetersServicePerimetersStatusIngressPolicies[] | 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): AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference;
}
export interface AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServices {
/**
* The list of APIs usable within the Service Perimeter.
* Must be empty unless 'enableRestriction' is True.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#allowed_services AccessContextManagerServicePerimeters#allowed_services}
*/
readonly allowedServices?: string[];
/**
* Whether to restrict API calls within the Service Perimeter to the
* list of APIs specified in 'allowedServices'.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#enable_restriction AccessContextManagerServicePerimeters#enable_restriction}
*/
readonly enableRestriction?: boolean | cdktf.IResolvable;
}
export declare function accessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesToTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference | AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServices): any;
export declare function accessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesToHclTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference | AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServices): any;
export declare class AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference 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(): AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServices | undefined;
set internalValue(value: AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServices | undefined);
private _allowedServices?;
get allowedServices(): string[];
set allowedServices(value: string[]);
resetAllowedServices(): void;
get allowedServicesInput(): string[] | undefined;
private _enableRestriction?;
get enableRestriction(): boolean | cdktf.IResolvable;
set enableRestriction(value: boolean | cdktf.IResolvable);
resetEnableRestriction(): void;
get enableRestrictionInput(): boolean | cdktf.IResolvable | undefined;
}
export interface AccessContextManagerServicePerimetersServicePerimetersStatus {
/**
* A list of AccessLevel resource names that allow resources within
* the ServicePerimeter to be accessed from the internet.
* AccessLevels listed must be in the same policy as this
* ServicePerimeter. Referencing a nonexistent AccessLevel is a
* syntax error. If no AccessLevel names are listed, resources within
* the perimeter can only be accessed via GCP calls with request
* origins within the perimeter. For Service Perimeter Bridge, must
* be empty.
*
* Format: accessPolicies/{policy_id}/accessLevels/{access_level_name}
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#access_levels AccessContextManagerServicePerimeters#access_levels}
*/
readonly accessLevels?: string[];
/**
* A list of GCP resources that are inside of the service perimeter.
* Currently only projects are allowed.
* Format: projects/{project_number}
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#resources AccessContextManagerServicePerimeters#resources}
*/
readonly resources?: string[];
/**
* GCP services that are subject to the Service Perimeter
* restrictions. Must contain a list of services. For example, if
* 'storage.googleapis.com' is specified, access to the storage
* buckets inside the perimeter must meet the perimeter's access
* restrictions.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#restricted_services AccessContextManagerServicePerimeters#restricted_services}
*/
readonly restrictedServices?: string[];
/**
* egress_policies block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#egress_policies AccessContextManagerServicePerimeters#egress_policies}
*/
readonly egressPolicies?: AccessContextManagerServicePerimetersServicePerimetersStatusEgressPolicies[] | cdktf.IResolvable;
/**
* ingress_policies block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#ingress_policies AccessContextManagerServicePerimeters#ingress_policies}
*/
readonly ingressPolicies?: AccessContextManagerServicePerimetersServicePerimetersStatusIngressPolicies[] | cdktf.IResolvable;
/**
* vpc_accessible_services block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#vpc_accessible_services AccessContextManagerServicePerimeters#vpc_accessible_services}
*/
readonly vpcAccessibleServices?: AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServices;
}
export declare function accessContextManagerServicePerimetersServicePerimetersStatusToTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference | AccessContextManagerServicePerimetersServicePerimetersStatus): any;
export declare function accessContextManagerServicePerimetersServicePerimetersStatusToHclTerraform(struct?: AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference | AccessContextManagerServicePerimetersServicePerimetersStatus): any;
export declare class AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference 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(): AccessContextManagerServicePerimetersServicePerimetersStatus | undefined;
set internalValue(value: AccessContextManagerServicePerimetersServicePerimetersStatus | undefined);
private _accessLevels?;
get accessLevels(): string[];
set accessLevels(value: string[]);
resetAccessLevels(): void;
get accessLevelsInput(): string[] | undefined;
private _resources?;
get resources(): string[];
set resources(value: string[]);
resetResources(): void;
get resourcesInput(): string[] | undefined;
private _restrictedServices?;
get restrictedServices(): string[];
set restrictedServices(value: string[]);
resetRestrictedServices(): void;
get restrictedServicesInput(): string[] | undefined;
private _egressPolicies;
get egressPolicies(): AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesList;
putEgressPolicies(value: AccessContextManagerServicePerimetersServicePerimetersStatusEgressPolicies[] | cdktf.IResolvable): void;
resetEgressPolicies(): void;
get egressPoliciesInput(): cdktf.IResolvable | AccessContextManagerServicePerimetersServicePerimetersStatusEgressPolicies[] | undefined;
private _ingressPolicies;
get ingressPolicies(): AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesList;
putIngressPolicies(value: AccessContextManagerServicePerimetersServicePerimetersStatusIngressPolicies[] | cdktf.IResolvable): void;
resetIngressPolicies(): void;
get ingressPoliciesInput(): cdktf.IResolvable | AccessContextManagerServicePerimetersServicePerimetersStatusIngressPolicies[] | undefined;
private _vpcAccessibleServices;
get vpcAccessibleServices(): AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference;
putVpcAccessibleServices(value: AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServices): void;
resetVpcAccessibleServices(): void;
get vpcAccessibleServicesInput(): AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServices | undefined;
}
export interface AccessContextManagerServicePerimetersServicePerimeters {
/**
* Description of the ServicePerimeter and its use. Does not affect
* behavior.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#description AccessContextManagerServicePerimeters#description}
*/
readonly description?: string;
/**
* Resource name for the ServicePerimeter. The short_name component must
* begin with a letter and only include alphanumeric and '_'.
* Format: accessPolicies/{policy_id}/servicePerimeters/{short_name}
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#name AccessContextManagerServicePerimeters#name}
*/
readonly name: string;
/**
* Specifies the type of the Perimeter. There are two types: regular and
* bridge. Regular Service Perimeter contains resources, access levels,
* and restricted services. Every resource can be in at most
* ONE regular Service Perimeter.
*
* In addition to being in a regular service perimeter, a resource can also
* be in zero or more perimeter bridges. A perimeter bridge only contains
* resources. Cross project operations are permitted if all effected
* resources share some perimeter (whether bridge or regular). Perimeter
* Bridge does not contain access levels or services: those are governed
* entirely by the regular perimeter that resource is in.
*
* Perimeter Bridges are typically useful when building more complex
* topologies with many independent perimeters that need to share some data
* with a common perimeter, but should not be able to share data among
* themselves. Default value: "PERIMETER_TYPE_REGULAR" Possible values: ["PERIMETER_TYPE_REGULAR", "PERIMETER_TYPE_BRIDGE"]
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#perimeter_type AccessContextManagerServicePerimeters#perimeter_type}
*/
readonly perimeterType?: string;
/**
* Human readable title. Must be unique within the Policy.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#title AccessContextManagerServicePerimeters#title}
*/
readonly title: string;
/**
* Use explicit dry run spec flag. Ordinarily, a dry-run spec implicitly exists
* for all Service Perimeters, and that spec is identical to the status for those
* Service Perimeters. When this flag is set, it inhibits the generation of the
* implicit spec, thereby allowing the user to explicitly provide a
* configuration ("spec") to use in a dry-run version of the Service Perimeter.
* This allows the user to test changes to the enforced config ("status") without
* actually enforcing them. This testing is done through analyzing the differences
* between currently enforced and suggested restrictions. useExplicitDryRunSpec must
* bet set to True if any of the fields in the spec are set to non-default values.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#use_explicit_dry_run_spec AccessContextManagerServicePerimeters#use_explicit_dry_run_spec}
*/
readonly useExplicitDryRunSpec?: boolean | cdktf.IResolvable;
/**
* spec block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#spec AccessContextManagerServicePerimeters#spec}
*/
readonly spec?: AccessContextManagerServicePerimetersServicePerimetersSpec;
/**
* status block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#status AccessContextManagerServicePerimeters#status}
*/
readonly status?: AccessContextManagerServicePerimetersServicePerimetersStatus;
}
export declare function accessContextManagerServicePerimetersServicePerimetersToTerraform(struct?: AccessContextManagerServicePerimetersServicePerimeters | cdktf.IResolvable): any;
export declare function accessContextManagerServicePerimetersServicePerimetersToHclTerraform(struct?: AccessContextManagerServicePerimetersServicePerimeters | cdktf.IResolvable): any;
export declare class AccessContextManagerServicePerimetersServicePerimetersOutputReference 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(): AccessContextManagerServicePerimetersServicePerimeters | cdktf.IResolvable | undefined;
set internalValue(value: AccessContextManagerServicePerimetersServicePerimeters | cdktf.IResolvable | undefined);
get createTime(): string;
private _description?;
get description(): string;
set description(value: string);
resetDescription(): void;
get descriptionInput(): string | undefined;
private _name?;
get name(): string;
set name(value: string);
get nameInput(): string | undefined;
private _perimeterType?;
get perimeterType(): string;
set perimeterType(value: string);
resetPerimeterType(): void;
get perimeterTypeInput(): string | undefined;
private _title?;
get title(): string;
set title(value: string);
get titleInput(): string | undefined;
get updateTime(): string;
private _useExplicitDryRunSpec?;
get useExplicitDryRunSpec(): boolean | cdktf.IResolvable;
set useExplicitDryRunSpec(value: boolean | cdktf.IResolvable);
resetUseExplicitDryRunSpec(): void;
get useExplicitDryRunSpecInput(): boolean | cdktf.IResolvable | undefined;
private _spec;
get spec(): AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference;
putSpec(value: AccessContextManagerServicePerimetersServicePerimetersSpec): void;
resetSpec(): void;
get specInput(): AccessContextManagerServicePerimetersServicePerimetersSpec | undefined;
private _status;
get status(): AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference;
putStatus(value: AccessContextManagerServicePerimetersServicePerimetersStatus): void;
resetStatus(): void;
get statusInput(): AccessContextManagerServicePerimetersServicePerimetersStatus | undefined;
}
export declare class AccessContextManagerServicePerimetersServicePerimetersList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: AccessContextManagerServicePerimetersServicePerimeters[] | 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): AccessContextManagerServicePerimetersServicePerimetersOutputReference;
}
export interface AccessContextManagerServicePerimetersTimeouts {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#create AccessContextManagerServicePerimeters#create}
*/
readonly create?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#delete AccessContextManagerServicePerimeters#delete}
*/
readonly delete?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#update AccessContextManagerServicePerimeters#update}
*/
readonly update?: string;
}
export declare function accessContextManagerServicePerimetersTimeoutsToTerraform(struct?: AccessContextManagerServicePerimetersTimeouts | cdktf.IResolvable): any;
export declare function accessContextManagerServicePerimetersTimeoutsToHclTerraform(struct?: AccessContextManagerServicePerimetersTimeouts | cdktf.IResolvable): any;
export declare class AccessContextManagerServicePerimetersTimeoutsOutputReference 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(): AccessContextManagerServicePerimetersTimeouts | cdktf.IResolvable | undefined;
set internalValue(value: AccessContextManagerServicePerimetersTimeouts | 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.1/docs/resources/access_context_manager_service_perimeters google_access_context_manager_service_perimeters}
*/
export declare class AccessContextManagerServicePerimeters extends cdktf.TerraformResource {
static readonly tfResourceType = "google_access_context_manager_service_perimeters";
/**
* Generates CDKTF code for importing a AccessContextManagerServicePerimeters 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 AccessContextManagerServicePerimeters to import
* @param importFromId The id of the existing AccessContextManagerServicePerimeters that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/access_context_manager_service_perimeters#import import section} in the documentation of this resource for the id to use
* @param provider? Optional instance of the provider where the AccessContextManagerServicePerimeters 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.1/docs/resources/access_context_manager_service_perimeters google_access_context_manager_service_perimeters} 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 AccessContextManagerServicePerimetersConfig
*/
constructor(scope: Construct, id: string, config: AccessContextManagerServicePerimetersConfig);
private _id?;
get id(): string;
set id(value: string);
resetId(): void;
get idInput(): string | undefined;
private _parent?;
get parent(): string;
set parent(value: string);
get parentInput(): string | undefined;
private _servicePerimeters;
get servicePerimeters(): AccessContextManagerServicePerimetersServicePerimetersList;
putServicePerimeters(value: AccessContextManagerServicePerimetersServicePerimeters[] | cdktf.IResolvable): void;
resetServicePerimeters(): void;
get servicePerimetersInput(): cdktf.IResolvable | AccessContextManagerServicePerimetersServicePerimeters[] | undefined;
private _timeouts;
get timeouts(): AccessContextManagerServicePerimetersTimeoutsOutputReference;
putTimeouts(value: AccessContextManagerServicePerimetersTimeouts): void;
resetTimeouts(): void;
get timeoutsInput(): cdktf.IResolvable | AccessContextManagerServicePerimetersTimeouts | undefined;
protected synthesizeAttributes(): {
[name: string]: any;
};
protected synthesizeHclAttributes(): {
[name: string]: any;
};
}