import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface SecuritygroupConfig extends cdktf.TerraformMetaArguments { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/securitygroup#description Securitygroup#description} */ readonly description?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/securitygroup#id Securitygroup#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/g-core/gcore/0.32.5/docs/resources/securitygroup#last_updated Securitygroup#last_updated} */ readonly lastUpdated?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/securitygroup#metadata_map Securitygroup#metadata_map} */ readonly metadataMap?: { [key: string]: string; }; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/securitygroup#name Securitygroup#name} */ readonly name: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/securitygroup#project_id Securitygroup#project_id} */ readonly projectId?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/securitygroup#project_name Securitygroup#project_name} */ readonly projectName?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/securitygroup#region_id Securitygroup#region_id} */ readonly regionId?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/securitygroup#region_name Securitygroup#region_name} */ readonly regionName?: string; /** * security_group_rules block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/securitygroup#security_group_rules Securitygroup#security_group_rules} */ readonly securityGroupRules: SecuritygroupSecurityGroupRules[] | cdktf.IResolvable; } export interface SecuritygroupMetadataReadOnly { } export declare function securitygroupMetadataReadOnlyToTerraform(struct?: SecuritygroupMetadataReadOnly): any; export declare function securitygroupMetadataReadOnlyToHclTerraform(struct?: SecuritygroupMetadataReadOnly): any; export declare class SecuritygroupMetadataReadOnlyOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): SecuritygroupMetadataReadOnly | undefined; set internalValue(value: SecuritygroupMetadataReadOnly | undefined); get key(): any; get readOnly(): any; get value(): any; } export declare class SecuritygroupMetadataReadOnlyList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): SecuritygroupMetadataReadOnlyOutputReference; } export interface SecuritygroupSecurityGroupRules { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/securitygroup#description Securitygroup#description} */ readonly description?: string; /** * Available value is 'ingress', 'egress' * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/securitygroup#direction Securitygroup#direction} */ readonly direction: string; /** * Available value is 'IPv4', 'IPv6' * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/securitygroup#ethertype Securitygroup#ethertype} */ readonly ethertype: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/securitygroup#port_range_max Securitygroup#port_range_max} */ readonly portRangeMax?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/securitygroup#port_range_min Securitygroup#port_range_min} */ readonly portRangeMin?: number; /** * Available value is udp,tcp,any,ipv6-icmp,ipv6-route,ipv6-opts,ipv6-nonxt,ipv6-frag,ipv6-encap,icmp,ah,dccp,egp,esp,gre,igmp,ospf,pgm,rsvp,sctp,udplite,vrrp,51,50,112,0,4,ipip,ipencap * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/securitygroup#protocol Securitygroup#protocol} */ readonly protocol: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/securitygroup#remote_group_id Securitygroup#remote_group_id} */ readonly remoteGroupId?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/securitygroup#remote_ip_prefix Securitygroup#remote_ip_prefix} */ readonly remoteIpPrefix?: string; } export declare function securitygroupSecurityGroupRulesToTerraform(struct?: SecuritygroupSecurityGroupRules | cdktf.IResolvable): any; export declare function securitygroupSecurityGroupRulesToHclTerraform(struct?: SecuritygroupSecurityGroupRules | cdktf.IResolvable): any; export declare class SecuritygroupSecurityGroupRulesOutputReference 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(): SecuritygroupSecurityGroupRules | cdktf.IResolvable | undefined; set internalValue(value: SecuritygroupSecurityGroupRules | cdktf.IResolvable | undefined); get createdAt(): any; private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string; private _direction?; get direction(): string; set direction(value: string); get directionInput(): string; private _ethertype?; get ethertype(): string; set ethertype(value: string); get ethertypeInput(): string; get id(): any; private _portRangeMax?; get portRangeMax(): number; set portRangeMax(value: number); resetPortRangeMax(): void; get portRangeMaxInput(): number; private _portRangeMin?; get portRangeMin(): number; set portRangeMin(value: number); resetPortRangeMin(): void; get portRangeMinInput(): number; private _protocol?; get protocol(): string; set protocol(value: string); get protocolInput(): string; private _remoteGroupId?; get remoteGroupId(): string; set remoteGroupId(value: string); resetRemoteGroupId(): void; get remoteGroupIdInput(): string; private _remoteIpPrefix?; get remoteIpPrefix(): string; set remoteIpPrefix(value: string); resetRemoteIpPrefix(): void; get remoteIpPrefixInput(): string; get updatedAt(): any; } export declare class SecuritygroupSecurityGroupRulesList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: SecuritygroupSecurityGroupRules[] | 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): SecuritygroupSecurityGroupRulesOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/securitygroup gcore_securitygroup} */ export declare class Securitygroup extends cdktf.TerraformResource { static readonly tfResourceType = "gcore_securitygroup"; /** * Generates CDKTF code for importing a Securitygroup resource upon running "cdktf plan " * @param scope The scope in which to define this construct * @param importToId The construct id used in the generated config for the Securitygroup to import * @param importFromId The id of the existing Securitygroup that should be imported. Refer to the {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/securitygroup#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the Securitygroup to import is found */ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): any; /** * Create a new {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/securitygroup gcore_securitygroup} 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 SecuritygroupConfig */ constructor(scope: Construct, id: string, config: SecuritygroupConfig); private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _lastUpdated?; get lastUpdated(): string; set lastUpdated(value: string); resetLastUpdated(): void; get lastUpdatedInput(): string; private _metadataMap?; get metadataMap(): { [key: string]: string; }; set metadataMap(value: { [key: string]: string; }); resetMetadataMap(): void; get metadataMapInput(): { [key: string]: string; }; private _metadataReadOnly; get metadataReadOnly(): SecuritygroupMetadataReadOnlyList; private _name?; get name(): string; set name(value: string); get nameInput(): string; private _projectId?; get projectId(): number; set projectId(value: number); resetProjectId(): void; get projectIdInput(): number; private _projectName?; get projectName(): string; set projectName(value: string); resetProjectName(): void; get projectNameInput(): string; private _regionId?; get regionId(): number; set regionId(value: number); resetRegionId(): void; get regionIdInput(): number; private _regionName?; get regionName(): string; set regionName(value: string); resetRegionName(): void; get regionNameInput(): string; private _securityGroupRules; get securityGroupRules(): SecuritygroupSecurityGroupRulesList; putSecurityGroupRules(value: SecuritygroupSecurityGroupRules[] | cdktf.IResolvable): void; get securityGroupRulesInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }