Documentation
¶
Index ¶
- func GoogleNetworkServicesGateway_IsConstruct(x interface{}) *bool
- func GoogleNetworkServicesGateway_IsTerraformElement(x interface{}) *bool
- func GoogleNetworkServicesGateway_IsTerraformResource(x interface{}) *bool
- func GoogleNetworkServicesGateway_TfResourceType() *string
- func NewGoogleNetworkServicesGatewayTimeoutsOutputReference_Override(g GoogleNetworkServicesGatewayTimeoutsOutputReference, ...)
- func NewGoogleNetworkServicesGateway_Override(g GoogleNetworkServicesGateway, scope constructs.Construct, id *string, ...)
- type GoogleNetworkServicesGateway
- type GoogleNetworkServicesGatewayConfig
- type GoogleNetworkServicesGatewayTimeouts
- type GoogleNetworkServicesGatewayTimeoutsOutputReference
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GoogleNetworkServicesGateway_IsConstruct ¶
func GoogleNetworkServicesGateway_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 GoogleNetworkServicesGateway_IsTerraformElement ¶
func GoogleNetworkServicesGateway_IsTerraformElement(x interface{}) *bool
Experimental.
func GoogleNetworkServicesGateway_IsTerraformResource ¶
func GoogleNetworkServicesGateway_IsTerraformResource(x interface{}) *bool
Experimental.
func GoogleNetworkServicesGateway_TfResourceType ¶
func GoogleNetworkServicesGateway_TfResourceType() *string
func NewGoogleNetworkServicesGatewayTimeoutsOutputReference_Override ¶
func NewGoogleNetworkServicesGatewayTimeoutsOutputReference_Override(g GoogleNetworkServicesGatewayTimeoutsOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)
func NewGoogleNetworkServicesGateway_Override ¶
func NewGoogleNetworkServicesGateway_Override(g GoogleNetworkServicesGateway, scope constructs.Construct, id *string, config *GoogleNetworkServicesGatewayConfig)
Create a new {@link https://registry.terraform.io/providers/hashicorp/google-beta/5.2.0/docs/resources/google_network_services_gateway google_network_services_gateway} Resource.
Types ¶
type GoogleNetworkServicesGateway ¶
type GoogleNetworkServicesGateway 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
EffectiveLabels() cdktf.StringMap
// 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
TerraformLabels() cdktf.StringMap
// Experimental.
TerraformMetaArguments() *map[string]interface{}
// Experimental.
TerraformResourceType() *string
Timeouts() GoogleNetworkServicesGatewayTimeoutsOutputReference
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 *GoogleNetworkServicesGatewayTimeouts)
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-beta/5.2.0/docs/resources/google_network_services_gateway google_network_services_gateway}.
func NewGoogleNetworkServicesGateway ¶
func NewGoogleNetworkServicesGateway(scope constructs.Construct, id *string, config *GoogleNetworkServicesGatewayConfig) GoogleNetworkServicesGateway
Create a new {@link https://registry.terraform.io/providers/hashicorp/google-beta/5.2.0/docs/resources/google_network_services_gateway google_network_services_gateway} Resource.
type GoogleNetworkServicesGatewayConfig ¶
type GoogleNetworkServicesGatewayConfig 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-beta/5.2.0/docs/resources/google_network_services_gateway#name GoogleNetworkServicesGateway#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-beta/5.2.0/docs/resources/google_network_services_gateway#ports GoogleNetworkServicesGateway#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-beta/5.2.0/docs/resources/google_network_services_gateway#type GoogleNetworkServicesGateway#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-beta/5.2.0/docs/resources/google_network_services_gateway#addresses GoogleNetworkServicesGateway#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-beta/5.2.0/docs/resources/google_network_services_gateway#certificate_urls GoogleNetworkServicesGateway#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-beta/5.2.0/docs/resources/google_network_services_gateway#delete_swg_autogen_router_on_destroy GoogleNetworkServicesGateway#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-beta/5.2.0/docs/resources/google_network_services_gateway#description GoogleNetworkServicesGateway#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-beta/5.2.0/docs/resources/google_network_services_gateway#gateway_security_policy GoogleNetworkServicesGateway#gateway_security_policy}
//
// Note: The above comment contained a comment block ending sequence (* followed by /). We have introduced a space between to prevent syntax errors. Please ignore the space.
GatewaySecurityPolicy *string `field:"optional" json:"gatewaySecurityPolicy" yaml:"gatewaySecurityPolicy"`
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google-beta/5.2.0/docs/resources/google_network_services_gateway#id GoogleNetworkServicesGateway#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.
//
// **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
// Please refer to the field 'effective_labels' for all of the labels present on the resource.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google-beta/5.2.0/docs/resources/google_network_services_gateway#labels GoogleNetworkServicesGateway#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-beta/5.2.0/docs/resources/google_network_services_gateway#location GoogleNetworkServicesGateway#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-beta/5.2.0/docs/resources/google_network_services_gateway#network GoogleNetworkServicesGateway#network}
//
// Note: The above comment contained a comment block ending sequence (* followed by /). We have introduced a space between to prevent syntax errors. Please ignore the space.
Network *string `field:"optional" json:"network" yaml:"network"`
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google-beta/5.2.0/docs/resources/google_network_services_gateway#project GoogleNetworkServicesGateway#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-beta/5.2.0/docs/resources/google_network_services_gateway#scope GoogleNetworkServicesGateway#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-beta/5.2.0/docs/resources/google_network_services_gateway#server_tls_policy GoogleNetworkServicesGateway#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-beta/5.2.0/docs/resources/google_network_services_gateway#subnetwork GoogleNetworkServicesGateway#subnetwork}
//
// Note: The above comment contained a comment block ending sequence (* followed by /). We have introduced a space between to prevent syntax errors. Please ignore the space.
Subnetwork *string `field:"optional" json:"subnetwork" yaml:"subnetwork"`
// timeouts block.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google-beta/5.2.0/docs/resources/google_network_services_gateway#timeouts GoogleNetworkServicesGateway#timeouts}
Timeouts *GoogleNetworkServicesGatewayTimeouts `field:"optional" json:"timeouts" yaml:"timeouts"`
}
type GoogleNetworkServicesGatewayTimeouts ¶
type GoogleNetworkServicesGatewayTimeouts struct {
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google-beta/5.2.0/docs/resources/google_network_services_gateway#create GoogleNetworkServicesGateway#create}.
Create *string `field:"optional" json:"create" yaml:"create"`
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google-beta/5.2.0/docs/resources/google_network_services_gateway#delete GoogleNetworkServicesGateway#delete}.
Delete *string `field:"optional" json:"delete" yaml:"delete"`
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google-beta/5.2.0/docs/resources/google_network_services_gateway#update GoogleNetworkServicesGateway#update}.
Update *string `field:"optional" json:"update" yaml:"update"`
}
type GoogleNetworkServicesGatewayTimeoutsOutputReference ¶
type GoogleNetworkServicesGatewayTimeoutsOutputReference 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 NewGoogleNetworkServicesGatewayTimeoutsOutputReference ¶
func NewGoogleNetworkServicesGatewayTimeoutsOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) GoogleNetworkServicesGatewayTimeoutsOutputReference