pulumi-gcp 8.19.0a1739290509__py3-none-any.whl → 8.19.1a1739444689__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. pulumi_gcp/__init__.py +80 -0
  2. pulumi_gcp/_utilities.py +8 -4
  3. pulumi_gcp/accesscontextmanager/_inputs.py +288 -78
  4. pulumi_gcp/accesscontextmanager/outputs.py +186 -54
  5. pulumi_gcp/appengine/_inputs.py +3 -0
  6. pulumi_gcp/appengine/outputs.py +2 -0
  7. pulumi_gcp/beyondcorp/__init__.py +5 -0
  8. pulumi_gcp/beyondcorp/_inputs.py +189 -0
  9. pulumi_gcp/beyondcorp/application.py +604 -0
  10. pulumi_gcp/beyondcorp/application_iam_binding.py +1049 -0
  11. pulumi_gcp/beyondcorp/application_iam_member.py +1049 -0
  12. pulumi_gcp/beyondcorp/application_iam_policy.py +868 -0
  13. pulumi_gcp/beyondcorp/get_application_iam_policy.py +174 -0
  14. pulumi_gcp/beyondcorp/outputs.py +111 -0
  15. pulumi_gcp/bigqueryanalyticshub/__init__.py +1 -0
  16. pulumi_gcp/bigqueryanalyticshub/_inputs.py +318 -0
  17. pulumi_gcp/bigqueryanalyticshub/listing_subscription.py +808 -0
  18. pulumi_gcp/bigqueryanalyticshub/outputs.py +263 -0
  19. pulumi_gcp/certificateauthority/_inputs.py +54 -0
  20. pulumi_gcp/certificateauthority/authority.py +149 -3
  21. pulumi_gcp/certificateauthority/get_authority.py +15 -4
  22. pulumi_gcp/certificateauthority/outputs.py +81 -0
  23. pulumi_gcp/cloudrunv2/_inputs.py +112 -0
  24. pulumi_gcp/cloudrunv2/outputs.py +144 -1
  25. pulumi_gcp/cloudrunv2/service.py +2 -0
  26. pulumi_gcp/colab/__init__.py +2 -0
  27. pulumi_gcp/colab/_inputs.py +655 -0
  28. pulumi_gcp/colab/notebook_execution.py +1259 -0
  29. pulumi_gcp/colab/outputs.py +512 -0
  30. pulumi_gcp/colab/runtime.py +266 -2
  31. pulumi_gcp/colab/runtime_template.py +79 -3
  32. pulumi_gcp/colab/schedule.py +1318 -0
  33. pulumi_gcp/compute/__init__.py +1 -0
  34. pulumi_gcp/compute/_inputs.py +204 -0
  35. pulumi_gcp/compute/firewall_policy.py +54 -43
  36. pulumi_gcp/compute/forwarding_rule.py +103 -0
  37. pulumi_gcp/compute/get_forwarding_rule.py +12 -1
  38. pulumi_gcp/compute/interconnect_attachment.py +12 -0
  39. pulumi_gcp/compute/network_firewall_policy_packet_mirroring_rule.py +1011 -0
  40. pulumi_gcp/compute/outputs.py +187 -0
  41. pulumi_gcp/compute/public_advertised_prefix.py +35 -7
  42. pulumi_gcp/compute/public_delegated_prefix.py +171 -7
  43. pulumi_gcp/compute/region_resize_request.py +21 -22
  44. pulumi_gcp/compute/resize_request.py +22 -23
  45. pulumi_gcp/compute/subnetwork.py +14 -7
  46. pulumi_gcp/container/_inputs.py +54 -1
  47. pulumi_gcp/container/outputs.py +79 -1
  48. pulumi_gcp/datastream/connection_profile.py +120 -46
  49. pulumi_gcp/discoveryengine/chat_engine.py +7 -7
  50. pulumi_gcp/filestore/_inputs.py +222 -0
  51. pulumi_gcp/filestore/get_instance.py +23 -1
  52. pulumi_gcp/filestore/instance.py +86 -0
  53. pulumi_gcp/filestore/outputs.py +282 -0
  54. pulumi_gcp/gemini/__init__.py +2 -0
  55. pulumi_gcp/gemini/logging_setting.py +671 -0
  56. pulumi_gcp/gemini/release_channel_setting.py +639 -0
  57. pulumi_gcp/memorystore/_inputs.py +296 -0
  58. pulumi_gcp/memorystore/instance.py +32 -28
  59. pulumi_gcp/memorystore/outputs.py +224 -0
  60. pulumi_gcp/monitoring/_inputs.py +12 -9
  61. pulumi_gcp/monitoring/outputs.py +8 -6
  62. pulumi_gcp/networkservices/_inputs.py +89 -0
  63. pulumi_gcp/networkservices/outputs.py +75 -0
  64. pulumi_gcp/parametermanager/__init__.py +2 -0
  65. pulumi_gcp/parametermanager/get_parameter_version_render.py +199 -0
  66. pulumi_gcp/parametermanager/get_regional_parameter_version_render.py +220 -0
  67. pulumi_gcp/privilegedaccessmanager/entitlement.py +14 -0
  68. pulumi_gcp/pulumi-plugin.json +1 -1
  69. pulumi_gcp/securesourcemanager/branch_rule.py +4 -0
  70. pulumi_gcp/securesourcemanager/repository.py +4 -0
  71. pulumi_gcp/storage/bucket_object.py +8 -0
  72. pulumi_gcp/workbench/instance.py +70 -2
  73. {pulumi_gcp-8.19.0a1739290509.dist-info → pulumi_gcp-8.19.1a1739444689.dist-info}/METADATA +1 -1
  74. {pulumi_gcp-8.19.0a1739290509.dist-info → pulumi_gcp-8.19.1a1739444689.dist-info}/RECORD +76 -63
  75. {pulumi_gcp-8.19.0a1739290509.dist-info → pulumi_gcp-8.19.1a1739444689.dist-info}/WHEEL +0 -0
  76. {pulumi_gcp-8.19.0a1739290509.dist-info → pulumi_gcp-8.19.1a1739444689.dist-info}/top_level.txt +0 -0
@@ -133,6 +133,7 @@ from .network_endpoint_group import *
133
133
  from .network_endpoint_list import *
134
134
  from .network_firewall_policy import *
135
135
  from .network_firewall_policy_association import *
136
+ from .network_firewall_policy_packet_mirroring_rule import *
136
137
  from .network_firewall_policy_rule import *
137
138
  from .network_firewall_policy_with_rules import *
138
139
  from .network_peering import *
@@ -411,6 +411,12 @@ __all__ = [
411
411
  'NetworkAttachmentConnectionEndpointArgsDict',
412
412
  'NetworkEndpointListNetworkEndpointArgs',
413
413
  'NetworkEndpointListNetworkEndpointArgsDict',
414
+ 'NetworkFirewallPolicyPacketMirroringRuleMatchArgs',
415
+ 'NetworkFirewallPolicyPacketMirroringRuleMatchArgsDict',
416
+ 'NetworkFirewallPolicyPacketMirroringRuleMatchLayer4ConfigArgs',
417
+ 'NetworkFirewallPolicyPacketMirroringRuleMatchLayer4ConfigArgsDict',
418
+ 'NetworkFirewallPolicyPacketMirroringRuleTargetSecureTagArgs',
419
+ 'NetworkFirewallPolicyPacketMirroringRuleTargetSecureTagArgsDict',
414
420
  'NetworkFirewallPolicyRuleMatchArgs',
415
421
  'NetworkFirewallPolicyRuleMatchArgsDict',
416
422
  'NetworkFirewallPolicyRuleMatchLayer4ConfigArgs',
@@ -22038,6 +22044,204 @@ class NetworkEndpointListNetworkEndpointArgs:
22038
22044
  pulumi.set(self, "port", value)
22039
22045
 
22040
22046
 
22047
+ if not MYPY:
22048
+ class NetworkFirewallPolicyPacketMirroringRuleMatchArgsDict(TypedDict):
22049
+ layer4_configs: pulumi.Input[Sequence[pulumi.Input['NetworkFirewallPolicyPacketMirroringRuleMatchLayer4ConfigArgsDict']]]
22050
+ """
22051
+ Pairs of IP protocols and ports that the rule should match.
22052
+ Structure is documented below.
22053
+
22054
+
22055
+ <a name="nested_match_layer4_configs"></a>The `layer4_configs` block supports:
22056
+ """
22057
+ dest_ip_ranges: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
22058
+ """
22059
+ CIDR IP address range. Maximum number of destination CIDR IP ranges allowed is 5000.
22060
+ """
22061
+ src_ip_ranges: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
22062
+ """
22063
+ CIDR IP address range. Maximum number of source CIDR IP ranges allowed is 5000.
22064
+ """
22065
+ elif False:
22066
+ NetworkFirewallPolicyPacketMirroringRuleMatchArgsDict: TypeAlias = Mapping[str, Any]
22067
+
22068
+ @pulumi.input_type
22069
+ class NetworkFirewallPolicyPacketMirroringRuleMatchArgs:
22070
+ def __init__(__self__, *,
22071
+ layer4_configs: pulumi.Input[Sequence[pulumi.Input['NetworkFirewallPolicyPacketMirroringRuleMatchLayer4ConfigArgs']]],
22072
+ dest_ip_ranges: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
22073
+ src_ip_ranges: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
22074
+ """
22075
+ :param pulumi.Input[Sequence[pulumi.Input['NetworkFirewallPolicyPacketMirroringRuleMatchLayer4ConfigArgs']]] layer4_configs: Pairs of IP protocols and ports that the rule should match.
22076
+ Structure is documented below.
22077
+
22078
+
22079
+ <a name="nested_match_layer4_configs"></a>The `layer4_configs` block supports:
22080
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] dest_ip_ranges: CIDR IP address range. Maximum number of destination CIDR IP ranges allowed is 5000.
22081
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] src_ip_ranges: CIDR IP address range. Maximum number of source CIDR IP ranges allowed is 5000.
22082
+ """
22083
+ pulumi.set(__self__, "layer4_configs", layer4_configs)
22084
+ if dest_ip_ranges is not None:
22085
+ pulumi.set(__self__, "dest_ip_ranges", dest_ip_ranges)
22086
+ if src_ip_ranges is not None:
22087
+ pulumi.set(__self__, "src_ip_ranges", src_ip_ranges)
22088
+
22089
+ @property
22090
+ @pulumi.getter(name="layer4Configs")
22091
+ def layer4_configs(self) -> pulumi.Input[Sequence[pulumi.Input['NetworkFirewallPolicyPacketMirroringRuleMatchLayer4ConfigArgs']]]:
22092
+ """
22093
+ Pairs of IP protocols and ports that the rule should match.
22094
+ Structure is documented below.
22095
+
22096
+
22097
+ <a name="nested_match_layer4_configs"></a>The `layer4_configs` block supports:
22098
+ """
22099
+ return pulumi.get(self, "layer4_configs")
22100
+
22101
+ @layer4_configs.setter
22102
+ def layer4_configs(self, value: pulumi.Input[Sequence[pulumi.Input['NetworkFirewallPolicyPacketMirroringRuleMatchLayer4ConfigArgs']]]):
22103
+ pulumi.set(self, "layer4_configs", value)
22104
+
22105
+ @property
22106
+ @pulumi.getter(name="destIpRanges")
22107
+ def dest_ip_ranges(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
22108
+ """
22109
+ CIDR IP address range. Maximum number of destination CIDR IP ranges allowed is 5000.
22110
+ """
22111
+ return pulumi.get(self, "dest_ip_ranges")
22112
+
22113
+ @dest_ip_ranges.setter
22114
+ def dest_ip_ranges(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
22115
+ pulumi.set(self, "dest_ip_ranges", value)
22116
+
22117
+ @property
22118
+ @pulumi.getter(name="srcIpRanges")
22119
+ def src_ip_ranges(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
22120
+ """
22121
+ CIDR IP address range. Maximum number of source CIDR IP ranges allowed is 5000.
22122
+ """
22123
+ return pulumi.get(self, "src_ip_ranges")
22124
+
22125
+ @src_ip_ranges.setter
22126
+ def src_ip_ranges(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
22127
+ pulumi.set(self, "src_ip_ranges", value)
22128
+
22129
+
22130
+ if not MYPY:
22131
+ class NetworkFirewallPolicyPacketMirroringRuleMatchLayer4ConfigArgsDict(TypedDict):
22132
+ ip_protocol: pulumi.Input[str]
22133
+ """
22134
+ The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule.
22135
+ This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number.
22136
+ """
22137
+ ports: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
22138
+ """
22139
+ An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port.
22140
+ Example inputs include: ["22"], ["80","443"], and ["12345-12349"].
22141
+ """
22142
+ elif False:
22143
+ NetworkFirewallPolicyPacketMirroringRuleMatchLayer4ConfigArgsDict: TypeAlias = Mapping[str, Any]
22144
+
22145
+ @pulumi.input_type
22146
+ class NetworkFirewallPolicyPacketMirroringRuleMatchLayer4ConfigArgs:
22147
+ def __init__(__self__, *,
22148
+ ip_protocol: pulumi.Input[str],
22149
+ ports: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
22150
+ """
22151
+ :param pulumi.Input[str] ip_protocol: The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule.
22152
+ This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number.
22153
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] ports: An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port.
22154
+ Example inputs include: ["22"], ["80","443"], and ["12345-12349"].
22155
+ """
22156
+ pulumi.set(__self__, "ip_protocol", ip_protocol)
22157
+ if ports is not None:
22158
+ pulumi.set(__self__, "ports", ports)
22159
+
22160
+ @property
22161
+ @pulumi.getter(name="ipProtocol")
22162
+ def ip_protocol(self) -> pulumi.Input[str]:
22163
+ """
22164
+ The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule.
22165
+ This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number.
22166
+ """
22167
+ return pulumi.get(self, "ip_protocol")
22168
+
22169
+ @ip_protocol.setter
22170
+ def ip_protocol(self, value: pulumi.Input[str]):
22171
+ pulumi.set(self, "ip_protocol", value)
22172
+
22173
+ @property
22174
+ @pulumi.getter
22175
+ def ports(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
22176
+ """
22177
+ An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port.
22178
+ Example inputs include: ["22"], ["80","443"], and ["12345-12349"].
22179
+ """
22180
+ return pulumi.get(self, "ports")
22181
+
22182
+ @ports.setter
22183
+ def ports(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
22184
+ pulumi.set(self, "ports", value)
22185
+
22186
+
22187
+ if not MYPY:
22188
+ class NetworkFirewallPolicyPacketMirroringRuleTargetSecureTagArgsDict(TypedDict):
22189
+ name: NotRequired[pulumi.Input[str]]
22190
+ """
22191
+ Name of the secure tag, created with TagManager's TagValue API.
22192
+ diff_suppress_func: 'tpgresource.CompareSelfLinkOrResourceName'
22193
+ """
22194
+ state: NotRequired[pulumi.Input[str]]
22195
+ """
22196
+ (Output)
22197
+ State of the secure tag, either EFFECTIVE or INEFFECTIVE. A secure tag is INEFFECTIVE when it is deleted or its network is deleted.
22198
+ """
22199
+ elif False:
22200
+ NetworkFirewallPolicyPacketMirroringRuleTargetSecureTagArgsDict: TypeAlias = Mapping[str, Any]
22201
+
22202
+ @pulumi.input_type
22203
+ class NetworkFirewallPolicyPacketMirroringRuleTargetSecureTagArgs:
22204
+ def __init__(__self__, *,
22205
+ name: Optional[pulumi.Input[str]] = None,
22206
+ state: Optional[pulumi.Input[str]] = None):
22207
+ """
22208
+ :param pulumi.Input[str] name: Name of the secure tag, created with TagManager's TagValue API.
22209
+ diff_suppress_func: 'tpgresource.CompareSelfLinkOrResourceName'
22210
+ :param pulumi.Input[str] state: (Output)
22211
+ State of the secure tag, either EFFECTIVE or INEFFECTIVE. A secure tag is INEFFECTIVE when it is deleted or its network is deleted.
22212
+ """
22213
+ if name is not None:
22214
+ pulumi.set(__self__, "name", name)
22215
+ if state is not None:
22216
+ pulumi.set(__self__, "state", state)
22217
+
22218
+ @property
22219
+ @pulumi.getter
22220
+ def name(self) -> Optional[pulumi.Input[str]]:
22221
+ """
22222
+ Name of the secure tag, created with TagManager's TagValue API.
22223
+ diff_suppress_func: 'tpgresource.CompareSelfLinkOrResourceName'
22224
+ """
22225
+ return pulumi.get(self, "name")
22226
+
22227
+ @name.setter
22228
+ def name(self, value: Optional[pulumi.Input[str]]):
22229
+ pulumi.set(self, "name", value)
22230
+
22231
+ @property
22232
+ @pulumi.getter
22233
+ def state(self) -> Optional[pulumi.Input[str]]:
22234
+ """
22235
+ (Output)
22236
+ State of the secure tag, either EFFECTIVE or INEFFECTIVE. A secure tag is INEFFECTIVE when it is deleted or its network is deleted.
22237
+ """
22238
+ return pulumi.get(self, "state")
22239
+
22240
+ @state.setter
22241
+ def state(self, value: Optional[pulumi.Input[str]]):
22242
+ pulumi.set(self, "state", value)
22243
+
22244
+
22041
22245
  if not MYPY:
22042
22246
  class NetworkFirewallPolicyRuleMatchArgsDict(TypedDict):
22043
22247
  layer4_configs: pulumi.Input[Sequence[pulumi.Input['NetworkFirewallPolicyRuleMatchLayer4ConfigArgsDict']]]
@@ -25,11 +25,12 @@ class FirewallPolicyArgs:
25
25
  """
26
26
  The set of arguments for constructing a FirewallPolicy resource.
27
27
  :param pulumi.Input[str] parent: The parent of the firewall policy.
28
- :param pulumi.Input[str] short_name: User-provided name of the Organization firewall policy. The name should be unique in the organization in which the firewall policy is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression a-z? 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.
29
-
30
28
 
31
29
 
32
30
  - - -
31
+ :param pulumi.Input[str] short_name: User-provided name of the Organization firewall policy. The name should be unique in the organization in which the firewall policy is created.
32
+ This field is not applicable to network firewall policies. This name must be set on creation and cannot be changed. The name must be 1-63 characters long, and comply with RFC1035.
33
+ Specifically, the name must be 1-63 characters long and match the regular expression a-z? 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.
33
34
  :param pulumi.Input[str] description: An optional description of this resource. Provide this property when you create the resource.
34
35
  """
35
36
  pulumi.set(__self__, "parent", parent)
@@ -42,6 +43,9 @@ class FirewallPolicyArgs:
42
43
  def parent(self) -> pulumi.Input[str]:
43
44
  """
44
45
  The parent of the firewall policy.
46
+
47
+
48
+ - - -
45
49
  """
46
50
  return pulumi.get(self, "parent")
47
51
 
@@ -53,11 +57,9 @@ class FirewallPolicyArgs:
53
57
  @pulumi.getter(name="shortName")
54
58
  def short_name(self) -> pulumi.Input[str]:
55
59
  """
56
- User-provided name of the Organization firewall policy. The name should be unique in the organization in which the firewall policy is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression a-z? 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.
57
-
58
-
59
-
60
- - - -
60
+ User-provided name of the Organization firewall policy. The name should be unique in the organization in which the firewall policy is created.
61
+ This field is not applicable to network firewall policies. This name must be set on creation and cannot be changed. The name must be 1-63 characters long, and comply with RFC1035.
62
+ Specifically, the name must be 1-63 characters long and match the regular expression a-z? 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.
61
63
  """
62
64
  return pulumi.get(self, "short_name")
63
65
 
@@ -99,14 +101,15 @@ class _FirewallPolicyState:
99
101
  :param pulumi.Input[str] firewall_policy_id: The unique identifier for the resource. This identifier is defined by the server.
100
102
  :param pulumi.Input[str] name: Name of the resource. It is a numeric ID allocated by GCP which uniquely identifies the Firewall Policy.
101
103
  :param pulumi.Input[str] parent: The parent of the firewall policy.
102
- :param pulumi.Input[int] rule_tuple_count: Total count of all firewall policy rule tuples. A firewall policy can not exceed a set number of tuples.
103
- :param pulumi.Input[str] self_link: Server-defined URL for the resource.
104
- :param pulumi.Input[str] self_link_with_id: Server-defined URL for this resource with the resource id.
105
- :param pulumi.Input[str] short_name: User-provided name of the Organization firewall policy. The name should be unique in the organization in which the firewall policy is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression a-z? 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.
106
-
107
104
 
108
105
 
109
106
  - - -
107
+ :param pulumi.Input[int] rule_tuple_count: Total count of all firewall policy rule tuples. A firewall policy can not exceed a set number of tuples.
108
+ :param pulumi.Input[str] self_link: Server-defined URL for the resource.
109
+ :param pulumi.Input[str] self_link_with_id: Server-defined URL for this resource with the resource id.
110
+ :param pulumi.Input[str] short_name: User-provided name of the Organization firewall policy. The name should be unique in the organization in which the firewall policy is created.
111
+ This field is not applicable to network firewall policies. This name must be set on creation and cannot be changed. The name must be 1-63 characters long, and comply with RFC1035.
112
+ Specifically, the name must be 1-63 characters long and match the regular expression a-z? 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.
110
113
  """
111
114
  if creation_timestamp is not None:
112
115
  pulumi.set(__self__, "creation_timestamp", creation_timestamp)
@@ -194,6 +197,9 @@ class _FirewallPolicyState:
194
197
  def parent(self) -> Optional[pulumi.Input[str]]:
195
198
  """
196
199
  The parent of the firewall policy.
200
+
201
+
202
+ - - -
197
203
  """
198
204
  return pulumi.get(self, "parent")
199
205
 
@@ -241,11 +247,9 @@ class _FirewallPolicyState:
241
247
  @pulumi.getter(name="shortName")
242
248
  def short_name(self) -> Optional[pulumi.Input[str]]:
243
249
  """
244
- User-provided name of the Organization firewall policy. The name should be unique in the organization in which the firewall policy is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression a-z? 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.
245
-
246
-
247
-
248
- - - -
250
+ User-provided name of the Organization firewall policy. The name should be unique in the organization in which the firewall policy is created.
251
+ This field is not applicable to network firewall policies. This name must be set on creation and cannot be changed. The name must be 1-63 characters long, and comply with RFC1035.
252
+ Specifically, the name must be 1-63 characters long and match the regular expression a-z? 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.
249
253
  """
250
254
  return pulumi.get(self, "short_name")
251
255
 
@@ -264,20 +268,16 @@ class FirewallPolicy(pulumi.CustomResource):
264
268
  short_name: Optional[pulumi.Input[str]] = None,
265
269
  __props__=None):
266
270
  """
267
- Hierarchical firewall policy rules let you create and enforce a consistent firewall policy across your organization. Rules can explicitly allow or deny connections or delegate evaluation to lower level policies. Policies can be created within organizations or folders.
268
-
269
- This resource should be generally be used with `compute.FirewallPolicyAssociation` and `compute.FirewallPolicyRule`
270
-
271
- For more information see the [official documentation](https://cloud.google.com/vpc/docs/firewall-policies)
272
-
273
271
  ## Example Usage
274
272
 
273
+ ### Firewall Policy
274
+
275
275
  ```python
276
276
  import pulumi
277
277
  import pulumi_gcp as gcp
278
278
 
279
279
  default = gcp.compute.FirewallPolicy("default",
280
- parent="organizations/12345",
280
+ parent="organizations/123456789",
281
281
  short_name="my-policy",
282
282
  description="Example Resource")
283
283
  ```
@@ -286,6 +286,12 @@ class FirewallPolicy(pulumi.CustomResource):
286
286
 
287
287
  FirewallPolicy can be imported using any of these accepted formats:
288
288
 
289
+ * `locations/global/firewallPolicies/{{name}}`
290
+
291
+ * `{{name}}`
292
+
293
+ When using the `pulumi import` command, FirewallPolicy can be imported using one of the formats above. For example:
294
+
289
295
  ```sh
290
296
  $ pulumi import gcp:compute/firewallPolicy:FirewallPolicy default locations/global/firewallPolicies/{{name}}
291
297
  ```
@@ -298,11 +304,12 @@ class FirewallPolicy(pulumi.CustomResource):
298
304
  :param pulumi.ResourceOptions opts: Options for the resource.
299
305
  :param pulumi.Input[str] description: An optional description of this resource. Provide this property when you create the resource.
300
306
  :param pulumi.Input[str] parent: The parent of the firewall policy.
301
- :param pulumi.Input[str] short_name: User-provided name of the Organization firewall policy. The name should be unique in the organization in which the firewall policy is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression a-z? 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.
302
-
303
307
 
304
308
 
305
309
  - - -
310
+ :param pulumi.Input[str] short_name: User-provided name of the Organization firewall policy. The name should be unique in the organization in which the firewall policy is created.
311
+ This field is not applicable to network firewall policies. This name must be set on creation and cannot be changed. The name must be 1-63 characters long, and comply with RFC1035.
312
+ Specifically, the name must be 1-63 characters long and match the regular expression a-z? 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.
306
313
  """
307
314
  ...
308
315
  @overload
@@ -311,20 +318,16 @@ class FirewallPolicy(pulumi.CustomResource):
311
318
  args: FirewallPolicyArgs,
312
319
  opts: Optional[pulumi.ResourceOptions] = None):
313
320
  """
314
- Hierarchical firewall policy rules let you create and enforce a consistent firewall policy across your organization. Rules can explicitly allow or deny connections or delegate evaluation to lower level policies. Policies can be created within organizations or folders.
315
-
316
- This resource should be generally be used with `compute.FirewallPolicyAssociation` and `compute.FirewallPolicyRule`
317
-
318
- For more information see the [official documentation](https://cloud.google.com/vpc/docs/firewall-policies)
319
-
320
321
  ## Example Usage
321
322
 
323
+ ### Firewall Policy
324
+
322
325
  ```python
323
326
  import pulumi
324
327
  import pulumi_gcp as gcp
325
328
 
326
329
  default = gcp.compute.FirewallPolicy("default",
327
- parent="organizations/12345",
330
+ parent="organizations/123456789",
328
331
  short_name="my-policy",
329
332
  description="Example Resource")
330
333
  ```
@@ -333,6 +336,12 @@ class FirewallPolicy(pulumi.CustomResource):
333
336
 
334
337
  FirewallPolicy can be imported using any of these accepted formats:
335
338
 
339
+ * `locations/global/firewallPolicies/{{name}}`
340
+
341
+ * `{{name}}`
342
+
343
+ When using the `pulumi import` command, FirewallPolicy can be imported using one of the formats above. For example:
344
+
336
345
  ```sh
337
346
  $ pulumi import gcp:compute/firewallPolicy:FirewallPolicy default locations/global/firewallPolicies/{{name}}
338
347
  ```
@@ -415,14 +424,15 @@ class FirewallPolicy(pulumi.CustomResource):
415
424
  :param pulumi.Input[str] firewall_policy_id: The unique identifier for the resource. This identifier is defined by the server.
416
425
  :param pulumi.Input[str] name: Name of the resource. It is a numeric ID allocated by GCP which uniquely identifies the Firewall Policy.
417
426
  :param pulumi.Input[str] parent: The parent of the firewall policy.
418
- :param pulumi.Input[int] rule_tuple_count: Total count of all firewall policy rule tuples. A firewall policy can not exceed a set number of tuples.
419
- :param pulumi.Input[str] self_link: Server-defined URL for the resource.
420
- :param pulumi.Input[str] self_link_with_id: Server-defined URL for this resource with the resource id.
421
- :param pulumi.Input[str] short_name: User-provided name of the Organization firewall policy. The name should be unique in the organization in which the firewall policy is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression a-z? 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.
422
-
423
427
 
424
428
 
425
429
  - - -
430
+ :param pulumi.Input[int] rule_tuple_count: Total count of all firewall policy rule tuples. A firewall policy can not exceed a set number of tuples.
431
+ :param pulumi.Input[str] self_link: Server-defined URL for the resource.
432
+ :param pulumi.Input[str] self_link_with_id: Server-defined URL for this resource with the resource id.
433
+ :param pulumi.Input[str] short_name: User-provided name of the Organization firewall policy. The name should be unique in the organization in which the firewall policy is created.
434
+ This field is not applicable to network firewall policies. This name must be set on creation and cannot be changed. The name must be 1-63 characters long, and comply with RFC1035.
435
+ Specifically, the name must be 1-63 characters long and match the regular expression a-z? 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.
426
436
  """
427
437
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
428
438
 
@@ -485,6 +495,9 @@ class FirewallPolicy(pulumi.CustomResource):
485
495
  def parent(self) -> pulumi.Output[str]:
486
496
  """
487
497
  The parent of the firewall policy.
498
+
499
+
500
+ - - -
488
501
  """
489
502
  return pulumi.get(self, "parent")
490
503
 
@@ -516,11 +529,9 @@ class FirewallPolicy(pulumi.CustomResource):
516
529
  @pulumi.getter(name="shortName")
517
530
  def short_name(self) -> pulumi.Output[str]:
518
531
  """
519
- User-provided name of the Organization firewall policy. The name should be unique in the organization in which the firewall policy is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression a-z? 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.
520
-
521
-
522
-
523
- - - -
532
+ User-provided name of the Organization firewall policy. The name should be unique in the organization in which the firewall policy is created.
533
+ This field is not applicable to network firewall policies. This name must be set on creation and cannot be changed. The name must be 1-63 characters long, and comply with RFC1035.
534
+ Specifically, the name must be 1-63 characters long and match the regular expression a-z? 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.
524
535
  """
525
536
  return pulumi.get(self, "short_name")
526
537
 
@@ -27,6 +27,7 @@ class ForwardingRuleArgs:
27
27
  backend_service: Optional[pulumi.Input[str]] = None,
28
28
  description: Optional[pulumi.Input[str]] = None,
29
29
  ip_address: Optional[pulumi.Input[str]] = None,
30
+ ip_collection: Optional[pulumi.Input[str]] = None,
30
31
  ip_protocol: Optional[pulumi.Input[str]] = None,
31
32
  ip_version: Optional[pulumi.Input[str]] = None,
32
33
  is_mirroring_collector: Optional[pulumi.Input[bool]] = None,
@@ -106,6 +107,15 @@ class ForwardingRuleArgs:
106
107
  specifications](https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts#ip_address_specifications).
107
108
  When reading an `IPAddress`, the API always returns the IP
108
109
  address number.
110
+ :param pulumi.Input[str] ip_collection: Resource reference of a PublicDelegatedPrefix. The PDP must be a sub-PDP
111
+ in EXTERNAL_IPV6_FORWARDING_RULE_CREATION mode.
112
+ Use one of the following formats to specify a sub-PDP when creating an
113
+ IPv6 NetLB forwarding rule using BYOIP:
114
+ Full resource URL, as in:
115
+ * `https://www.googleapis.com/compute/v1/projects/{{projectId}}/regions/{{region}}/publicDelegatedPrefixes/{{sub-pdp-name}}`
116
+ Partial URL, as in:
117
+ * `projects/{{projectId}}/regions/region/publicDelegatedPrefixes/{{sub-pdp-name}}`
118
+ * `regions/{{region}}/publicDelegatedPrefixes/{{sub-pdp-name}}`
109
119
  :param pulumi.Input[str] ip_protocol: The IP protocol to which this rule applies.
110
120
  For protocol forwarding, valid
111
121
  options are `TCP`, `UDP`, `ESP`,
@@ -255,6 +265,8 @@ class ForwardingRuleArgs:
255
265
  pulumi.set(__self__, "description", description)
256
266
  if ip_address is not None:
257
267
  pulumi.set(__self__, "ip_address", ip_address)
268
+ if ip_collection is not None:
269
+ pulumi.set(__self__, "ip_collection", ip_collection)
258
270
  if ip_protocol is not None:
259
271
  pulumi.set(__self__, "ip_protocol", ip_protocol)
260
272
  if ip_version is not None:
@@ -418,6 +430,26 @@ class ForwardingRuleArgs:
418
430
  def ip_address(self, value: Optional[pulumi.Input[str]]):
419
431
  pulumi.set(self, "ip_address", value)
420
432
 
433
+ @property
434
+ @pulumi.getter(name="ipCollection")
435
+ def ip_collection(self) -> Optional[pulumi.Input[str]]:
436
+ """
437
+ Resource reference of a PublicDelegatedPrefix. The PDP must be a sub-PDP
438
+ in EXTERNAL_IPV6_FORWARDING_RULE_CREATION mode.
439
+ Use one of the following formats to specify a sub-PDP when creating an
440
+ IPv6 NetLB forwarding rule using BYOIP:
441
+ Full resource URL, as in:
442
+ * `https://www.googleapis.com/compute/v1/projects/{{projectId}}/regions/{{region}}/publicDelegatedPrefixes/{{sub-pdp-name}}`
443
+ Partial URL, as in:
444
+ * `projects/{{projectId}}/regions/region/publicDelegatedPrefixes/{{sub-pdp-name}}`
445
+ * `regions/{{region}}/publicDelegatedPrefixes/{{sub-pdp-name}}`
446
+ """
447
+ return pulumi.get(self, "ip_collection")
448
+
449
+ @ip_collection.setter
450
+ def ip_collection(self, value: Optional[pulumi.Input[str]]):
451
+ pulumi.set(self, "ip_collection", value)
452
+
421
453
  @property
422
454
  @pulumi.getter(name="ipProtocol")
423
455
  def ip_protocol(self) -> Optional[pulumi.Input[str]]:
@@ -775,6 +807,7 @@ class _ForwardingRuleState:
775
807
  effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
776
808
  forwarding_rule_id: Optional[pulumi.Input[int]] = None,
777
809
  ip_address: Optional[pulumi.Input[str]] = None,
810
+ ip_collection: Optional[pulumi.Input[str]] = None,
778
811
  ip_protocol: Optional[pulumi.Input[str]] = None,
779
812
  ip_version: Optional[pulumi.Input[str]] = None,
780
813
  is_mirroring_collector: Optional[pulumi.Input[bool]] = None,
@@ -864,6 +897,15 @@ class _ForwardingRuleState:
864
897
  specifications](https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts#ip_address_specifications).
865
898
  When reading an `IPAddress`, the API always returns the IP
866
899
  address number.
900
+ :param pulumi.Input[str] ip_collection: Resource reference of a PublicDelegatedPrefix. The PDP must be a sub-PDP
901
+ in EXTERNAL_IPV6_FORWARDING_RULE_CREATION mode.
902
+ Use one of the following formats to specify a sub-PDP when creating an
903
+ IPv6 NetLB forwarding rule using BYOIP:
904
+ Full resource URL, as in:
905
+ * `https://www.googleapis.com/compute/v1/projects/{{projectId}}/regions/{{region}}/publicDelegatedPrefixes/{{sub-pdp-name}}`
906
+ Partial URL, as in:
907
+ * `projects/{{projectId}}/regions/region/publicDelegatedPrefixes/{{sub-pdp-name}}`
908
+ * `regions/{{region}}/publicDelegatedPrefixes/{{sub-pdp-name}}`
867
909
  :param pulumi.Input[str] ip_protocol: The IP protocol to which this rule applies.
868
910
  For protocol forwarding, valid
869
911
  options are `TCP`, `UDP`, `ESP`,
@@ -1030,6 +1072,8 @@ class _ForwardingRuleState:
1030
1072
  pulumi.set(__self__, "forwarding_rule_id", forwarding_rule_id)
1031
1073
  if ip_address is not None:
1032
1074
  pulumi.set(__self__, "ip_address", ip_address)
1075
+ if ip_collection is not None:
1076
+ pulumi.set(__self__, "ip_collection", ip_collection)
1033
1077
  if ip_protocol is not None:
1034
1078
  pulumi.set(__self__, "ip_protocol", ip_protocol)
1035
1079
  if ip_version is not None:
@@ -1253,6 +1297,26 @@ class _ForwardingRuleState:
1253
1297
  def ip_address(self, value: Optional[pulumi.Input[str]]):
1254
1298
  pulumi.set(self, "ip_address", value)
1255
1299
 
1300
+ @property
1301
+ @pulumi.getter(name="ipCollection")
1302
+ def ip_collection(self) -> Optional[pulumi.Input[str]]:
1303
+ """
1304
+ Resource reference of a PublicDelegatedPrefix. The PDP must be a sub-PDP
1305
+ in EXTERNAL_IPV6_FORWARDING_RULE_CREATION mode.
1306
+ Use one of the following formats to specify a sub-PDP when creating an
1307
+ IPv6 NetLB forwarding rule using BYOIP:
1308
+ Full resource URL, as in:
1309
+ * `https://www.googleapis.com/compute/v1/projects/{{projectId}}/regions/{{region}}/publicDelegatedPrefixes/{{sub-pdp-name}}`
1310
+ Partial URL, as in:
1311
+ * `projects/{{projectId}}/regions/region/publicDelegatedPrefixes/{{sub-pdp-name}}`
1312
+ * `regions/{{region}}/publicDelegatedPrefixes/{{sub-pdp-name}}`
1313
+ """
1314
+ return pulumi.get(self, "ip_collection")
1315
+
1316
+ @ip_collection.setter
1317
+ def ip_collection(self, value: Optional[pulumi.Input[str]]):
1318
+ pulumi.set(self, "ip_collection", value)
1319
+
1256
1320
  @property
1257
1321
  @pulumi.getter(name="ipProtocol")
1258
1322
  def ip_protocol(self) -> Optional[pulumi.Input[str]]:
@@ -1683,6 +1747,7 @@ class ForwardingRule(pulumi.CustomResource):
1683
1747
  backend_service: Optional[pulumi.Input[str]] = None,
1684
1748
  description: Optional[pulumi.Input[str]] = None,
1685
1749
  ip_address: Optional[pulumi.Input[str]] = None,
1750
+ ip_collection: Optional[pulumi.Input[str]] = None,
1686
1751
  ip_protocol: Optional[pulumi.Input[str]] = None,
1687
1752
  ip_version: Optional[pulumi.Input[str]] = None,
1688
1753
  is_mirroring_collector: Optional[pulumi.Input[bool]] = None,
@@ -2457,6 +2522,15 @@ class ForwardingRule(pulumi.CustomResource):
2457
2522
  specifications](https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts#ip_address_specifications).
2458
2523
  When reading an `IPAddress`, the API always returns the IP
2459
2524
  address number.
2525
+ :param pulumi.Input[str] ip_collection: Resource reference of a PublicDelegatedPrefix. The PDP must be a sub-PDP
2526
+ in EXTERNAL_IPV6_FORWARDING_RULE_CREATION mode.
2527
+ Use one of the following formats to specify a sub-PDP when creating an
2528
+ IPv6 NetLB forwarding rule using BYOIP:
2529
+ Full resource URL, as in:
2530
+ * `https://www.googleapis.com/compute/v1/projects/{{projectId}}/regions/{{region}}/publicDelegatedPrefixes/{{sub-pdp-name}}`
2531
+ Partial URL, as in:
2532
+ * `projects/{{projectId}}/regions/region/publicDelegatedPrefixes/{{sub-pdp-name}}`
2533
+ * `regions/{{region}}/publicDelegatedPrefixes/{{sub-pdp-name}}`
2460
2534
  :param pulumi.Input[str] ip_protocol: The IP protocol to which this rule applies.
2461
2535
  For protocol forwarding, valid
2462
2536
  options are `TCP`, `UDP`, `ESP`,
@@ -3315,6 +3389,7 @@ class ForwardingRule(pulumi.CustomResource):
3315
3389
  backend_service: Optional[pulumi.Input[str]] = None,
3316
3390
  description: Optional[pulumi.Input[str]] = None,
3317
3391
  ip_address: Optional[pulumi.Input[str]] = None,
3392
+ ip_collection: Optional[pulumi.Input[str]] = None,
3318
3393
  ip_protocol: Optional[pulumi.Input[str]] = None,
3319
3394
  ip_version: Optional[pulumi.Input[str]] = None,
3320
3395
  is_mirroring_collector: Optional[pulumi.Input[bool]] = None,
@@ -3349,6 +3424,7 @@ class ForwardingRule(pulumi.CustomResource):
3349
3424
  __props__.__dict__["backend_service"] = backend_service
3350
3425
  __props__.__dict__["description"] = description
3351
3426
  __props__.__dict__["ip_address"] = ip_address
3427
+ __props__.__dict__["ip_collection"] = ip_collection
3352
3428
  __props__.__dict__["ip_protocol"] = ip_protocol
3353
3429
  __props__.__dict__["ip_version"] = ip_version
3354
3430
  __props__.__dict__["is_mirroring_collector"] = is_mirroring_collector
@@ -3400,6 +3476,7 @@ class ForwardingRule(pulumi.CustomResource):
3400
3476
  effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
3401
3477
  forwarding_rule_id: Optional[pulumi.Input[int]] = None,
3402
3478
  ip_address: Optional[pulumi.Input[str]] = None,
3479
+ ip_collection: Optional[pulumi.Input[str]] = None,
3403
3480
  ip_protocol: Optional[pulumi.Input[str]] = None,
3404
3481
  ip_version: Optional[pulumi.Input[str]] = None,
3405
3482
  is_mirroring_collector: Optional[pulumi.Input[bool]] = None,
@@ -3494,6 +3571,15 @@ class ForwardingRule(pulumi.CustomResource):
3494
3571
  specifications](https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts#ip_address_specifications).
3495
3572
  When reading an `IPAddress`, the API always returns the IP
3496
3573
  address number.
3574
+ :param pulumi.Input[str] ip_collection: Resource reference of a PublicDelegatedPrefix. The PDP must be a sub-PDP
3575
+ in EXTERNAL_IPV6_FORWARDING_RULE_CREATION mode.
3576
+ Use one of the following formats to specify a sub-PDP when creating an
3577
+ IPv6 NetLB forwarding rule using BYOIP:
3578
+ Full resource URL, as in:
3579
+ * `https://www.googleapis.com/compute/v1/projects/{{projectId}}/regions/{{region}}/publicDelegatedPrefixes/{{sub-pdp-name}}`
3580
+ Partial URL, as in:
3581
+ * `projects/{{projectId}}/regions/region/publicDelegatedPrefixes/{{sub-pdp-name}}`
3582
+ * `regions/{{region}}/publicDelegatedPrefixes/{{sub-pdp-name}}`
3497
3583
  :param pulumi.Input[str] ip_protocol: The IP protocol to which this rule applies.
3498
3584
  For protocol forwarding, valid
3499
3585
  options are `TCP`, `UDP`, `ESP`,
@@ -3654,6 +3740,7 @@ class ForwardingRule(pulumi.CustomResource):
3654
3740
  __props__.__dict__["effective_labels"] = effective_labels
3655
3741
  __props__.__dict__["forwarding_rule_id"] = forwarding_rule_id
3656
3742
  __props__.__dict__["ip_address"] = ip_address
3743
+ __props__.__dict__["ip_collection"] = ip_collection
3657
3744
  __props__.__dict__["ip_protocol"] = ip_protocol
3658
3745
  __props__.__dict__["ip_version"] = ip_version
3659
3746
  __props__.__dict__["is_mirroring_collector"] = is_mirroring_collector
@@ -3813,6 +3900,22 @@ class ForwardingRule(pulumi.CustomResource):
3813
3900
  """
3814
3901
  return pulumi.get(self, "ip_address")
3815
3902
 
3903
+ @property
3904
+ @pulumi.getter(name="ipCollection")
3905
+ def ip_collection(self) -> pulumi.Output[Optional[str]]:
3906
+ """
3907
+ Resource reference of a PublicDelegatedPrefix. The PDP must be a sub-PDP
3908
+ in EXTERNAL_IPV6_FORWARDING_RULE_CREATION mode.
3909
+ Use one of the following formats to specify a sub-PDP when creating an
3910
+ IPv6 NetLB forwarding rule using BYOIP:
3911
+ Full resource URL, as in:
3912
+ * `https://www.googleapis.com/compute/v1/projects/{{projectId}}/regions/{{region}}/publicDelegatedPrefixes/{{sub-pdp-name}}`
3913
+ Partial URL, as in:
3914
+ * `projects/{{projectId}}/regions/region/publicDelegatedPrefixes/{{sub-pdp-name}}`
3915
+ * `regions/{{region}}/publicDelegatedPrefixes/{{sub-pdp-name}}`
3916
+ """
3917
+ return pulumi.get(self, "ip_collection")
3918
+
3816
3919
  @property
3817
3920
  @pulumi.getter(name="ipProtocol")
3818
3921
  def ip_protocol(self) -> pulumi.Output[str]: