Documentation ¶
Index ¶
- func NetworkServicesGateway_IsConstruct(x interface{}) *bool
- func NetworkServicesGateway_IsTerraformElement(x interface{}) *bool
- func NetworkServicesGateway_IsTerraformResource(x interface{}) *bool
- func NetworkServicesGateway_TfResourceType() *string
- func NewNetworkServicesGatewayTimeoutsOutputReference_Override(n NetworkServicesGatewayTimeoutsOutputReference, ...)
- func NewNetworkServicesGateway_Override(n NetworkServicesGateway, scope constructs.Construct, id *string, ...)
- type NetworkServicesGateway
- type NetworkServicesGatewayConfig
- type NetworkServicesGatewayTimeouts
- type NetworkServicesGatewayTimeoutsOutputReference
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NetworkServicesGateway_IsConstruct ¶
func NetworkServicesGateway_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func NetworkServicesGateway_IsTerraformElement ¶
func NetworkServicesGateway_IsTerraformElement(x interface{}) *bool
Experimental.
func NetworkServicesGateway_IsTerraformResource ¶
func NetworkServicesGateway_IsTerraformResource(x interface{}) *bool
Experimental.
func NetworkServicesGateway_TfResourceType ¶
func NetworkServicesGateway_TfResourceType() *string
func NewNetworkServicesGatewayTimeoutsOutputReference_Override ¶
func NewNetworkServicesGatewayTimeoutsOutputReference_Override(n NetworkServicesGatewayTimeoutsOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)
func NewNetworkServicesGateway_Override ¶
func NewNetworkServicesGateway_Override(n NetworkServicesGateway, scope constructs.Construct, id *string, config *NetworkServicesGatewayConfig)
Create a new {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/network_services_gateway google_network_services_gateway} Resource.
Types ¶
type NetworkServicesGateway ¶
type NetworkServicesGateway interface { cdktf.TerraformResource Addresses() *[]*string SetAddresses(val *[]*string) AddressesInput() *[]*string // Experimental. CdktfStack() cdktf.TerraformStack CertificateUrls() *[]*string SetCertificateUrls(val *[]*string) CertificateUrlsInput() *[]*string // Experimental. Connection() interface{} // Experimental. SetConnection(val interface{}) // Experimental. ConstructNodeMetadata() *map[string]interface{} // Experimental. Count() interface{} // Experimental. SetCount(val interface{}) CreateTime() *string DeleteSwgAutogenRouterOnDestroy() interface{} SetDeleteSwgAutogenRouterOnDestroy(val interface{}) DeleteSwgAutogenRouterOnDestroyInput() interface{} // Experimental. DependsOn() *[]*string // Experimental. SetDependsOn(val *[]*string) Description() *string SetDescription(val *string) DescriptionInput() *string // Experimental. ForEach() cdktf.ITerraformIterator // Experimental. SetForEach(val cdktf.ITerraformIterator) // Experimental. Fqn() *string // Experimental. FriendlyUniqueId() *string GatewaySecurityPolicy() *string SetGatewaySecurityPolicy(val *string) GatewaySecurityPolicyInput() *string Id() *string SetId(val *string) IdInput() *string Labels() *map[string]*string SetLabels(val *map[string]*string) LabelsInput() *map[string]*string // Experimental. Lifecycle() *cdktf.TerraformResourceLifecycle // Experimental. SetLifecycle(val *cdktf.TerraformResourceLifecycle) Location() *string SetLocation(val *string) LocationInput() *string Name() *string SetName(val *string) NameInput() *string Network() *string SetNetwork(val *string) NetworkInput() *string // The tree node. Node() constructs.Node Ports() *[]*float64 SetPorts(val *[]*float64) PortsInput() *[]*float64 Project() *string SetProject(val *string) ProjectInput() *string // Experimental. Provider() cdktf.TerraformProvider // Experimental. SetProvider(val cdktf.TerraformProvider) // Experimental. Provisioners() *[]interface{} // Experimental. SetProvisioners(val *[]interface{}) // Experimental. RawOverrides() interface{} Scope() *string SetScope(val *string) ScopeInput() *string SelfLink() *string ServerTlsPolicy() *string SetServerTlsPolicy(val *string) ServerTlsPolicyInput() *string Subnetwork() *string SetSubnetwork(val *string) SubnetworkInput() *string // Experimental. TerraformGeneratorMetadata() *cdktf.TerraformProviderGeneratorMetadata // Experimental. TerraformMetaArguments() *map[string]interface{} // Experimental. TerraformResourceType() *string Timeouts() NetworkServicesGatewayTimeoutsOutputReference TimeoutsInput() interface{} Type() *string SetType(val *string) TypeInput() *string UpdateTime() *string // Experimental. AddOverride(path *string, value interface{}) // Experimental. GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{} // Experimental. GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable // Experimental. GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool // Experimental. GetListAttribute(terraformAttribute *string) *[]*string // Experimental. GetNumberAttribute(terraformAttribute *string) *float64 // Experimental. GetNumberListAttribute(terraformAttribute *string) *[]*float64 // Experimental. GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64 // Experimental. GetStringAttribute(terraformAttribute *string) *string // Experimental. GetStringMapAttribute(terraformAttribute *string) *map[string]*string // Experimental. InterpolationForAttribute(terraformAttribute *string) cdktf.IResolvable // Overrides the auto-generated logical ID with a specific ID. // Experimental. OverrideLogicalId(newLogicalId *string) PutTimeouts(value *NetworkServicesGatewayTimeouts) ResetAddresses() ResetCertificateUrls() ResetDeleteSwgAutogenRouterOnDestroy() ResetDescription() ResetGatewaySecurityPolicy() ResetId() ResetLabels() ResetLocation() ResetNetwork() // Resets a previously passed logical Id to use the auto-generated logical id again. // Experimental. ResetOverrideLogicalId() ResetProject() ResetScope() ResetServerTlsPolicy() ResetSubnetwork() ResetTimeouts() SynthesizeAttributes() *map[string]interface{} // Experimental. ToMetadata() interface{} // Returns a string representation of this construct. ToString() *string // Adds this resource to the terraform JSON output. // Experimental. ToTerraform() interface{} }
Represents a {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/network_services_gateway google_network_services_gateway}.
func NewNetworkServicesGateway ¶
func NewNetworkServicesGateway(scope constructs.Construct, id *string, config *NetworkServicesGatewayConfig) NetworkServicesGateway
Create a new {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/network_services_gateway google_network_services_gateway} Resource.
type NetworkServicesGatewayConfig ¶
type NetworkServicesGatewayConfig struct { // Experimental. Connection interface{} `field:"optional" json:"connection" yaml:"connection"` // Experimental. Count interface{} `field:"optional" json:"count" yaml:"count"` // Experimental. DependsOn *[]cdktf.ITerraformDependable `field:"optional" json:"dependsOn" yaml:"dependsOn"` // Experimental. ForEach cdktf.ITerraformIterator `field:"optional" json:"forEach" yaml:"forEach"` // Experimental. Lifecycle *cdktf.TerraformResourceLifecycle `field:"optional" json:"lifecycle" yaml:"lifecycle"` // Experimental. Provider cdktf.TerraformProvider `field:"optional" json:"provider" yaml:"provider"` // Experimental. Provisioners *[]interface{} `field:"optional" json:"provisioners" yaml:"provisioners"` // Short name of the Gateway resource to be created. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/network_services_gateway#name NetworkServicesGateway#name} Name *string `field:"required" json:"name" yaml:"name"` // One or more port numbers (1-65535), on which the Gateway will receive traffic. // // The proxy binds to the specified ports. Gateways of type 'SECURE_WEB_GATEWAY' are // limited to 1 port. Gateways of type 'OPEN_MESH' listen on 0.0.0.0 and support multiple ports. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/network_services_gateway#ports NetworkServicesGateway#ports} Ports *[]*float64 `field:"required" json:"ports" yaml:"ports"` // Immutable. The type of the customer-managed gateway. Possible values are: * OPEN_MESH * SECURE_WEB_GATEWAY. Possible values: ["TYPE_UNSPECIFIED", "OPEN_MESH", "SECURE_WEB_GATEWAY"]. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/network_services_gateway#type NetworkServicesGateway#type} Type *string `field:"required" json:"type" yaml:"type"` // Zero or one IPv4-address on which the Gateway will receive the traffic. // // When no address is provided, // an IP from the subnetwork is allocated This field only applies to gateways of type 'SECURE_WEB_GATEWAY'. // Gateways of type 'OPEN_MESH' listen on 0.0.0.0. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/network_services_gateway#addresses NetworkServicesGateway#addresses} Addresses *[]*string `field:"optional" json:"addresses" yaml:"addresses"` // A fully-qualified Certificates URL reference. // // The proxy presents a Certificate (selected based on SNI) when establishing a TLS connection. // This feature only applies to gateways of type 'SECURE_WEB_GATEWAY'. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/network_services_gateway#certificate_urls NetworkServicesGateway#certificate_urls} CertificateUrls *[]*string `field:"optional" json:"certificateUrls" yaml:"certificateUrls"` // When deleting a gateway of type 'SECURE_WEB_GATEWAY', this boolean option will also delete auto generated router by the gateway creation. // // If there is no other gateway of type 'SECURE_WEB_GATEWAY' remaining for that region and network it will be deleted. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/network_services_gateway#delete_swg_autogen_router_on_destroy NetworkServicesGateway#delete_swg_autogen_router_on_destroy} DeleteSwgAutogenRouterOnDestroy interface{} `field:"optional" json:"deleteSwgAutogenRouterOnDestroy" yaml:"deleteSwgAutogenRouterOnDestroy"` // A free-text description of the resource. Max length 1024 characters. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/network_services_gateway#description NetworkServicesGateway#description} Description *string `field:"optional" json:"description" yaml:"description"` // A fully-qualified GatewaySecurityPolicy URL reference. // // Defines how a server should apply security policy to inbound (VM to Proxy) initiated connections. // For example: 'projects/*\/locations/*\/gatewaySecurityPolicies/swg-policy'. // This policy is specific to gateways of type 'SECURE_WEB_GATEWAY'. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/network_services_gateway#gateway_security_policy NetworkServicesGateway#gateway_security_policy} GatewaySecurityPolicy *string `field:"optional" json:"gatewaySecurityPolicy" yaml:"gatewaySecurityPolicy"` // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/network_services_gateway#id NetworkServicesGateway#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. Id *string `field:"optional" json:"id" yaml:"id"` // Set of label tags associated with the Gateway resource. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/network_services_gateway#labels NetworkServicesGateway#labels} Labels *map[string]*string `field:"optional" json:"labels" yaml:"labels"` // The location of the gateway. The default value is 'global'. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/network_services_gateway#location NetworkServicesGateway#location} Location *string `field:"optional" json:"location" yaml:"location"` // The relative resource name identifying the VPC network that is using this configuration. // // For example: 'projects/*\/global/networks/network-1'. // Currently, this field is specific to gateways of type 'SECURE_WEB_GATEWAY'. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/network_services_gateway#network NetworkServicesGateway#network} Network *string `field:"optional" json:"network" yaml:"network"` // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/network_services_gateway#project NetworkServicesGateway#project}. Project *string `field:"optional" json:"project" yaml:"project"` // Immutable. // // Scope determines how configuration across multiple Gateway instances are merged. // The configuration for multiple Gateway instances with the same scope will be merged as presented as // a single coniguration to the proxy/load balancer. // Max length 64 characters. Scope should start with a letter and can only have letters, numbers, hyphens. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/network_services_gateway#scope NetworkServicesGateway#scope} Scope *string `field:"optional" json:"scope" yaml:"scope"` // A fully-qualified ServerTLSPolicy URL reference. Specifies how TLS traffic is terminated. If empty, TLS termination is disabled. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/network_services_gateway#server_tls_policy NetworkServicesGateway#server_tls_policy} ServerTlsPolicy *string `field:"optional" json:"serverTlsPolicy" yaml:"serverTlsPolicy"` // The relative resource name identifying the subnetwork in which this SWG is allocated. // // For example: 'projects/*\/regions/us-central1/subnetworks/network-1'. // Currently, this field is specific to gateways of type 'SECURE_WEB_GATEWAY. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/network_services_gateway#subnetwork NetworkServicesGateway#subnetwork} Subnetwork *string `field:"optional" json:"subnetwork" yaml:"subnetwork"` // timeouts block. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/network_services_gateway#timeouts NetworkServicesGateway#timeouts} Timeouts *NetworkServicesGatewayTimeouts `field:"optional" json:"timeouts" yaml:"timeouts"` }
type NetworkServicesGatewayTimeouts ¶
type NetworkServicesGatewayTimeouts struct { // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/network_services_gateway#create NetworkServicesGateway#create}. Create *string `field:"optional" json:"create" yaml:"create"` // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/network_services_gateway#delete NetworkServicesGateway#delete}. Delete *string `field:"optional" json:"delete" yaml:"delete"` // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/network_services_gateway#update NetworkServicesGateway#update}. Update *string `field:"optional" json:"update" yaml:"update"` }
type NetworkServicesGatewayTimeoutsOutputReference ¶
type NetworkServicesGatewayTimeoutsOutputReference interface { cdktf.ComplexObject // the index of the complex object in a list. // Experimental. ComplexObjectIndex() interface{} // Experimental. SetComplexObjectIndex(val interface{}) // set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items. // Experimental. ComplexObjectIsFromSet() *bool // Experimental. SetComplexObjectIsFromSet(val *bool) Create() *string SetCreate(val *string) CreateInput() *string // The creation stack of this resolvable which will be appended to errors thrown during resolution. // // If this returns an empty array the stack will not be attached. // Experimental. CreationStack() *[]*string Delete() *string SetDelete(val *string) DeleteInput() *string // Experimental. Fqn() *string InternalValue() interface{} SetInternalValue(val interface{}) // Experimental. TerraformAttribute() *string // Experimental. SetTerraformAttribute(val *string) // Experimental. TerraformResource() cdktf.IInterpolatingParent // Experimental. SetTerraformResource(val cdktf.IInterpolatingParent) Update() *string SetUpdate(val *string) UpdateInput() *string // Experimental. ComputeFqn() *string // Experimental. GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{} // Experimental. GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable // Experimental. GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool // Experimental. GetListAttribute(terraformAttribute *string) *[]*string // Experimental. GetNumberAttribute(terraformAttribute *string) *float64 // Experimental. GetNumberListAttribute(terraformAttribute *string) *[]*float64 // Experimental. GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64 // Experimental. GetStringAttribute(terraformAttribute *string) *string // Experimental. GetStringMapAttribute(terraformAttribute *string) *map[string]*string // Experimental. InterpolationAsList() cdktf.IResolvable // Experimental. InterpolationForAttribute(property *string) cdktf.IResolvable ResetCreate() ResetDelete() ResetUpdate() // Produce the Token's value at resolution time. // Experimental. Resolve(_context cdktf.IResolveContext) interface{} // Return a string representation of this resolvable object. // // Returns a reversible string representation. // Experimental. ToString() *string }
func NewNetworkServicesGatewayTimeoutsOutputReference ¶
func NewNetworkServicesGatewayTimeoutsOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) NetworkServicesGatewayTimeoutsOutputReference