pulumi-gcp 7.12.0a1709365001__py3-none-any.whl → 7.13.0a1709814369__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. pulumi_gcp/__init__.py +72 -0
  2. pulumi_gcp/appengine/application_url_dispatch_rules.py +2 -2
  3. pulumi_gcp/appengine/engine_split_traffic.py +4 -4
  4. pulumi_gcp/appengine/service_network_settings.py +2 -2
  5. pulumi_gcp/appengine/standard_app_version.py +4 -4
  6. pulumi_gcp/bigquery/_inputs.py +88 -0
  7. pulumi_gcp/bigquery/dataset_iam_binding.py +35 -28
  8. pulumi_gcp/bigquery/dataset_iam_member.py +35 -28
  9. pulumi_gcp/bigquery/dataset_iam_policy.py +35 -28
  10. pulumi_gcp/bigquery/outputs.py +91 -0
  11. pulumi_gcp/bigquery/routine.py +118 -12
  12. pulumi_gcp/certificatemanager/dns_authorization.py +63 -14
  13. pulumi_gcp/clouddeploy/__init__.py +4 -0
  14. pulumi_gcp/clouddeploy/_inputs.py +80 -0
  15. pulumi_gcp/clouddeploy/automation.py +16 -0
  16. pulumi_gcp/clouddeploy/get_target_iam_policy.py +162 -0
  17. pulumi_gcp/clouddeploy/outputs.py +56 -0
  18. pulumi_gcp/clouddeploy/target_iam_binding.py +324 -0
  19. pulumi_gcp/clouddeploy/target_iam_member.py +324 -0
  20. pulumi_gcp/clouddeploy/target_iam_policy.py +253 -0
  21. pulumi_gcp/cloudfunctionsv2/function.py +0 -2
  22. pulumi_gcp/cloudrunv2/_inputs.py +4 -2
  23. pulumi_gcp/cloudrunv2/outputs.py +8 -4
  24. pulumi_gcp/composer/_inputs.py +18 -2
  25. pulumi_gcp/composer/outputs.py +29 -4
  26. pulumi_gcp/compute/__init__.py +1 -0
  27. pulumi_gcp/compute/get_forwarding_rules.py +142 -0
  28. pulumi_gcp/compute/instance_group_membership.py +4 -4
  29. pulumi_gcp/compute/outputs.py +816 -0
  30. pulumi_gcp/compute/region_network_endpoint.py +2 -2
  31. pulumi_gcp/compute/region_target_https_proxy.py +162 -37
  32. pulumi_gcp/compute/router_nat.py +8 -8
  33. pulumi_gcp/container/_inputs.py +80 -0
  34. pulumi_gcp/container/cluster.py +20 -16
  35. pulumi_gcp/container/outputs.py +115 -1
  36. pulumi_gcp/firebase/__init__.py +4 -0
  37. pulumi_gcp/firebase/app_check_app_attest_config.py +461 -0
  38. pulumi_gcp/firebase/app_check_play_integrity_config.py +465 -0
  39. pulumi_gcp/firebase/app_check_recaptcha_enterprise_config.py +474 -0
  40. pulumi_gcp/firebase/app_check_recaptcha_v3_config.py +511 -0
  41. pulumi_gcp/gkehub/scope.py +85 -0
  42. pulumi_gcp/integrationconnectors/connection.py +4 -4
  43. pulumi_gcp/looker/_inputs.py +42 -0
  44. pulumi_gcp/looker/instance.py +90 -0
  45. pulumi_gcp/looker/outputs.py +34 -0
  46. pulumi_gcp/migrationcenter/__init__.py +3 -0
  47. pulumi_gcp/migrationcenter/_inputs.py +500 -0
  48. pulumi_gcp/migrationcenter/outputs.py +562 -0
  49. pulumi_gcp/migrationcenter/preference_set.py +687 -0
  50. pulumi_gcp/monitoring/custom_service.py +4 -2
  51. pulumi_gcp/monitoring/generic_service.py +4 -2
  52. pulumi_gcp/monitoring/get_app_engine_service.py +2 -2
  53. pulumi_gcp/netapp/__init__.py +1 -0
  54. pulumi_gcp/netapp/_inputs.py +275 -0
  55. pulumi_gcp/netapp/outputs.py +290 -0
  56. pulumi_gcp/netapp/volume.py +140 -2
  57. pulumi_gcp/netapp/volume_replication.py +1292 -0
  58. pulumi_gcp/notebooks/instance.py +1 -1
  59. pulumi_gcp/securityposture/_inputs.py +22 -19
  60. pulumi_gcp/securityposture/outputs.py +18 -15
  61. pulumi_gcp/securityposture/posture.py +28 -48
  62. pulumi_gcp/spanner/_inputs.py +20 -0
  63. pulumi_gcp/spanner/database_iam_binding.py +134 -0
  64. pulumi_gcp/spanner/database_iam_member.py +134 -0
  65. pulumi_gcp/spanner/database_iam_policy.py +114 -0
  66. pulumi_gcp/spanner/outputs.py +20 -0
  67. pulumi_gcp/workbench/_inputs.py +157 -2
  68. pulumi_gcp/workbench/instance.py +52 -0
  69. pulumi_gcp/workbench/outputs.py +154 -2
  70. {pulumi_gcp-7.12.0a1709365001.dist-info → pulumi_gcp-7.13.0a1709814369.dist-info}/METADATA +1 -1
  71. {pulumi_gcp-7.12.0a1709365001.dist-info → pulumi_gcp-7.13.0a1709814369.dist-info}/RECORD +73 -60
  72. {pulumi_gcp-7.12.0a1709365001.dist-info → pulumi_gcp-7.13.0a1709814369.dist-info}/WHEEL +0 -0
  73. {pulumi_gcp-7.12.0a1709365001.dist-info → pulumi_gcp-7.13.0a1709814369.dist-info}/top_level.txt +0 -0
@@ -556,6 +556,8 @@ __all__ = [
556
556
  'GetDiskSourceImageEncryptionKeyResult',
557
557
  'GetDiskSourceSnapshotEncryptionKeyResult',
558
558
  'GetForwardingRuleServiceDirectoryRegistrationResult',
559
+ 'GetForwardingRulesRuleResult',
560
+ 'GetForwardingRulesRuleServiceDirectoryRegistrationResult',
559
561
  'GetGlobalForwardingRuleMetadataFilterResult',
560
562
  'GetGlobalForwardingRuleMetadataFilterFilterLabelResult',
561
563
  'GetGlobalForwardingRuleServiceDirectoryRegistrationResult',
@@ -39850,6 +39852,820 @@ class GetForwardingRuleServiceDirectoryRegistrationResult(dict):
39850
39852
  return pulumi.get(self, "service")
39851
39853
 
39852
39854
 
39855
+ @pulumi.output_type
39856
+ class GetForwardingRulesRuleResult(dict):
39857
+ def __init__(__self__, *,
39858
+ all_ports: bool,
39859
+ allow_global_access: bool,
39860
+ allow_psc_global_access: bool,
39861
+ backend_service: str,
39862
+ base_forwarding_rule: str,
39863
+ creation_timestamp: str,
39864
+ description: str,
39865
+ effective_labels: Mapping[str, str],
39866
+ ip_address: str,
39867
+ ip_protocol: str,
39868
+ ip_version: str,
39869
+ is_mirroring_collector: bool,
39870
+ label_fingerprint: str,
39871
+ labels: Mapping[str, str],
39872
+ load_balancing_scheme: str,
39873
+ name: str,
39874
+ network: str,
39875
+ network_tier: str,
39876
+ no_automate_dns_zone: bool,
39877
+ port_range: str,
39878
+ ports: Sequence[str],
39879
+ project: str,
39880
+ psc_connection_id: str,
39881
+ psc_connection_status: str,
39882
+ pulumi_labels: Mapping[str, str],
39883
+ recreate_closed_psc: bool,
39884
+ region: str,
39885
+ self_link: str,
39886
+ service_directory_registrations: Sequence['outputs.GetForwardingRulesRuleServiceDirectoryRegistrationResult'],
39887
+ service_label: str,
39888
+ service_name: str,
39889
+ source_ip_ranges: Sequence[str],
39890
+ subnetwork: str,
39891
+ target: str):
39892
+ """
39893
+ :param bool all_ports: The 'ports', 'portRange', and 'allPorts' fields are mutually exclusive.
39894
+ Only packets addressed to ports in the specified range will be forwarded
39895
+ to the backends configured with this forwarding rule.
39896
+
39897
+ The 'allPorts' field has the following limitations:
39898
+ * It requires that the forwarding rule 'IPProtocol' be TCP, UDP, SCTP, or
39899
+ L3_DEFAULT.
39900
+ * It's applicable only to the following products: internal passthrough
39901
+ Network Load Balancers, backend service-based external passthrough Network
39902
+ Load Balancers, and internal and external protocol forwarding.
39903
+ * Set this field to true to allow packets addressed to any port or packets
39904
+ lacking destination port information (for example, UDP fragments after the
39905
+ first fragment) to be forwarded to the backends configured with this
39906
+ forwarding rule. The L3_DEFAULT protocol requires 'allPorts' be set to
39907
+ true.
39908
+ :param bool allow_global_access: This field is used along with the 'backend_service' field for
39909
+ internal load balancing or with the 'target' field for internal
39910
+ TargetInstance.
39911
+
39912
+ If the field is set to 'TRUE', clients can access ILB from all
39913
+ regions.
39914
+
39915
+ Otherwise only allows access from clients in the same region as the
39916
+ internal load balancer.
39917
+ :param bool allow_psc_global_access: This is used in PSC consumer ForwardingRule to control whether the PSC endpoint can be accessed from another region.
39918
+ :param str backend_service: Identifies the backend service to which the forwarding rule sends traffic.
39919
+
39920
+ Required for Internal TCP/UDP Load Balancing and Network Load Balancing;
39921
+ must be omitted for all other load balancer types.
39922
+ :param str base_forwarding_rule: [Output Only] The URL for the corresponding base Forwarding Rule. By base Forwarding Rule, we mean the Forwarding Rule that has the same IP address, protocol, and port settings with the current Forwarding Rule, but without sourceIPRanges specified. Always empty if the current Forwarding Rule does not have sourceIPRanges specified.
39923
+ :param str creation_timestamp: Creation timestamp in RFC3339 text format.
39924
+ :param str description: An optional description of this resource. Provide this property when
39925
+ you create the resource.
39926
+ :param str ip_address: IP address for which this forwarding rule accepts traffic. When a client
39927
+ sends traffic to this IP address, the forwarding rule directs the traffic
39928
+ to the referenced 'target' or 'backendService'.
39929
+
39930
+ While creating a forwarding rule, specifying an 'IPAddress' is
39931
+ required under the following circumstances:
39932
+
39933
+ * When the 'target' is set to 'targetGrpcProxy' and
39934
+ 'validateForProxyless' is set to 'true', the
39935
+ 'IPAddress' should be set to '0.0.0.0'.
39936
+ * When the 'target' is a Private Service Connect Google APIs
39937
+ bundle, you must specify an 'IPAddress'.
39938
+
39939
+
39940
+ Otherwise, you can optionally specify an IP address that references an
39941
+ existing static (reserved) IP address resource. When omitted, Google Cloud
39942
+ assigns an ephemeral IP address.
39943
+
39944
+ Use one of the following formats to specify an IP address while creating a
39945
+ forwarding rule:
39946
+
39947
+ * IP address number, as in '100.1.2.3'
39948
+ * IPv6 address range, as in '2600:1234::/96'
39949
+ * Full resource URL, as in
39950
+ 'https://www.googleapis.com/compute/v1/projects/project_id/regions/region/addresses/address-name'
39951
+ * Partial URL or by name, as in:
39952
+ * 'projects/project_id/regions/region/addresses/address-name'
39953
+ * 'regions/region/addresses/address-name'
39954
+ * 'global/addresses/address-name'
39955
+ * 'address-name'
39956
+
39957
+
39958
+ The forwarding rule's 'target' or 'backendService',
39959
+ and in most cases, also the 'loadBalancingScheme', determine the
39960
+ type of IP address that you can use. For detailed information, see
39961
+ [IP address
39962
+ specifications](https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts#ip_address_specifications).
39963
+
39964
+ When reading an 'IPAddress', the API always returns the IP
39965
+ address number.
39966
+ :param str ip_protocol: The IP protocol to which this rule applies.
39967
+
39968
+ For protocol forwarding, valid
39969
+ options are 'TCP', 'UDP', 'ESP',
39970
+ 'AH', 'SCTP', 'ICMP' and
39971
+ 'L3_DEFAULT'.
39972
+
39973
+ The valid IP protocols are different for different load balancing products
39974
+ as described in [Load balancing
39975
+ features](https://cloud.google.com/load-balancing/docs/features#protocols_from_the_load_balancer_to_the_backends).
39976
+
39977
+ A Forwarding Rule with protocol L3_DEFAULT can attach with target instance or
39978
+ backend service with UNSPECIFIED protocol.
39979
+ 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"]
39980
+ :param str ip_version: The IP address version that will be used by this forwarding rule.
39981
+ Valid options are IPV4 and IPV6.
39982
+
39983
+ If not set, the IPv4 address will be used by default. Possible values: ["IPV4", "IPV6"]
39984
+ :param bool is_mirroring_collector: Indicates whether or not this load balancer can be used as a collector for
39985
+ packet mirroring. To prevent mirroring loops, instances behind this
39986
+ load balancer will not have their traffic mirrored even if a
39987
+ 'PacketMirroring' rule applies to them.
39988
+
39989
+ This can only be set to true for load balancers that have their
39990
+ 'loadBalancingScheme' set to 'INTERNAL'.
39991
+ :param str label_fingerprint: The fingerprint used for optimistic locking of this resource. Used
39992
+ internally during updates.
39993
+ :param Mapping[str, str] labels: Labels to apply to this forwarding rule. A list of key->value pairs.
39994
+
39995
+
39996
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
39997
+ Please refer to the field 'effective_labels' for all of the labels present on the resource.
39998
+ :param str load_balancing_scheme: Specifies the forwarding rule type.
39999
+
40000
+ For more information about forwarding rules, refer to
40001
+ [Forwarding rule concepts](https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts). Default value: "EXTERNAL" Possible values: ["EXTERNAL", "EXTERNAL_MANAGED", "INTERNAL", "INTERNAL_MANAGED"]
40002
+ :param str name: Name of the resource; provided by the client when the resource is created.
40003
+ The name must be 1-63 characters long, and comply with
40004
+ [RFC1035](https://www.ietf.org/rfc/rfc1035.txt).
40005
+
40006
+ Specifically, the name must be 1-63 characters long and match the regular
40007
+ expression 'a-z?' which means the first
40008
+ character must be a lowercase letter, and all following characters must
40009
+ be a dash, lowercase letter, or digit, except the last character, which
40010
+ cannot be a dash.
40011
+
40012
+ For Private Service Connect forwarding rules that forward traffic to Google
40013
+ APIs, the forwarding rule name must be a 1-20 characters string with
40014
+ lowercase letters and numbers and must start with a letter.
40015
+ :param str network: This field is not used for external load balancing.
40016
+
40017
+ For Internal TCP/UDP Load Balancing, this field identifies the network that
40018
+ the load balanced IP should belong to for this Forwarding Rule.
40019
+ If the subnetwork is specified, the network of the subnetwork will be used.
40020
+ If neither subnetwork nor this field is specified, the default network will
40021
+ be used.
40022
+
40023
+ For Private Service Connect forwarding rules that forward traffic to Google
40024
+ APIs, a network must be provided.
40025
+ :param str network_tier: This signifies the networking tier used for configuring
40026
+ this load balancer and can only take the following values:
40027
+ 'PREMIUM', 'STANDARD'.
40028
+
40029
+ For regional ForwardingRule, the valid values are 'PREMIUM' and
40030
+ 'STANDARD'. For GlobalForwardingRule, the valid value is
40031
+ 'PREMIUM'.
40032
+
40033
+ If this field is not specified, it is assumed to be 'PREMIUM'.
40034
+ If 'IPAddress' is specified, this value must be equal to the
40035
+ networkTier of the Address. Possible values: ["PREMIUM", "STANDARD"]
40036
+ :param bool no_automate_dns_zone: 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.
40037
+ :param str port_range: The 'ports', 'portRange', and 'allPorts' fields are mutually exclusive.
40038
+ Only packets addressed to ports in the specified range will be forwarded
40039
+ to the backends configured with this forwarding rule.
40040
+
40041
+ The 'portRange' field has the following limitations:
40042
+ * It requires that the forwarding rule 'IPProtocol' be TCP, UDP, or SCTP,
40043
+ and
40044
+ * It's applicable only to the following products: external passthrough
40045
+ Network Load Balancers, internal and external proxy Network Load
40046
+ Balancers, internal and external Application Load Balancers, external
40047
+ protocol forwarding, and Classic VPN.
40048
+ * Some products have restrictions on what ports can be used. See
40049
+ [port specifications](https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts#port_specifications)
40050
+ for details.
40051
+
40052
+ For external forwarding rules, two or more forwarding rules cannot use the
40053
+ same '[IPAddress, IPProtocol]' pair, and cannot have overlapping
40054
+ 'portRange's.
40055
+
40056
+ For internal forwarding rules within the same VPC network, two or more
40057
+ forwarding rules cannot use the same '[IPAddress, IPProtocol]' pair, and
40058
+ cannot have overlapping 'portRange's.
40059
+
40060
+ @pattern: \\d+(?:-\\d+)?
40061
+ :param Sequence[str] ports: The 'ports', 'portRange', and 'allPorts' fields are mutually exclusive.
40062
+ Only packets addressed to ports in the specified range will be forwarded
40063
+ to the backends configured with this forwarding rule.
40064
+
40065
+ The 'ports' field has the following limitations:
40066
+ * It requires that the forwarding rule 'IPProtocol' be TCP, UDP, or SCTP,
40067
+ and
40068
+ * It's applicable only to the following products: internal passthrough
40069
+ Network Load Balancers, backend service-based external passthrough Network
40070
+ Load Balancers, and internal protocol forwarding.
40071
+ * You can specify a list of up to five ports by number, separated by
40072
+ commas. The ports can be contiguous or discontiguous.
40073
+
40074
+ For external forwarding rules, two or more forwarding rules cannot use the
40075
+ same '[IPAddress, IPProtocol]' pair if they share at least one port
40076
+ number.
40077
+
40078
+ For internal forwarding rules within the same VPC network, two or more
40079
+ forwarding rules cannot use the same '[IPAddress, IPProtocol]' pair if
40080
+ they share at least one port number.
40081
+
40082
+ @pattern: \\d+(?:-\\d+)?
40083
+ :param str project: The name of the project.
40084
+ :param str psc_connection_id: The PSC connection id of the PSC Forwarding Rule.
40085
+ :param str psc_connection_status: The PSC connection status of the PSC Forwarding Rule. Possible values: 'STATUS_UNSPECIFIED', 'PENDING', 'ACCEPTED', 'REJECTED', 'CLOSED'
40086
+ :param Mapping[str, str] pulumi_labels: The combination of labels configured directly on the resource
40087
+ and default labels configured on the provider.
40088
+ :param str region: The region you want to get the forwarding rules from.
40089
+
40090
+ These arguments must be set in either the provider or the resouce in order for the information to be queried.
40091
+ :param str self_link: The URI of the resource.
40092
+ :param Sequence['GetForwardingRulesRuleServiceDirectoryRegistrationArgs'] service_directory_registrations: Service Directory resources to register this forwarding rule with.
40093
+
40094
+ Currently, only supports a single Service Directory resource.
40095
+ :param str service_label: An optional prefix to the service name for this Forwarding Rule.
40096
+ If specified, will be the first label of the fully qualified service
40097
+ name.
40098
+
40099
+ The label must be 1-63 characters long, and comply with RFC1035.
40100
+ Specifically, the label must be 1-63 characters long and match the
40101
+ regular expression 'a-z?' which means the first
40102
+ character must be a lowercase letter, and all following characters
40103
+ must be a dash, lowercase letter, or digit, except the last
40104
+ character, which cannot be a dash.
40105
+
40106
+ This field is only used for INTERNAL load balancing.
40107
+ :param str service_name: The internal fully qualified service name for this Forwarding Rule.
40108
+
40109
+ This field is only used for INTERNAL load balancing.
40110
+ :param Sequence[str] source_ip_ranges: 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).
40111
+ :param str subnetwork: This field identifies the subnetwork that the load balanced IP should
40112
+ belong to for this Forwarding Rule, used in internal load balancing and
40113
+ network load balancing with IPv6.
40114
+
40115
+ If the network specified is in auto subnet mode, this field is optional.
40116
+ However, a subnetwork must be specified if the network is in custom subnet
40117
+ mode or when creating external forwarding rule with IPv6.
40118
+ :param str target: The URL of the target resource to receive the matched traffic. For
40119
+ regional forwarding rules, this target must be in the same region as the
40120
+ forwarding rule. For global forwarding rules, this target must be a global
40121
+ load balancing resource.
40122
+
40123
+ The forwarded traffic must be of a type appropriate to the target object.
40124
+ * For load balancers, see the "Target" column in [Port specifications](https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts#ip_address_specifications).
40125
+ * For Private Service Connect forwarding rules that forward traffic to Google APIs, provide the name of a supported Google API bundle:
40126
+ * 'vpc-sc' - [ APIs that support VPC Service Controls](https://cloud.google.com/vpc-service-controls/docs/supported-products).
40127
+ * 'all-apis' - [All supported Google APIs](https://cloud.google.com/vpc/docs/private-service-connect#supported-apis).
40128
+
40129
+
40130
+ For Private Service Connect forwarding rules that forward traffic to managed services, the target must be a service attachment.
40131
+ """
40132
+ pulumi.set(__self__, "all_ports", all_ports)
40133
+ pulumi.set(__self__, "allow_global_access", allow_global_access)
40134
+ pulumi.set(__self__, "allow_psc_global_access", allow_psc_global_access)
40135
+ pulumi.set(__self__, "backend_service", backend_service)
40136
+ pulumi.set(__self__, "base_forwarding_rule", base_forwarding_rule)
40137
+ pulumi.set(__self__, "creation_timestamp", creation_timestamp)
40138
+ pulumi.set(__self__, "description", description)
40139
+ pulumi.set(__self__, "effective_labels", effective_labels)
40140
+ pulumi.set(__self__, "ip_address", ip_address)
40141
+ pulumi.set(__self__, "ip_protocol", ip_protocol)
40142
+ pulumi.set(__self__, "ip_version", ip_version)
40143
+ pulumi.set(__self__, "is_mirroring_collector", is_mirroring_collector)
40144
+ pulumi.set(__self__, "label_fingerprint", label_fingerprint)
40145
+ pulumi.set(__self__, "labels", labels)
40146
+ pulumi.set(__self__, "load_balancing_scheme", load_balancing_scheme)
40147
+ pulumi.set(__self__, "name", name)
40148
+ pulumi.set(__self__, "network", network)
40149
+ pulumi.set(__self__, "network_tier", network_tier)
40150
+ pulumi.set(__self__, "no_automate_dns_zone", no_automate_dns_zone)
40151
+ pulumi.set(__self__, "port_range", port_range)
40152
+ pulumi.set(__self__, "ports", ports)
40153
+ pulumi.set(__self__, "project", project)
40154
+ pulumi.set(__self__, "psc_connection_id", psc_connection_id)
40155
+ pulumi.set(__self__, "psc_connection_status", psc_connection_status)
40156
+ pulumi.set(__self__, "pulumi_labels", pulumi_labels)
40157
+ pulumi.set(__self__, "recreate_closed_psc", recreate_closed_psc)
40158
+ pulumi.set(__self__, "region", region)
40159
+ pulumi.set(__self__, "self_link", self_link)
40160
+ pulumi.set(__self__, "service_directory_registrations", service_directory_registrations)
40161
+ pulumi.set(__self__, "service_label", service_label)
40162
+ pulumi.set(__self__, "service_name", service_name)
40163
+ pulumi.set(__self__, "source_ip_ranges", source_ip_ranges)
40164
+ pulumi.set(__self__, "subnetwork", subnetwork)
40165
+ pulumi.set(__self__, "target", target)
40166
+
40167
+ @property
40168
+ @pulumi.getter(name="allPorts")
40169
+ def all_ports(self) -> bool:
40170
+ """
40171
+ The 'ports', 'portRange', and 'allPorts' fields are mutually exclusive.
40172
+ Only packets addressed to ports in the specified range will be forwarded
40173
+ to the backends configured with this forwarding rule.
40174
+
40175
+ The 'allPorts' field has the following limitations:
40176
+ * It requires that the forwarding rule 'IPProtocol' be TCP, UDP, SCTP, or
40177
+ L3_DEFAULT.
40178
+ * It's applicable only to the following products: internal passthrough
40179
+ Network Load Balancers, backend service-based external passthrough Network
40180
+ Load Balancers, and internal and external protocol forwarding.
40181
+ * Set this field to true to allow packets addressed to any port or packets
40182
+ lacking destination port information (for example, UDP fragments after the
40183
+ first fragment) to be forwarded to the backends configured with this
40184
+ forwarding rule. The L3_DEFAULT protocol requires 'allPorts' be set to
40185
+ true.
40186
+ """
40187
+ return pulumi.get(self, "all_ports")
40188
+
40189
+ @property
40190
+ @pulumi.getter(name="allowGlobalAccess")
40191
+ def allow_global_access(self) -> bool:
40192
+ """
40193
+ This field is used along with the 'backend_service' field for
40194
+ internal load balancing or with the 'target' field for internal
40195
+ TargetInstance.
40196
+
40197
+ If the field is set to 'TRUE', clients can access ILB from all
40198
+ regions.
40199
+
40200
+ Otherwise only allows access from clients in the same region as the
40201
+ internal load balancer.
40202
+ """
40203
+ return pulumi.get(self, "allow_global_access")
40204
+
40205
+ @property
40206
+ @pulumi.getter(name="allowPscGlobalAccess")
40207
+ def allow_psc_global_access(self) -> bool:
40208
+ """
40209
+ This is used in PSC consumer ForwardingRule to control whether the PSC endpoint can be accessed from another region.
40210
+ """
40211
+ return pulumi.get(self, "allow_psc_global_access")
40212
+
40213
+ @property
40214
+ @pulumi.getter(name="backendService")
40215
+ def backend_service(self) -> str:
40216
+ """
40217
+ Identifies the backend service to which the forwarding rule sends traffic.
40218
+
40219
+ Required for Internal TCP/UDP Load Balancing and Network Load Balancing;
40220
+ must be omitted for all other load balancer types.
40221
+ """
40222
+ return pulumi.get(self, "backend_service")
40223
+
40224
+ @property
40225
+ @pulumi.getter(name="baseForwardingRule")
40226
+ def base_forwarding_rule(self) -> str:
40227
+ """
40228
+ [Output Only] The URL for the corresponding base Forwarding Rule. By base Forwarding Rule, we mean the Forwarding Rule that has the same IP address, protocol, and port settings with the current Forwarding Rule, but without sourceIPRanges specified. Always empty if the current Forwarding Rule does not have sourceIPRanges specified.
40229
+ """
40230
+ return pulumi.get(self, "base_forwarding_rule")
40231
+
40232
+ @property
40233
+ @pulumi.getter(name="creationTimestamp")
40234
+ def creation_timestamp(self) -> str:
40235
+ """
40236
+ Creation timestamp in RFC3339 text format.
40237
+ """
40238
+ return pulumi.get(self, "creation_timestamp")
40239
+
40240
+ @property
40241
+ @pulumi.getter
40242
+ def description(self) -> str:
40243
+ """
40244
+ An optional description of this resource. Provide this property when
40245
+ you create the resource.
40246
+ """
40247
+ return pulumi.get(self, "description")
40248
+
40249
+ @property
40250
+ @pulumi.getter(name="effectiveLabels")
40251
+ def effective_labels(self) -> Mapping[str, str]:
40252
+ return pulumi.get(self, "effective_labels")
40253
+
40254
+ @property
40255
+ @pulumi.getter(name="ipAddress")
40256
+ def ip_address(self) -> str:
40257
+ """
40258
+ IP address for which this forwarding rule accepts traffic. When a client
40259
+ sends traffic to this IP address, the forwarding rule directs the traffic
40260
+ to the referenced 'target' or 'backendService'.
40261
+
40262
+ While creating a forwarding rule, specifying an 'IPAddress' is
40263
+ required under the following circumstances:
40264
+
40265
+ * When the 'target' is set to 'targetGrpcProxy' and
40266
+ 'validateForProxyless' is set to 'true', the
40267
+ 'IPAddress' should be set to '0.0.0.0'.
40268
+ * When the 'target' is a Private Service Connect Google APIs
40269
+ bundle, you must specify an 'IPAddress'.
40270
+
40271
+
40272
+ Otherwise, you can optionally specify an IP address that references an
40273
+ existing static (reserved) IP address resource. When omitted, Google Cloud
40274
+ assigns an ephemeral IP address.
40275
+
40276
+ Use one of the following formats to specify an IP address while creating a
40277
+ forwarding rule:
40278
+
40279
+ * IP address number, as in '100.1.2.3'
40280
+ * IPv6 address range, as in '2600:1234::/96'
40281
+ * Full resource URL, as in
40282
+ 'https://www.googleapis.com/compute/v1/projects/project_id/regions/region/addresses/address-name'
40283
+ * Partial URL or by name, as in:
40284
+ * 'projects/project_id/regions/region/addresses/address-name'
40285
+ * 'regions/region/addresses/address-name'
40286
+ * 'global/addresses/address-name'
40287
+ * 'address-name'
40288
+
40289
+
40290
+ The forwarding rule's 'target' or 'backendService',
40291
+ and in most cases, also the 'loadBalancingScheme', determine the
40292
+ type of IP address that you can use. For detailed information, see
40293
+ [IP address
40294
+ specifications](https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts#ip_address_specifications).
40295
+
40296
+ When reading an 'IPAddress', the API always returns the IP
40297
+ address number.
40298
+ """
40299
+ return pulumi.get(self, "ip_address")
40300
+
40301
+ @property
40302
+ @pulumi.getter(name="ipProtocol")
40303
+ def ip_protocol(self) -> str:
40304
+ """
40305
+ The IP protocol to which this rule applies.
40306
+
40307
+ For protocol forwarding, valid
40308
+ options are 'TCP', 'UDP', 'ESP',
40309
+ 'AH', 'SCTP', 'ICMP' and
40310
+ 'L3_DEFAULT'.
40311
+
40312
+ The valid IP protocols are different for different load balancing products
40313
+ as described in [Load balancing
40314
+ features](https://cloud.google.com/load-balancing/docs/features#protocols_from_the_load_balancer_to_the_backends).
40315
+
40316
+ A Forwarding Rule with protocol L3_DEFAULT can attach with target instance or
40317
+ backend service with UNSPECIFIED protocol.
40318
+ 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"]
40319
+ """
40320
+ return pulumi.get(self, "ip_protocol")
40321
+
40322
+ @property
40323
+ @pulumi.getter(name="ipVersion")
40324
+ def ip_version(self) -> str:
40325
+ """
40326
+ The IP address version that will be used by this forwarding rule.
40327
+ Valid options are IPV4 and IPV6.
40328
+
40329
+ If not set, the IPv4 address will be used by default. Possible values: ["IPV4", "IPV6"]
40330
+ """
40331
+ return pulumi.get(self, "ip_version")
40332
+
40333
+ @property
40334
+ @pulumi.getter(name="isMirroringCollector")
40335
+ def is_mirroring_collector(self) -> bool:
40336
+ """
40337
+ Indicates whether or not this load balancer can be used as a collector for
40338
+ packet mirroring. To prevent mirroring loops, instances behind this
40339
+ load balancer will not have their traffic mirrored even if a
40340
+ 'PacketMirroring' rule applies to them.
40341
+
40342
+ This can only be set to true for load balancers that have their
40343
+ 'loadBalancingScheme' set to 'INTERNAL'.
40344
+ """
40345
+ return pulumi.get(self, "is_mirroring_collector")
40346
+
40347
+ @property
40348
+ @pulumi.getter(name="labelFingerprint")
40349
+ def label_fingerprint(self) -> str:
40350
+ """
40351
+ The fingerprint used for optimistic locking of this resource. Used
40352
+ internally during updates.
40353
+ """
40354
+ return pulumi.get(self, "label_fingerprint")
40355
+
40356
+ @property
40357
+ @pulumi.getter
40358
+ def labels(self) -> Mapping[str, str]:
40359
+ """
40360
+ Labels to apply to this forwarding rule. A list of key->value pairs.
40361
+
40362
+
40363
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
40364
+ Please refer to the field 'effective_labels' for all of the labels present on the resource.
40365
+ """
40366
+ return pulumi.get(self, "labels")
40367
+
40368
+ @property
40369
+ @pulumi.getter(name="loadBalancingScheme")
40370
+ def load_balancing_scheme(self) -> str:
40371
+ """
40372
+ Specifies the forwarding rule type.
40373
+
40374
+ For more information about forwarding rules, refer to
40375
+ [Forwarding rule concepts](https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts). Default value: "EXTERNAL" Possible values: ["EXTERNAL", "EXTERNAL_MANAGED", "INTERNAL", "INTERNAL_MANAGED"]
40376
+ """
40377
+ return pulumi.get(self, "load_balancing_scheme")
40378
+
40379
+ @property
40380
+ @pulumi.getter
40381
+ def name(self) -> str:
40382
+ """
40383
+ Name of the resource; provided by the client when the resource is created.
40384
+ The name must be 1-63 characters long, and comply with
40385
+ [RFC1035](https://www.ietf.org/rfc/rfc1035.txt).
40386
+
40387
+ Specifically, the name must be 1-63 characters long and match the regular
40388
+ expression 'a-z?' which means the first
40389
+ character must be a lowercase letter, and all following characters must
40390
+ be a dash, lowercase letter, or digit, except the last character, which
40391
+ cannot be a dash.
40392
+
40393
+ For Private Service Connect forwarding rules that forward traffic to Google
40394
+ APIs, the forwarding rule name must be a 1-20 characters string with
40395
+ lowercase letters and numbers and must start with a letter.
40396
+ """
40397
+ return pulumi.get(self, "name")
40398
+
40399
+ @property
40400
+ @pulumi.getter
40401
+ def network(self) -> str:
40402
+ """
40403
+ This field is not used for external load balancing.
40404
+
40405
+ For Internal TCP/UDP Load Balancing, this field identifies the network that
40406
+ the load balanced IP should belong to for this Forwarding Rule.
40407
+ If the subnetwork is specified, the network of the subnetwork will be used.
40408
+ If neither subnetwork nor this field is specified, the default network will
40409
+ be used.
40410
+
40411
+ For Private Service Connect forwarding rules that forward traffic to Google
40412
+ APIs, a network must be provided.
40413
+ """
40414
+ return pulumi.get(self, "network")
40415
+
40416
+ @property
40417
+ @pulumi.getter(name="networkTier")
40418
+ def network_tier(self) -> str:
40419
+ """
40420
+ This signifies the networking tier used for configuring
40421
+ this load balancer and can only take the following values:
40422
+ 'PREMIUM', 'STANDARD'.
40423
+
40424
+ For regional ForwardingRule, the valid values are 'PREMIUM' and
40425
+ 'STANDARD'. For GlobalForwardingRule, the valid value is
40426
+ 'PREMIUM'.
40427
+
40428
+ If this field is not specified, it is assumed to be 'PREMIUM'.
40429
+ If 'IPAddress' is specified, this value must be equal to the
40430
+ networkTier of the Address. Possible values: ["PREMIUM", "STANDARD"]
40431
+ """
40432
+ return pulumi.get(self, "network_tier")
40433
+
40434
+ @property
40435
+ @pulumi.getter(name="noAutomateDnsZone")
40436
+ def no_automate_dns_zone(self) -> bool:
40437
+ """
40438
+ 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.
40439
+ """
40440
+ return pulumi.get(self, "no_automate_dns_zone")
40441
+
40442
+ @property
40443
+ @pulumi.getter(name="portRange")
40444
+ def port_range(self) -> str:
40445
+ """
40446
+ The 'ports', 'portRange', and 'allPorts' fields are mutually exclusive.
40447
+ Only packets addressed to ports in the specified range will be forwarded
40448
+ to the backends configured with this forwarding rule.
40449
+
40450
+ The 'portRange' field has the following limitations:
40451
+ * It requires that the forwarding rule 'IPProtocol' be TCP, UDP, or SCTP,
40452
+ and
40453
+ * It's applicable only to the following products: external passthrough
40454
+ Network Load Balancers, internal and external proxy Network Load
40455
+ Balancers, internal and external Application Load Balancers, external
40456
+ protocol forwarding, and Classic VPN.
40457
+ * Some products have restrictions on what ports can be used. See
40458
+ [port specifications](https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts#port_specifications)
40459
+ for details.
40460
+
40461
+ For external forwarding rules, two or more forwarding rules cannot use the
40462
+ same '[IPAddress, IPProtocol]' pair, and cannot have overlapping
40463
+ 'portRange's.
40464
+
40465
+ For internal forwarding rules within the same VPC network, two or more
40466
+ forwarding rules cannot use the same '[IPAddress, IPProtocol]' pair, and
40467
+ cannot have overlapping 'portRange's.
40468
+
40469
+ @pattern: \\d+(?:-\\d+)?
40470
+ """
40471
+ return pulumi.get(self, "port_range")
40472
+
40473
+ @property
40474
+ @pulumi.getter
40475
+ def ports(self) -> Sequence[str]:
40476
+ """
40477
+ The 'ports', 'portRange', and 'allPorts' fields are mutually exclusive.
40478
+ Only packets addressed to ports in the specified range will be forwarded
40479
+ to the backends configured with this forwarding rule.
40480
+
40481
+ The 'ports' field has the following limitations:
40482
+ * It requires that the forwarding rule 'IPProtocol' be TCP, UDP, or SCTP,
40483
+ and
40484
+ * It's applicable only to the following products: internal passthrough
40485
+ Network Load Balancers, backend service-based external passthrough Network
40486
+ Load Balancers, and internal protocol forwarding.
40487
+ * You can specify a list of up to five ports by number, separated by
40488
+ commas. The ports can be contiguous or discontiguous.
40489
+
40490
+ For external forwarding rules, two or more forwarding rules cannot use the
40491
+ same '[IPAddress, IPProtocol]' pair if they share at least one port
40492
+ number.
40493
+
40494
+ For internal forwarding rules within the same VPC network, two or more
40495
+ forwarding rules cannot use the same '[IPAddress, IPProtocol]' pair if
40496
+ they share at least one port number.
40497
+
40498
+ @pattern: \\d+(?:-\\d+)?
40499
+ """
40500
+ return pulumi.get(self, "ports")
40501
+
40502
+ @property
40503
+ @pulumi.getter
40504
+ def project(self) -> str:
40505
+ """
40506
+ The name of the project.
40507
+ """
40508
+ return pulumi.get(self, "project")
40509
+
40510
+ @property
40511
+ @pulumi.getter(name="pscConnectionId")
40512
+ def psc_connection_id(self) -> str:
40513
+ """
40514
+ The PSC connection id of the PSC Forwarding Rule.
40515
+ """
40516
+ return pulumi.get(self, "psc_connection_id")
40517
+
40518
+ @property
40519
+ @pulumi.getter(name="pscConnectionStatus")
40520
+ def psc_connection_status(self) -> str:
40521
+ """
40522
+ The PSC connection status of the PSC Forwarding Rule. Possible values: 'STATUS_UNSPECIFIED', 'PENDING', 'ACCEPTED', 'REJECTED', 'CLOSED'
40523
+ """
40524
+ return pulumi.get(self, "psc_connection_status")
40525
+
40526
+ @property
40527
+ @pulumi.getter(name="pulumiLabels")
40528
+ def pulumi_labels(self) -> Mapping[str, str]:
40529
+ """
40530
+ The combination of labels configured directly on the resource
40531
+ and default labels configured on the provider.
40532
+ """
40533
+ return pulumi.get(self, "pulumi_labels")
40534
+
40535
+ @property
40536
+ @pulumi.getter(name="recreateClosedPsc")
40537
+ def recreate_closed_psc(self) -> bool:
40538
+ return pulumi.get(self, "recreate_closed_psc")
40539
+
40540
+ @property
40541
+ @pulumi.getter
40542
+ def region(self) -> str:
40543
+ """
40544
+ The region you want to get the forwarding rules from.
40545
+
40546
+ These arguments must be set in either the provider or the resouce in order for the information to be queried.
40547
+ """
40548
+ return pulumi.get(self, "region")
40549
+
40550
+ @property
40551
+ @pulumi.getter(name="selfLink")
40552
+ def self_link(self) -> str:
40553
+ """
40554
+ The URI of the resource.
40555
+ """
40556
+ return pulumi.get(self, "self_link")
40557
+
40558
+ @property
40559
+ @pulumi.getter(name="serviceDirectoryRegistrations")
40560
+ def service_directory_registrations(self) -> Sequence['outputs.GetForwardingRulesRuleServiceDirectoryRegistrationResult']:
40561
+ """
40562
+ Service Directory resources to register this forwarding rule with.
40563
+
40564
+ Currently, only supports a single Service Directory resource.
40565
+ """
40566
+ return pulumi.get(self, "service_directory_registrations")
40567
+
40568
+ @property
40569
+ @pulumi.getter(name="serviceLabel")
40570
+ def service_label(self) -> str:
40571
+ """
40572
+ An optional prefix to the service name for this Forwarding Rule.
40573
+ If specified, will be the first label of the fully qualified service
40574
+ name.
40575
+
40576
+ The label must be 1-63 characters long, and comply with RFC1035.
40577
+ Specifically, the label must be 1-63 characters long and match the
40578
+ regular expression 'a-z?' which means the first
40579
+ character must be a lowercase letter, and all following characters
40580
+ must be a dash, lowercase letter, or digit, except the last
40581
+ character, which cannot be a dash.
40582
+
40583
+ This field is only used for INTERNAL load balancing.
40584
+ """
40585
+ return pulumi.get(self, "service_label")
40586
+
40587
+ @property
40588
+ @pulumi.getter(name="serviceName")
40589
+ def service_name(self) -> str:
40590
+ """
40591
+ The internal fully qualified service name for this Forwarding Rule.
40592
+
40593
+ This field is only used for INTERNAL load balancing.
40594
+ """
40595
+ return pulumi.get(self, "service_name")
40596
+
40597
+ @property
40598
+ @pulumi.getter(name="sourceIpRanges")
40599
+ def source_ip_ranges(self) -> Sequence[str]:
40600
+ """
40601
+ 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).
40602
+ """
40603
+ return pulumi.get(self, "source_ip_ranges")
40604
+
40605
+ @property
40606
+ @pulumi.getter
40607
+ def subnetwork(self) -> str:
40608
+ """
40609
+ This field identifies the subnetwork that the load balanced IP should
40610
+ belong to for this Forwarding Rule, used in internal load balancing and
40611
+ network load balancing with IPv6.
40612
+
40613
+ If the network specified is in auto subnet mode, this field is optional.
40614
+ However, a subnetwork must be specified if the network is in custom subnet
40615
+ mode or when creating external forwarding rule with IPv6.
40616
+ """
40617
+ return pulumi.get(self, "subnetwork")
40618
+
40619
+ @property
40620
+ @pulumi.getter
40621
+ def target(self) -> str:
40622
+ """
40623
+ The URL of the target resource to receive the matched traffic. For
40624
+ regional forwarding rules, this target must be in the same region as the
40625
+ forwarding rule. For global forwarding rules, this target must be a global
40626
+ load balancing resource.
40627
+
40628
+ The forwarded traffic must be of a type appropriate to the target object.
40629
+ * For load balancers, see the "Target" column in [Port specifications](https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts#ip_address_specifications).
40630
+ * For Private Service Connect forwarding rules that forward traffic to Google APIs, provide the name of a supported Google API bundle:
40631
+ * 'vpc-sc' - [ APIs that support VPC Service Controls](https://cloud.google.com/vpc-service-controls/docs/supported-products).
40632
+ * 'all-apis' - [All supported Google APIs](https://cloud.google.com/vpc/docs/private-service-connect#supported-apis).
40633
+
40634
+
40635
+ For Private Service Connect forwarding rules that forward traffic to managed services, the target must be a service attachment.
40636
+ """
40637
+ return pulumi.get(self, "target")
40638
+
40639
+
40640
+ @pulumi.output_type
40641
+ class GetForwardingRulesRuleServiceDirectoryRegistrationResult(dict):
40642
+ def __init__(__self__, *,
40643
+ namespace: str,
40644
+ service: str):
40645
+ """
40646
+ :param str namespace: Service Directory namespace to register the forwarding rule under.
40647
+ :param str service: Service Directory service to register the forwarding rule under.
40648
+ """
40649
+ pulumi.set(__self__, "namespace", namespace)
40650
+ pulumi.set(__self__, "service", service)
40651
+
40652
+ @property
40653
+ @pulumi.getter
40654
+ def namespace(self) -> str:
40655
+ """
40656
+ Service Directory namespace to register the forwarding rule under.
40657
+ """
40658
+ return pulumi.get(self, "namespace")
40659
+
40660
+ @property
40661
+ @pulumi.getter
40662
+ def service(self) -> str:
40663
+ """
40664
+ Service Directory service to register the forwarding rule under.
40665
+ """
40666
+ return pulumi.get(self, "service")
40667
+
40668
+
39853
40669
  @pulumi.output_type
39854
40670
  class GetGlobalForwardingRuleMetadataFilterResult(dict):
39855
40671
  def __init__(__self__, *,