rhizo-co-terraform-provider-oci
Version:
Prebuilt oci Provider for Terraform CDK (cdktf)
394 lines (393 loc) • 19.5 kB
TypeScript
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface ServiceMeshAccessPolicyConfig extends cdktf.TerraformMetaArguments {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/service_mesh_access_policy#compartment_id ServiceMeshAccessPolicy#compartment_id}
*/
readonly compartmentId: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/service_mesh_access_policy#defined_tags ServiceMeshAccessPolicy#defined_tags}
*/
readonly definedTags?: {
[key: string]: string;
};
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/service_mesh_access_policy#description ServiceMeshAccessPolicy#description}
*/
readonly description?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/service_mesh_access_policy#freeform_tags ServiceMeshAccessPolicy#freeform_tags}
*/
readonly freeformTags?: {
[key: string]: string;
};
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/service_mesh_access_policy#id ServiceMeshAccessPolicy#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;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/service_mesh_access_policy#mesh_id ServiceMeshAccessPolicy#mesh_id}
*/
readonly meshId: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/service_mesh_access_policy#name ServiceMeshAccessPolicy#name}
*/
readonly name: string;
/**
* rules block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/service_mesh_access_policy#rules ServiceMeshAccessPolicy#rules}
*/
readonly rules: ServiceMeshAccessPolicyRules[] | cdktf.IResolvable;
/**
* timeouts block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/service_mesh_access_policy#timeouts ServiceMeshAccessPolicy#timeouts}
*/
readonly timeouts?: ServiceMeshAccessPolicyTimeouts;
}
export interface ServiceMeshAccessPolicyRulesDestination {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/service_mesh_access_policy#hostnames ServiceMeshAccessPolicy#hostnames}
*/
readonly hostnames?: string[];
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/service_mesh_access_policy#ingress_gateway_id ServiceMeshAccessPolicy#ingress_gateway_id}
*/
readonly ingressGatewayId?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/service_mesh_access_policy#ip_addresses ServiceMeshAccessPolicy#ip_addresses}
*/
readonly ipAddresses?: string[];
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/service_mesh_access_policy#ports ServiceMeshAccessPolicy#ports}
*/
readonly ports?: number[];
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/service_mesh_access_policy#protocol ServiceMeshAccessPolicy#protocol}
*/
readonly protocol?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/service_mesh_access_policy#type ServiceMeshAccessPolicy#type}
*/
readonly type: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/service_mesh_access_policy#virtual_service_id ServiceMeshAccessPolicy#virtual_service_id}
*/
readonly virtualServiceId?: string;
}
export declare function serviceMeshAccessPolicyRulesDestinationToTerraform(struct?: ServiceMeshAccessPolicyRulesDestinationOutputReference | ServiceMeshAccessPolicyRulesDestination): any;
export declare function serviceMeshAccessPolicyRulesDestinationToHclTerraform(struct?: ServiceMeshAccessPolicyRulesDestinationOutputReference | ServiceMeshAccessPolicyRulesDestination): any;
export declare class ServiceMeshAccessPolicyRulesDestinationOutputReference 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(): ServiceMeshAccessPolicyRulesDestination | undefined;
set internalValue(value: ServiceMeshAccessPolicyRulesDestination | undefined);
private _hostnames?;
get hostnames(): string[];
set hostnames(value: string[]);
resetHostnames(): void;
get hostnamesInput(): string[] | undefined;
private _ingressGatewayId?;
get ingressGatewayId(): string;
set ingressGatewayId(value: string);
resetIngressGatewayId(): void;
get ingressGatewayIdInput(): string | undefined;
private _ipAddresses?;
get ipAddresses(): string[];
set ipAddresses(value: string[]);
resetIpAddresses(): void;
get ipAddressesInput(): string[] | undefined;
private _ports?;
get ports(): number[];
set ports(value: number[]);
resetPorts(): void;
get portsInput(): number[] | undefined;
private _protocol?;
get protocol(): string;
set protocol(value: string);
resetProtocol(): void;
get protocolInput(): string | undefined;
private _type?;
get type(): string;
set type(value: string);
get typeInput(): string | undefined;
private _virtualServiceId?;
get virtualServiceId(): string;
set virtualServiceId(value: string);
resetVirtualServiceId(): void;
get virtualServiceIdInput(): string | undefined;
}
export interface ServiceMeshAccessPolicyRulesSource {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/service_mesh_access_policy#hostnames ServiceMeshAccessPolicy#hostnames}
*/
readonly hostnames?: string[];
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/service_mesh_access_policy#ingress_gateway_id ServiceMeshAccessPolicy#ingress_gateway_id}
*/
readonly ingressGatewayId?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/service_mesh_access_policy#ip_addresses ServiceMeshAccessPolicy#ip_addresses}
*/
readonly ipAddresses?: string[];
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/service_mesh_access_policy#ports ServiceMeshAccessPolicy#ports}
*/
readonly ports?: number[];
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/service_mesh_access_policy#protocol ServiceMeshAccessPolicy#protocol}
*/
readonly protocol?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/service_mesh_access_policy#type ServiceMeshAccessPolicy#type}
*/
readonly type: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/service_mesh_access_policy#virtual_service_id ServiceMeshAccessPolicy#virtual_service_id}
*/
readonly virtualServiceId?: string;
}
export declare function serviceMeshAccessPolicyRulesSourceToTerraform(struct?: ServiceMeshAccessPolicyRulesSourceOutputReference | ServiceMeshAccessPolicyRulesSource): any;
export declare function serviceMeshAccessPolicyRulesSourceToHclTerraform(struct?: ServiceMeshAccessPolicyRulesSourceOutputReference | ServiceMeshAccessPolicyRulesSource): any;
export declare class ServiceMeshAccessPolicyRulesSourceOutputReference 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(): ServiceMeshAccessPolicyRulesSource | undefined;
set internalValue(value: ServiceMeshAccessPolicyRulesSource | undefined);
private _hostnames?;
get hostnames(): string[];
set hostnames(value: string[]);
resetHostnames(): void;
get hostnamesInput(): string[] | undefined;
private _ingressGatewayId?;
get ingressGatewayId(): string;
set ingressGatewayId(value: string);
resetIngressGatewayId(): void;
get ingressGatewayIdInput(): string | undefined;
private _ipAddresses?;
get ipAddresses(): string[];
set ipAddresses(value: string[]);
resetIpAddresses(): void;
get ipAddressesInput(): string[] | undefined;
private _ports?;
get ports(): number[];
set ports(value: number[]);
resetPorts(): void;
get portsInput(): number[] | undefined;
private _protocol?;
get protocol(): string;
set protocol(value: string);
resetProtocol(): void;
get protocolInput(): string | undefined;
private _type?;
get type(): string;
set type(value: string);
get typeInput(): string | undefined;
private _virtualServiceId?;
get virtualServiceId(): string;
set virtualServiceId(value: string);
resetVirtualServiceId(): void;
get virtualServiceIdInput(): string | undefined;
}
export interface ServiceMeshAccessPolicyRules {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/service_mesh_access_policy#action ServiceMeshAccessPolicy#action}
*/
readonly action: string;
/**
* destination block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/service_mesh_access_policy#destination ServiceMeshAccessPolicy#destination}
*/
readonly destination: ServiceMeshAccessPolicyRulesDestination;
/**
* source block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/service_mesh_access_policy#source ServiceMeshAccessPolicy#source}
*/
readonly source: ServiceMeshAccessPolicyRulesSource;
}
export declare function serviceMeshAccessPolicyRulesToTerraform(struct?: ServiceMeshAccessPolicyRules | cdktf.IResolvable): any;
export declare function serviceMeshAccessPolicyRulesToHclTerraform(struct?: ServiceMeshAccessPolicyRules | cdktf.IResolvable): any;
export declare class ServiceMeshAccessPolicyRulesOutputReference 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(): ServiceMeshAccessPolicyRules | cdktf.IResolvable | undefined;
set internalValue(value: ServiceMeshAccessPolicyRules | cdktf.IResolvable | undefined);
private _action?;
get action(): string;
set action(value: string);
get actionInput(): string | undefined;
private _destination;
get destination(): ServiceMeshAccessPolicyRulesDestinationOutputReference;
putDestination(value: ServiceMeshAccessPolicyRulesDestination): void;
get destinationInput(): ServiceMeshAccessPolicyRulesDestination | undefined;
private _source;
get source(): ServiceMeshAccessPolicyRulesSourceOutputReference;
putSource(value: ServiceMeshAccessPolicyRulesSource): void;
get sourceInput(): ServiceMeshAccessPolicyRulesSource | undefined;
}
export declare class ServiceMeshAccessPolicyRulesList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: ServiceMeshAccessPolicyRules[] | 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): ServiceMeshAccessPolicyRulesOutputReference;
}
export interface ServiceMeshAccessPolicyTimeouts {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/service_mesh_access_policy#create ServiceMeshAccessPolicy#create}
*/
readonly create?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/service_mesh_access_policy#delete ServiceMeshAccessPolicy#delete}
*/
readonly delete?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/service_mesh_access_policy#update ServiceMeshAccessPolicy#update}
*/
readonly update?: string;
}
export declare function serviceMeshAccessPolicyTimeoutsToTerraform(struct?: ServiceMeshAccessPolicyTimeouts | cdktf.IResolvable): any;
export declare function serviceMeshAccessPolicyTimeoutsToHclTerraform(struct?: ServiceMeshAccessPolicyTimeouts | cdktf.IResolvable): any;
export declare class ServiceMeshAccessPolicyTimeoutsOutputReference 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(): ServiceMeshAccessPolicyTimeouts | cdktf.IResolvable | undefined;
set internalValue(value: ServiceMeshAccessPolicyTimeouts | 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/oracle/oci/6.18.0/docs/resources/service_mesh_access_policy oci_service_mesh_access_policy}
*/
export declare class ServiceMeshAccessPolicy extends cdktf.TerraformResource {
static readonly tfResourceType = "oci_service_mesh_access_policy";
/**
* Generates CDKTF code for importing a ServiceMeshAccessPolicy 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 ServiceMeshAccessPolicy to import
* @param importFromId The id of the existing ServiceMeshAccessPolicy that should be imported. Refer to the {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/service_mesh_access_policy#import import section} in the documentation of this resource for the id to use
* @param provider? Optional instance of the provider where the ServiceMeshAccessPolicy 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/oracle/oci/6.18.0/docs/resources/service_mesh_access_policy oci_service_mesh_access_policy} 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 ServiceMeshAccessPolicyConfig
*/
constructor(scope: Construct, id: string, config: ServiceMeshAccessPolicyConfig);
private _compartmentId?;
get compartmentId(): string;
set compartmentId(value: string);
get compartmentIdInput(): string | undefined;
private _definedTags?;
get definedTags(): {
[key: string]: string;
};
set definedTags(value: {
[key: string]: string;
});
resetDefinedTags(): void;
get definedTagsInput(): {
[key: string]: string;
} | undefined;
private _description?;
get description(): string;
set description(value: string);
resetDescription(): void;
get descriptionInput(): string | undefined;
private _freeformTags?;
get freeformTags(): {
[key: string]: string;
};
set freeformTags(value: {
[key: string]: string;
});
resetFreeformTags(): void;
get freeformTagsInput(): {
[key: string]: string;
} | undefined;
private _id?;
get id(): string;
set id(value: string);
resetId(): void;
get idInput(): string | undefined;
get lifecycleDetails(): string;
private _meshId?;
get meshId(): string;
set meshId(value: string);
get meshIdInput(): string | undefined;
private _name?;
get name(): string;
set name(value: string);
get nameInput(): string | undefined;
get state(): string;
private _systemTags;
get systemTags(): cdktf.StringMap;
get timeCreated(): string;
get timeUpdated(): string;
private _rules;
get rules(): ServiceMeshAccessPolicyRulesList;
putRules(value: ServiceMeshAccessPolicyRules[] | cdktf.IResolvable): void;
get rulesInput(): cdktf.IResolvable | ServiceMeshAccessPolicyRules[] | undefined;
private _timeouts;
get timeouts(): ServiceMeshAccessPolicyTimeoutsOutputReference;
putTimeouts(value: ServiceMeshAccessPolicyTimeouts): void;
resetTimeouts(): void;
get timeoutsInput(): cdktf.IResolvable | ServiceMeshAccessPolicyTimeouts | undefined;
protected synthesizeAttributes(): {
[name: string]: any;
};
protected synthesizeHclAttributes(): {
[name: string]: any;
};
}