Documentation ¶
Index ¶
- func ComputeForwardingRule_IsConstruct(x interface{}) *bool
- func ComputeForwardingRule_IsTerraformElement(x interface{}) *bool
- func ComputeForwardingRule_IsTerraformResource(x interface{}) *bool
- func ComputeForwardingRule_TfResourceType() *string
- func NewComputeForwardingRuleServiceDirectoryRegistrationsOutputReference_Override(c ComputeForwardingRuleServiceDirectoryRegistrationsOutputReference, ...)
- func NewComputeForwardingRuleTimeoutsOutputReference_Override(c ComputeForwardingRuleTimeoutsOutputReference, ...)
- func NewComputeForwardingRule_Override(c ComputeForwardingRule, scope constructs.Construct, id *string, ...)
- type ComputeForwardingRule
- type ComputeForwardingRuleConfig
- type ComputeForwardingRuleServiceDirectoryRegistrations
- type ComputeForwardingRuleServiceDirectoryRegistrationsOutputReference
- type ComputeForwardingRuleTimeouts
- type ComputeForwardingRuleTimeoutsOutputReference
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ComputeForwardingRule_IsConstruct ¶
func ComputeForwardingRule_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 ComputeForwardingRule_IsTerraformElement ¶
func ComputeForwardingRule_IsTerraformElement(x interface{}) *bool
Experimental.
func ComputeForwardingRule_IsTerraformResource ¶
func ComputeForwardingRule_IsTerraformResource(x interface{}) *bool
Experimental.
func ComputeForwardingRule_TfResourceType ¶
func ComputeForwardingRule_TfResourceType() *string
func NewComputeForwardingRuleServiceDirectoryRegistrationsOutputReference_Override ¶
func NewComputeForwardingRuleServiceDirectoryRegistrationsOutputReference_Override(c ComputeForwardingRuleServiceDirectoryRegistrationsOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)
func NewComputeForwardingRuleTimeoutsOutputReference_Override ¶
func NewComputeForwardingRuleTimeoutsOutputReference_Override(c ComputeForwardingRuleTimeoutsOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)
func NewComputeForwardingRule_Override ¶
func NewComputeForwardingRule_Override(c ComputeForwardingRule, scope constructs.Construct, id *string, config *ComputeForwardingRuleConfig)
Create a new {@link https://registry.terraform.io/providers/hashicorp/google/4.84.0/docs/resources/compute_forwarding_rule google_compute_forwarding_rule} Resource.
Types ¶
type ComputeForwardingRule ¶
type ComputeForwardingRule interface { cdktf.TerraformResource AllowGlobalAccess() interface{} SetAllowGlobalAccess(val interface{}) AllowGlobalAccessInput() interface{} AllowPscGlobalAccess() interface{} SetAllowPscGlobalAccess(val interface{}) AllowPscGlobalAccessInput() interface{} AllPorts() interface{} SetAllPorts(val interface{}) AllPortsInput() interface{} BackendService() *string SetBackendService(val *string) BackendServiceInput() *string BaseForwardingRule() *string // Experimental. CdktfStack() cdktf.TerraformStack // Experimental. Connection() interface{} // Experimental. SetConnection(val interface{}) // Experimental. ConstructNodeMetadata() *map[string]interface{} // Experimental. Count() interface{} // Experimental. SetCount(val interface{}) CreationTimestamp() *string // 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 Id() *string SetId(val *string) IdInput() *string IpAddress() *string SetIpAddress(val *string) IpAddressInput() *string IpProtocol() *string SetIpProtocol(val *string) IpProtocolInput() *string IpVersion() *string SetIpVersion(val *string) IpVersionInput() *string IsMirroringCollector() interface{} SetIsMirroringCollector(val interface{}) IsMirroringCollectorInput() interface{} LabelFingerprint() *string Labels() *map[string]*string SetLabels(val *map[string]*string) LabelsInput() *map[string]*string // Experimental. Lifecycle() *cdktf.TerraformResourceLifecycle // Experimental. SetLifecycle(val *cdktf.TerraformResourceLifecycle) LoadBalancingScheme() *string SetLoadBalancingScheme(val *string) LoadBalancingSchemeInput() *string Name() *string SetName(val *string) NameInput() *string Network() *string SetNetwork(val *string) NetworkInput() *string NetworkTier() *string SetNetworkTier(val *string) NetworkTierInput() *string NoAutomateDnsZone() interface{} SetNoAutomateDnsZone(val interface{}) NoAutomateDnsZoneInput() interface{} // The tree node. Node() constructs.Node PortRange() *string SetPortRange(val *string) PortRangeInput() *string Ports() *[]*string SetPorts(val *[]*string) PortsInput() *[]*string Project() *string SetProject(val *string) ProjectInput() *string // Experimental. Provider() cdktf.TerraformProvider // Experimental. SetProvider(val cdktf.TerraformProvider) // Experimental. Provisioners() *[]interface{} // Experimental. SetProvisioners(val *[]interface{}) PscConnectionId() *string PscConnectionStatus() *string // Experimental. RawOverrides() interface{} Region() *string SetRegion(val *string) RegionInput() *string SelfLink() *string ServiceDirectoryRegistrations() ComputeForwardingRuleServiceDirectoryRegistrationsOutputReference ServiceDirectoryRegistrationsInput() *ComputeForwardingRuleServiceDirectoryRegistrations ServiceLabel() *string SetServiceLabel(val *string) ServiceLabelInput() *string ServiceName() *string SourceIpRanges() *[]*string SetSourceIpRanges(val *[]*string) SourceIpRangesInput() *[]*string Subnetwork() *string SetSubnetwork(val *string) SubnetworkInput() *string Target() *string SetTarget(val *string) TargetInput() *string // Experimental. TerraformGeneratorMetadata() *cdktf.TerraformProviderGeneratorMetadata // Experimental. TerraformMetaArguments() *map[string]interface{} // Experimental. TerraformResourceType() *string Timeouts() ComputeForwardingRuleTimeoutsOutputReference TimeoutsInput() interface{} // 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) PutServiceDirectoryRegistrations(value *ComputeForwardingRuleServiceDirectoryRegistrations) PutTimeouts(value *ComputeForwardingRuleTimeouts) ResetAllowGlobalAccess() ResetAllowPscGlobalAccess() ResetAllPorts() ResetBackendService() ResetDescription() ResetId() ResetIpAddress() ResetIpProtocol() ResetIpVersion() ResetIsMirroringCollector() ResetLabels() ResetLoadBalancingScheme() ResetNetwork() ResetNetworkTier() ResetNoAutomateDnsZone() // Resets a previously passed logical Id to use the auto-generated logical id again. // Experimental. ResetOverrideLogicalId() ResetPortRange() ResetPorts() ResetProject() ResetRegion() ResetServiceDirectoryRegistrations() ResetServiceLabel() ResetSourceIpRanges() ResetSubnetwork() ResetTarget() 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.84.0/docs/resources/compute_forwarding_rule google_compute_forwarding_rule}.
func NewComputeForwardingRule ¶
func NewComputeForwardingRule(scope constructs.Construct, id *string, config *ComputeForwardingRuleConfig) ComputeForwardingRule
Create a new {@link https://registry.terraform.io/providers/hashicorp/google/4.84.0/docs/resources/compute_forwarding_rule google_compute_forwarding_rule} Resource.
type ComputeForwardingRuleConfig ¶
type ComputeForwardingRuleConfig 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"` // Name of the resource; // // provided by the client when the resource is created. // The name must be 1-63 characters long, and comply with // [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). // // Specifically, the name must be 1-63 characters long and match the regular // expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first // character must be a lowercase letter, and all following characters must // be a dash, lowercase letter, or digit, except the last character, which // cannot be a dash. // // For Private Service Connect forwarding rules that forward traffic to Google // APIs, the forwarding rule name must be a 1-20 characters string with // lowercase letters and numbers and must start with a letter. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.84.0/docs/resources/compute_forwarding_rule#name ComputeForwardingRule#name} Name *string `field:"required" json:"name" yaml:"name"` // This field is used along with the 'backend_service' field for internal load balancing or with the 'target' field for internal TargetInstance. // // If the field is set to 'TRUE', clients can access ILB from all // regions. // // Otherwise only allows access from clients in the same region as the // internal load balancer. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.84.0/docs/resources/compute_forwarding_rule#allow_global_access ComputeForwardingRule#allow_global_access} AllowGlobalAccess interface{} `field:"optional" json:"allowGlobalAccess" yaml:"allowGlobalAccess"` // This is used in PSC consumer ForwardingRule to control whether the PSC endpoint can be accessed from another region. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.84.0/docs/resources/compute_forwarding_rule#allow_psc_global_access ComputeForwardingRule#allow_psc_global_access} AllowPscGlobalAccess interface{} `field:"optional" json:"allowPscGlobalAccess" yaml:"allowPscGlobalAccess"` // This field can only be used: If 'IPProtocol' is one of TCP, UDP, or SCTP. // // By internal TCP/UDP load balancers, backend service-based network load // balancers, and internal and external protocol forwarding. // // This option should be set to TRUE when the Forwarding Rule // IPProtocol is set to L3_DEFAULT. // // Set this field to true to allow packets addressed to any port or packets // lacking destination port information (for example, UDP fragments after the // first fragment) to be forwarded to the backends configured with this // forwarding rule. // // The 'ports', 'port_range', and // 'allPorts' fields are mutually exclusive. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.84.0/docs/resources/compute_forwarding_rule#all_ports ComputeForwardingRule#all_ports} AllPorts interface{} `field:"optional" json:"allPorts" yaml:"allPorts"` // Identifies the backend service to which the forwarding rule sends traffic. // // Required for Internal TCP/UDP Load Balancing and Network Load Balancing; // must be omitted for all other load balancer types. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.84.0/docs/resources/compute_forwarding_rule#backend_service ComputeForwardingRule#backend_service} BackendService *string `field:"optional" json:"backendService" yaml:"backendService"` // An optional description of this resource. Provide this property when you create the resource. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.84.0/docs/resources/compute_forwarding_rule#description ComputeForwardingRule#description} Description *string `field:"optional" json:"description" yaml:"description"` // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.84.0/docs/resources/compute_forwarding_rule#id ComputeForwardingRule#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"` // IP address for which this forwarding rule accepts traffic. // // When a client // sends traffic to this IP address, the forwarding rule directs the traffic // to the referenced 'target' or 'backendService'. // // While creating a forwarding rule, specifying an 'IPAddress' is // required under the following circumstances: // // When the 'target' is set to 'targetGrpcProxy' and // 'validateForProxyless' is set to 'true', the // 'IPAddress' should be set to '0.0.0.0'. // When the 'target' is a Private Service Connect Google APIs // bundle, you must specify an 'IPAddress'. // // // Otherwise, you can optionally specify an IP address that references an // existing static (reserved) IP address resource. When omitted, Google Cloud // assigns an ephemeral IP address. // // Use one of the following formats to specify an IP address while creating a // forwarding rule: // // IP address number, as in '100.1.2.3' // IPv6 address range, as in '2600:1234::/96' // Full resource URL, as in // 'https://www.googleapis.com/compute/v1/projects/project_id/regions/region/addresses/address-name' // Partial URL or by name, as in: // 'projects/project_id/regions/region/addresses/address-name' // 'regions/region/addresses/address-name' // 'global/addresses/address-name' // 'address-name' // // // The forwarding rule's 'target' or 'backendService', // and in most cases, also the 'loadBalancingScheme', determine the // type of IP address that you can use. For detailed information, see // [IP address // specifications](https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts#ip_address_specifications). // // When reading an 'IPAddress', the API always returns the IP // address number. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.84.0/docs/resources/compute_forwarding_rule#ip_address ComputeForwardingRule#ip_address} IpAddress *string `field:"optional" json:"ipAddress" yaml:"ipAddress"` // The IP protocol to which this rule applies. // // For protocol forwarding, valid // options are 'TCP', 'UDP', 'ESP', // 'AH', 'SCTP', 'ICMP' and // 'L3_DEFAULT'. // // The valid IP protocols are different for different load balancing products // as described in [Load balancing // features](https://cloud.google.com/load-balancing/docs/features#protocols_from_the_load_balancer_to_the_backends). // // A Forwarding Rule with protocol L3_DEFAULT can attach with target instance or // backend service with UNSPECIFIED protocol. // A forwarding rule with "L3_DEFAULT" IPProtocal cannot be attached to a backend service with TCP or UDP. Possible values: ["TCP", "UDP", "ESP", "AH", "SCTP", "ICMP", "L3_DEFAULT"] // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.84.0/docs/resources/compute_forwarding_rule#ip_protocol ComputeForwardingRule#ip_protocol} IpProtocol *string `field:"optional" json:"ipProtocol" yaml:"ipProtocol"` // The IP address version that will be used by this forwarding rule. Valid options are IPV4 and IPV6. // // If not set, the IPv4 address will be used by default. Possible values: ["IPV4", "IPV6"] // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.84.0/docs/resources/compute_forwarding_rule#ip_version ComputeForwardingRule#ip_version} IpVersion *string `field:"optional" json:"ipVersion" yaml:"ipVersion"` // Indicates whether or not this load balancer can be used as a collector for packet mirroring. // // To prevent mirroring loops, instances behind this // load balancer will not have their traffic mirrored even if a // 'PacketMirroring' rule applies to them. // // This can only be set to true for load balancers that have their // 'loadBalancingScheme' set to 'INTERNAL'. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.84.0/docs/resources/compute_forwarding_rule#is_mirroring_collector ComputeForwardingRule#is_mirroring_collector} IsMirroringCollector interface{} `field:"optional" json:"isMirroringCollector" yaml:"isMirroringCollector"` // Labels to apply to this forwarding rule. A list of key->value pairs. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.84.0/docs/resources/compute_forwarding_rule#labels ComputeForwardingRule#labels} Labels *map[string]*string `field:"optional" json:"labels" yaml:"labels"` // Specifies the forwarding rule type. // // For more information about forwarding rules, refer to // [Forwarding rule concepts](https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts). Default value: "EXTERNAL" Possible values: ["EXTERNAL", "EXTERNAL_MANAGED", "INTERNAL", "INTERNAL_MANAGED"] // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.84.0/docs/resources/compute_forwarding_rule#load_balancing_scheme ComputeForwardingRule#load_balancing_scheme} LoadBalancingScheme *string `field:"optional" json:"loadBalancingScheme" yaml:"loadBalancingScheme"` // This field is not used for external load balancing. // // For Internal TCP/UDP Load Balancing, this field identifies the network that // the load balanced IP should belong to for this Forwarding Rule. // If the subnetwork is specified, the network of the subnetwork will be used. // If neither subnetwork nor this field is specified, the default network will // be used. // // For Private Service Connect forwarding rules that forward traffic to Google // APIs, a network must be provided. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.84.0/docs/resources/compute_forwarding_rule#network ComputeForwardingRule#network} Network *string `field:"optional" json:"network" yaml:"network"` // This signifies the networking tier used for configuring this load balancer and can only take the following values: 'PREMIUM', 'STANDARD'. // // For regional ForwardingRule, the valid values are 'PREMIUM' and // 'STANDARD'. For GlobalForwardingRule, the valid value is // 'PREMIUM'. // // If this field is not specified, it is assumed to be 'PREMIUM'. // If 'IPAddress' is specified, this value must be equal to the // networkTier of the Address. Possible values: ["PREMIUM", "STANDARD"] // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.84.0/docs/resources/compute_forwarding_rule#network_tier ComputeForwardingRule#network_tier} NetworkTier *string `field:"optional" json:"networkTier" yaml:"networkTier"` // This is used in PSC consumer ForwardingRule to control whether it should try to auto-generate a DNS zone or not. // // Non-PSC forwarding rules do not use this field. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.84.0/docs/resources/compute_forwarding_rule#no_automate_dns_zone ComputeForwardingRule#no_automate_dns_zone} NoAutomateDnsZone interface{} `field:"optional" json:"noAutomateDnsZone" yaml:"noAutomateDnsZone"` // This field can only be used:. // // If 'IPProtocol' is one of TCP, UDP, or SCTP. // By backend service-based network load balancers, target pool-based // network load balancers, internal proxy load balancers, external proxy load // balancers, Traffic Director, external protocol forwarding, and Classic VPN. // Some products have restrictions on what ports can be used. See // [port specifications](https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts#port_specifications) // for details. // // // Only packets addressed to ports in the specified range will be forwarded to // the backends configured with this forwarding rule. // // The 'ports' and 'port_range' fields are mutually exclusive. // // For external forwarding rules, two or more forwarding rules cannot use the // same '[IPAddress, IPProtocol]' pair, and cannot have // overlapping 'portRange's. // // For internal forwarding rules within the same VPC network, two or more // forwarding rules cannot use the same '[IPAddress, IPProtocol]' // pair, and cannot have overlapping 'portRange's. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.84.0/docs/resources/compute_forwarding_rule#port_range ComputeForwardingRule#port_range} PortRange *string `field:"optional" json:"portRange" yaml:"portRange"` // This field can only be used:. // // If 'IPProtocol' is one of TCP, UDP, or SCTP. // By internal TCP/UDP load balancers, backend service-based network load // balancers, internal protocol forwarding and when protocol is not L3_DEFAULT. // // // You can specify a list of up to five ports by number, separated by commas. // The ports can be contiguous or discontiguous. Only packets addressed to // these ports will be forwarded to the backends configured with this // forwarding rule. // // For external forwarding rules, two or more forwarding rules cannot use the // same '[IPAddress, IPProtocol]' pair, and cannot share any values // defined in 'ports'. // // For internal forwarding rules within the same VPC network, two or more // forwarding rules cannot use the same '[IPAddress, IPProtocol]' // pair, and cannot share any values defined in 'ports'. // // The 'ports' and 'port_range' fields are mutually exclusive. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.84.0/docs/resources/compute_forwarding_rule#ports ComputeForwardingRule#ports} Ports *[]*string `field:"optional" json:"ports" yaml:"ports"` // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.84.0/docs/resources/compute_forwarding_rule#project ComputeForwardingRule#project}. Project *string `field:"optional" json:"project" yaml:"project"` // A reference to the region where the regional forwarding rule resides. // // This field is not applicable to global forwarding rules. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.84.0/docs/resources/compute_forwarding_rule#region ComputeForwardingRule#region} Region *string `field:"optional" json:"region" yaml:"region"` // service_directory_registrations block. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.84.0/docs/resources/compute_forwarding_rule#service_directory_registrations ComputeForwardingRule#service_directory_registrations} ServiceDirectoryRegistrations *ComputeForwardingRuleServiceDirectoryRegistrations `field:"optional" json:"serviceDirectoryRegistrations" yaml:"serviceDirectoryRegistrations"` // An optional prefix to the service name for this Forwarding Rule. // // If specified, will be the first label of the fully qualified service // name. // // The label must be 1-63 characters long, and comply with RFC1035. // Specifically, the label must be 1-63 characters long and match the // regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first // character must be a lowercase letter, and all following characters // must be a dash, lowercase letter, or digit, except the last // character, which cannot be a dash. // // This field is only used for INTERNAL load balancing. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.84.0/docs/resources/compute_forwarding_rule#service_label ComputeForwardingRule#service_label} ServiceLabel *string `field:"optional" json:"serviceLabel" yaml:"serviceLabel"` // If not empty, this Forwarding Rule will only forward the traffic when the source IP address matches one of the IP addresses or CIDR ranges set here. // // Note that a Forwarding Rule can only have up to 64 source IP ranges, and this field can only be used with a regional Forwarding Rule whose scheme is EXTERNAL. Each sourceIpRange entry should be either an IP address (for example, 1.2.3.4) or a CIDR range (for example, 1.2.3.0/24). // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.84.0/docs/resources/compute_forwarding_rule#source_ip_ranges ComputeForwardingRule#source_ip_ranges} SourceIpRanges *[]*string `field:"optional" json:"sourceIpRanges" yaml:"sourceIpRanges"` // This field identifies the subnetwork that the load balanced IP should belong to for this Forwarding Rule, used in internal load balancing and network load balancing with IPv6. // // If the network specified is in auto subnet mode, this field is optional. // However, a subnetwork must be specified if the network is in custom subnet // mode or when creating external forwarding rule with IPv6. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.84.0/docs/resources/compute_forwarding_rule#subnetwork ComputeForwardingRule#subnetwork} Subnetwork *string `field:"optional" json:"subnetwork" yaml:"subnetwork"` // The URL of the target resource to receive the matched traffic. // // For // regional forwarding rules, this target must be in the same region as the // forwarding rule. For global forwarding rules, this target must be a global // load balancing resource. // // The forwarded traffic must be of a type appropriate to the target object. // For load balancers, see the "Target" column in [Port specifications](https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts#ip_address_specifications). // For Private Service Connect forwarding rules that forward traffic to Google APIs, provide the name of a supported Google API bundle: // 'vpc-sc' - [ APIs that support VPC Service Controls](https://cloud.google.com/vpc-service-controls/docs/supported-products). // 'all-apis' - [All supported Google APIs](https://cloud.google.com/vpc/docs/private-service-connect#supported-apis). // // // For Private Service Connect forwarding rules that forward traffic to managed services, the target must be a service attachment. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.84.0/docs/resources/compute_forwarding_rule#target ComputeForwardingRule#target} Target *string `field:"optional" json:"target" yaml:"target"` // timeouts block. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.84.0/docs/resources/compute_forwarding_rule#timeouts ComputeForwardingRule#timeouts} Timeouts *ComputeForwardingRuleTimeouts `field:"optional" json:"timeouts" yaml:"timeouts"` }
type ComputeForwardingRuleServiceDirectoryRegistrations ¶
type ComputeForwardingRuleServiceDirectoryRegistrations struct { // Service Directory namespace to register the forwarding rule under. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.84.0/docs/resources/compute_forwarding_rule#namespace ComputeForwardingRule#namespace} Namespace *string `field:"optional" json:"namespace" yaml:"namespace"` // Service Directory service to register the forwarding rule under. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.84.0/docs/resources/compute_forwarding_rule#service ComputeForwardingRule#service} Service *string `field:"optional" json:"service" yaml:"service"` }
type ComputeForwardingRuleServiceDirectoryRegistrationsOutputReference ¶
type ComputeForwardingRuleServiceDirectoryRegistrationsOutputReference 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) // 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 // Experimental. Fqn() *string InternalValue() *ComputeForwardingRuleServiceDirectoryRegistrations SetInternalValue(val *ComputeForwardingRuleServiceDirectoryRegistrations) Namespace() *string SetNamespace(val *string) NamespaceInput() *string Service() *string SetService(val *string) ServiceInput() *string // Experimental. TerraformAttribute() *string // Experimental. SetTerraformAttribute(val *string) // Experimental. TerraformResource() cdktf.IInterpolatingParent // Experimental. SetTerraformResource(val cdktf.IInterpolatingParent) // 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 ResetNamespace() ResetService() // 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 NewComputeForwardingRuleServiceDirectoryRegistrationsOutputReference ¶
func NewComputeForwardingRuleServiceDirectoryRegistrationsOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) ComputeForwardingRuleServiceDirectoryRegistrationsOutputReference
type ComputeForwardingRuleTimeouts ¶
type ComputeForwardingRuleTimeouts struct { // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.84.0/docs/resources/compute_forwarding_rule#create ComputeForwardingRule#create}. Create *string `field:"optional" json:"create" yaml:"create"` // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.84.0/docs/resources/compute_forwarding_rule#delete ComputeForwardingRule#delete}. Delete *string `field:"optional" json:"delete" yaml:"delete"` // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.84.0/docs/resources/compute_forwarding_rule#update ComputeForwardingRule#update}. Update *string `field:"optional" json:"update" yaml:"update"` }
type ComputeForwardingRuleTimeoutsOutputReference ¶
type ComputeForwardingRuleTimeoutsOutputReference 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 NewComputeForwardingRuleTimeoutsOutputReference ¶
func NewComputeForwardingRuleTimeoutsOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) ComputeForwardingRuleTimeoutsOutputReference
Source Files ¶
- ComputeForwardingRule.go
- ComputeForwardingRuleConfig.go
- ComputeForwardingRuleServiceDirectoryRegistrations.go
- ComputeForwardingRuleServiceDirectoryRegistrationsOutputReference.go
- ComputeForwardingRuleServiceDirectoryRegistrationsOutputReference__checks.go
- ComputeForwardingRuleTimeouts.go
- ComputeForwardingRuleTimeoutsOutputReference.go
- ComputeForwardingRuleTimeoutsOutputReference__checks.go
- ComputeForwardingRule__checks.go
- main.go