pulumi-gcp 8.33.0a1749001887__py3-none-any.whl → 8.34.0__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.
- pulumi_gcp/__init__.py +40 -0
- pulumi_gcp/alloydb/cluster.py +16 -64
- pulumi_gcp/apigee/_inputs.py +89 -0
- pulumi_gcp/apigee/environment.py +68 -2
- pulumi_gcp/apigee/outputs.py +88 -0
- pulumi_gcp/apihub/__init__.py +1 -0
- pulumi_gcp/apihub/_inputs.py +184 -0
- pulumi_gcp/apihub/curation.py +812 -0
- pulumi_gcp/apihub/outputs.py +165 -0
- pulumi_gcp/beyondcorp/get_security_gateway.py +12 -1
- pulumi_gcp/beyondcorp/security_gateway.py +28 -0
- pulumi_gcp/bigquery/__init__.py +1 -0
- pulumi_gcp/bigquery/get_datasets.py +131 -0
- pulumi_gcp/bigquery/outputs.py +52 -0
- pulumi_gcp/cloudrunv2/_inputs.py +463 -0
- pulumi_gcp/cloudrunv2/outputs.py +581 -1
- pulumi_gcp/cloudrunv2/worker_pool.py +0 -8
- pulumi_gcp/colab/_inputs.py +14 -1
- pulumi_gcp/colab/outputs.py +8 -1
- pulumi_gcp/colab/runtime_template.py +5 -27
- pulumi_gcp/compute/__init__.py +3 -0
- pulumi_gcp/compute/_inputs.py +1829 -3
- pulumi_gcp/compute/backend_service.py +18 -2
- pulumi_gcp/compute/get_region_instance_template.py +12 -1
- pulumi_gcp/compute/get_router_nat.py +23 -1
- pulumi_gcp/compute/interconnect.py +32 -0
- pulumi_gcp/compute/interconnect_attachment.py +304 -0
- pulumi_gcp/compute/interconnect_attachment_group.py +636 -0
- pulumi_gcp/compute/interconnect_group.py +586 -0
- pulumi_gcp/compute/outputs.py +1321 -2
- pulumi_gcp/compute/region_instance_template.py +28 -0
- pulumi_gcp/compute/router_nat.py +143 -0
- pulumi_gcp/compute/snapshot_settings.py +285 -0
- pulumi_gcp/compute/url_map.py +338 -0
- pulumi_gcp/container/_inputs.py +57 -24
- pulumi_gcp/container/cluster.py +47 -0
- pulumi_gcp/container/get_cluster.py +12 -1
- pulumi_gcp/container/outputs.py +75 -20
- pulumi_gcp/dataplex/__init__.py +1 -0
- pulumi_gcp/dataplex/_inputs.py +492 -0
- pulumi_gcp/dataplex/datascan.py +2 -0
- pulumi_gcp/dataplex/entry.py +1038 -0
- pulumi_gcp/dataplex/outputs.py +357 -1
- pulumi_gcp/datastream/_inputs.py +48 -6
- pulumi_gcp/datastream/outputs.py +46 -4
- pulumi_gcp/datastream/private_connection.py +205 -35
- pulumi_gcp/dns/_inputs.py +73 -0
- pulumi_gcp/dns/outputs.py +60 -0
- pulumi_gcp/dns/policy.py +54 -0
- pulumi_gcp/eventarc/_inputs.py +12 -5
- pulumi_gcp/eventarc/outputs.py +8 -3
- pulumi_gcp/eventarc/pipeline.py +0 -12
- pulumi_gcp/filestore/_inputs.py +44 -1
- pulumi_gcp/filestore/instance.py +7 -7
- pulumi_gcp/filestore/outputs.py +52 -2
- pulumi_gcp/gemini/data_sharing_with_google_setting.py +58 -9
- pulumi_gcp/gemini/data_sharing_with_google_setting_binding.py +11 -16
- pulumi_gcp/gemini/gemini_gcp_enablement_setting.py +51 -2
- pulumi_gcp/gemini/gemini_gcp_enablement_setting_binding.py +11 -16
- pulumi_gcp/gkehub/_inputs.py +84 -7
- pulumi_gcp/gkehub/feature.py +38 -0
- pulumi_gcp/gkehub/outputs.py +102 -7
- pulumi_gcp/gkehub/scope_rbac_role_binding.py +54 -2
- pulumi_gcp/gkeonprem/_inputs.py +54 -0
- pulumi_gcp/gkeonprem/outputs.py +49 -0
- pulumi_gcp/gkeonprem/vmware_admin_cluster.py +71 -0
- pulumi_gcp/iam/workload_identity_pool_namespace.py +4 -4
- pulumi_gcp/iap/tunnel_dest_group.py +2 -2
- pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
- pulumi_gcp/managedkafka/connect_cluster.py +4 -4
- pulumi_gcp/managedkafka/connector.py +4 -4
- pulumi_gcp/memorystore/_inputs.py +6 -6
- pulumi_gcp/memorystore/outputs.py +8 -8
- pulumi_gcp/netapp/_inputs.py +113 -0
- pulumi_gcp/netapp/backup_vault.py +56 -0
- pulumi_gcp/netapp/outputs.py +92 -0
- pulumi_gcp/networkconnectivity/_inputs.py +9 -9
- pulumi_gcp/networkconnectivity/outputs.py +6 -6
- pulumi_gcp/networkconnectivity/spoke.py +14 -14
- pulumi_gcp/networksecurity/backend_authentication_config.py +64 -0
- pulumi_gcp/orgpolicy/policy.py +2 -2
- pulumi_gcp/pubsub/_inputs.py +392 -0
- pulumi_gcp/pubsub/get_subscription.py +12 -1
- pulumi_gcp/pubsub/get_topic.py +12 -1
- pulumi_gcp/pubsub/outputs.py +548 -0
- pulumi_gcp/pubsub/subscription.py +67 -6
- pulumi_gcp/pubsub/topic.py +61 -0
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/redis/_inputs.py +3 -6
- pulumi_gcp/redis/outputs.py +2 -4
- pulumi_gcp/storage/bucket_object.py +4 -4
- pulumi_gcp/vertex/ai_endpoint.py +4 -4
- pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
- {pulumi_gcp-8.33.0a1749001887.dist-info → pulumi_gcp-8.34.0.dist-info}/METADATA +1 -1
- {pulumi_gcp-8.33.0a1749001887.dist-info → pulumi_gcp-8.34.0.dist-info}/RECORD +97 -91
- {pulumi_gcp-8.33.0a1749001887.dist-info → pulumi_gcp-8.34.0.dist-info}/WHEEL +0 -0
- {pulumi_gcp-8.33.0a1749001887.dist-info → pulumi_gcp-8.34.0.dist-info}/top_level.txt +0 -0
pulumi_gcp/compute/outputs.py
CHANGED
@@ -265,9 +265,28 @@ __all__ = [
|
|
265
265
|
'InstanceTemplateShieldedInstanceConfig',
|
266
266
|
'InstantSnapshotIamBindingCondition',
|
267
267
|
'InstantSnapshotIamMemberCondition',
|
268
|
+
'InterconnectAttachmentGroupAttachment',
|
269
|
+
'InterconnectAttachmentGroupConfigured',
|
270
|
+
'InterconnectAttachmentGroupConfiguredAvailabilitySla',
|
271
|
+
'InterconnectAttachmentGroupConfiguredAvailabilitySlaIntendedSlaBlocker',
|
272
|
+
'InterconnectAttachmentGroupIntent',
|
273
|
+
'InterconnectAttachmentGroupLogicalStructure',
|
274
|
+
'InterconnectAttachmentGroupLogicalStructureRegion',
|
275
|
+
'InterconnectAttachmentGroupLogicalStructureRegionMetro',
|
276
|
+
'InterconnectAttachmentGroupLogicalStructureRegionMetroFacility',
|
277
|
+
'InterconnectAttachmentGroupLogicalStructureRegionMetroFacilityZone',
|
268
278
|
'InterconnectAttachmentPrivateInterconnectInfo',
|
269
279
|
'InterconnectCircuitInfo',
|
270
280
|
'InterconnectExpectedOutage',
|
281
|
+
'InterconnectGroupConfigured',
|
282
|
+
'InterconnectGroupConfiguredTopologyCapability',
|
283
|
+
'InterconnectGroupConfiguredTopologyCapabilityIntendedCapabilityBlocker',
|
284
|
+
'InterconnectGroupIntent',
|
285
|
+
'InterconnectGroupInterconnect',
|
286
|
+
'InterconnectGroupPhysicalStructure',
|
287
|
+
'InterconnectGroupPhysicalStructureMetro',
|
288
|
+
'InterconnectGroupPhysicalStructureMetroFacility',
|
289
|
+
'InterconnectGroupPhysicalStructureMetroFacilityZone',
|
271
290
|
'InterconnectMacsec',
|
272
291
|
'InterconnectMacsecPreSharedKey',
|
273
292
|
'MachineImageIamBindingCondition',
|
@@ -580,6 +599,7 @@ __all__ = [
|
|
580
599
|
'RouterBgpAdvertisedIpRange',
|
581
600
|
'RouterMd5AuthenticationKeys',
|
582
601
|
'RouterNatLogConfig',
|
602
|
+
'RouterNatNat64Subnetwork',
|
583
603
|
'RouterNatRule',
|
584
604
|
'RouterNatRuleAction',
|
585
605
|
'RouterNatSubnetwork',
|
@@ -634,6 +654,8 @@ __all__ = [
|
|
634
654
|
'ServiceAttachmentConsumerAcceptList',
|
635
655
|
'SnapshotIamBindingCondition',
|
636
656
|
'SnapshotIamMemberCondition',
|
657
|
+
'SnapshotSettingsStorageLocation',
|
658
|
+
'SnapshotSettingsStorageLocationLocation',
|
637
659
|
'SnapshotSnapshotEncryptionKey',
|
638
660
|
'SnapshotSourceDiskEncryptionKey',
|
639
661
|
'StoragePoolIamBindingCondition',
|
@@ -716,6 +738,8 @@ __all__ = [
|
|
716
738
|
'URLMapPathMatcherRouteRuleHeaderAction',
|
717
739
|
'URLMapPathMatcherRouteRuleHeaderActionRequestHeadersToAdd',
|
718
740
|
'URLMapPathMatcherRouteRuleHeaderActionResponseHeadersToAdd',
|
741
|
+
'URLMapPathMatcherRouteRuleHttpFilterConfig',
|
742
|
+
'URLMapPathMatcherRouteRuleHttpFilterMetadata',
|
719
743
|
'URLMapPathMatcherRouteRuleMatchRule',
|
720
744
|
'URLMapPathMatcherRouteRuleMatchRuleHeaderMatch',
|
721
745
|
'URLMapPathMatcherRouteRuleMatchRuleHeaderMatchRangeMatch',
|
@@ -971,6 +995,7 @@ __all__ = [
|
|
971
995
|
'GetRouterBgpAdvertisedIpRangeResult',
|
972
996
|
'GetRouterMd5AuthenticationKeyResult',
|
973
997
|
'GetRouterNatLogConfigResult',
|
998
|
+
'GetRouterNatNat64SubnetworkResult',
|
974
999
|
'GetRouterNatRuleResult',
|
975
1000
|
'GetRouterNatRuleActionResult',
|
976
1001
|
'GetRouterNatSubnetworkResult',
|
@@ -3795,6 +3820,7 @@ class BackendServiceLogConfig(dict):
|
|
3795
3820
|
:param Sequence[builtins.str] optional_fields: This field can only be specified if logging is enabled for this backend service and "logConfig.optionalMode"
|
3796
3821
|
was set to CUSTOM. Contains a list of optional fields you want to include in the logs.
|
3797
3822
|
For example: serverInstance, serverGkeDetails.cluster, serverGkeDetails.pod.podNamespace
|
3823
|
+
For example: orca_load_report, tls.protocol
|
3798
3824
|
:param builtins.str optional_mode: Specifies the optional logging mode for the load balancer traffic.
|
3799
3825
|
Supported values: INCLUDE_ALL_OPTIONAL, EXCLUDE_ALL_OPTIONAL, CUSTOM.
|
3800
3826
|
Possible values are: `INCLUDE_ALL_OPTIONAL`, `EXCLUDE_ALL_OPTIONAL`, `CUSTOM`.
|
@@ -3827,6 +3853,7 @@ class BackendServiceLogConfig(dict):
|
|
3827
3853
|
This field can only be specified if logging is enabled for this backend service and "logConfig.optionalMode"
|
3828
3854
|
was set to CUSTOM. Contains a list of optional fields you want to include in the logs.
|
3829
3855
|
For example: serverInstance, serverGkeDetails.cluster, serverGkeDetails.pod.podNamespace
|
3856
|
+
For example: orca_load_report, tls.protocol
|
3830
3857
|
"""
|
3831
3858
|
return pulumi.get(self, "optional_fields")
|
3832
3859
|
|
@@ -20464,6 +20491,521 @@ class InstantSnapshotIamMemberCondition(dict):
|
|
20464
20491
|
return pulumi.get(self, "description")
|
20465
20492
|
|
20466
20493
|
|
20494
|
+
@pulumi.output_type
|
20495
|
+
class InterconnectAttachmentGroupAttachment(dict):
|
20496
|
+
def __init__(__self__, *,
|
20497
|
+
name: builtins.str,
|
20498
|
+
attachment: Optional[builtins.str] = None):
|
20499
|
+
"""
|
20500
|
+
:param builtins.str name: The identifier for this object. Format specified above.
|
20501
|
+
:param builtins.str attachment: (Optional)
|
20502
|
+
"""
|
20503
|
+
pulumi.set(__self__, "name", name)
|
20504
|
+
if attachment is not None:
|
20505
|
+
pulumi.set(__self__, "attachment", attachment)
|
20506
|
+
|
20507
|
+
@property
|
20508
|
+
@pulumi.getter
|
20509
|
+
def name(self) -> builtins.str:
|
20510
|
+
"""
|
20511
|
+
The identifier for this object. Format specified above.
|
20512
|
+
"""
|
20513
|
+
return pulumi.get(self, "name")
|
20514
|
+
|
20515
|
+
@property
|
20516
|
+
@pulumi.getter
|
20517
|
+
def attachment(self) -> Optional[builtins.str]:
|
20518
|
+
"""
|
20519
|
+
(Optional)
|
20520
|
+
"""
|
20521
|
+
return pulumi.get(self, "attachment")
|
20522
|
+
|
20523
|
+
|
20524
|
+
@pulumi.output_type
|
20525
|
+
class InterconnectAttachmentGroupConfigured(dict):
|
20526
|
+
@staticmethod
|
20527
|
+
def __key_warning(key: str):
|
20528
|
+
suggest = None
|
20529
|
+
if key == "availabilitySlas":
|
20530
|
+
suggest = "availability_slas"
|
20531
|
+
|
20532
|
+
if suggest:
|
20533
|
+
pulumi.log.warn(f"Key '{key}' not found in InterconnectAttachmentGroupConfigured. Access the value via the '{suggest}' property getter instead.")
|
20534
|
+
|
20535
|
+
def __getitem__(self, key: str) -> Any:
|
20536
|
+
InterconnectAttachmentGroupConfigured.__key_warning(key)
|
20537
|
+
return super().__getitem__(key)
|
20538
|
+
|
20539
|
+
def get(self, key: str, default = None) -> Any:
|
20540
|
+
InterconnectAttachmentGroupConfigured.__key_warning(key)
|
20541
|
+
return super().get(key, default)
|
20542
|
+
|
20543
|
+
def __init__(__self__, *,
|
20544
|
+
availability_slas: Optional[Sequence['outputs.InterconnectAttachmentGroupConfiguredAvailabilitySla']] = None):
|
20545
|
+
"""
|
20546
|
+
:param Sequence['InterconnectAttachmentGroupConfiguredAvailabilitySlaArgs'] availability_slas: (Output)
|
20547
|
+
Which SLA this group is configured to support, and why this
|
20548
|
+
group does or does not meet that SLA's requirements.
|
20549
|
+
Structure is documented below.
|
20550
|
+
"""
|
20551
|
+
if availability_slas is not None:
|
20552
|
+
pulumi.set(__self__, "availability_slas", availability_slas)
|
20553
|
+
|
20554
|
+
@property
|
20555
|
+
@pulumi.getter(name="availabilitySlas")
|
20556
|
+
def availability_slas(self) -> Optional[Sequence['outputs.InterconnectAttachmentGroupConfiguredAvailabilitySla']]:
|
20557
|
+
"""
|
20558
|
+
(Output)
|
20559
|
+
Which SLA this group is configured to support, and why this
|
20560
|
+
group does or does not meet that SLA's requirements.
|
20561
|
+
Structure is documented below.
|
20562
|
+
"""
|
20563
|
+
return pulumi.get(self, "availability_slas")
|
20564
|
+
|
20565
|
+
|
20566
|
+
@pulumi.output_type
|
20567
|
+
class InterconnectAttachmentGroupConfiguredAvailabilitySla(dict):
|
20568
|
+
@staticmethod
|
20569
|
+
def __key_warning(key: str):
|
20570
|
+
suggest = None
|
20571
|
+
if key == "effectiveSla":
|
20572
|
+
suggest = "effective_sla"
|
20573
|
+
elif key == "intendedSlaBlockers":
|
20574
|
+
suggest = "intended_sla_blockers"
|
20575
|
+
|
20576
|
+
if suggest:
|
20577
|
+
pulumi.log.warn(f"Key '{key}' not found in InterconnectAttachmentGroupConfiguredAvailabilitySla. Access the value via the '{suggest}' property getter instead.")
|
20578
|
+
|
20579
|
+
def __getitem__(self, key: str) -> Any:
|
20580
|
+
InterconnectAttachmentGroupConfiguredAvailabilitySla.__key_warning(key)
|
20581
|
+
return super().__getitem__(key)
|
20582
|
+
|
20583
|
+
def get(self, key: str, default = None) -> Any:
|
20584
|
+
InterconnectAttachmentGroupConfiguredAvailabilitySla.__key_warning(key)
|
20585
|
+
return super().get(key, default)
|
20586
|
+
|
20587
|
+
def __init__(__self__, *,
|
20588
|
+
effective_sla: Optional[builtins.str] = None,
|
20589
|
+
intended_sla_blockers: Optional[Sequence['outputs.InterconnectAttachmentGroupConfiguredAvailabilitySlaIntendedSlaBlocker']] = None):
|
20590
|
+
"""
|
20591
|
+
:param builtins.str effective_sla: (Output)
|
20592
|
+
Which SLA this group supports. Options are the same as the
|
20593
|
+
intent.
|
20594
|
+
:param Sequence['InterconnectAttachmentGroupConfiguredAvailabilitySlaIntendedSlaBlockerArgs'] intended_sla_blockers: (Output)
|
20595
|
+
Reasons why configuration.availabilitySLA.sla differs from
|
20596
|
+
intent.availabilitySLA. This list is empty if and only if those are the
|
20597
|
+
same.
|
20598
|
+
Structure is documented below.
|
20599
|
+
"""
|
20600
|
+
if effective_sla is not None:
|
20601
|
+
pulumi.set(__self__, "effective_sla", effective_sla)
|
20602
|
+
if intended_sla_blockers is not None:
|
20603
|
+
pulumi.set(__self__, "intended_sla_blockers", intended_sla_blockers)
|
20604
|
+
|
20605
|
+
@property
|
20606
|
+
@pulumi.getter(name="effectiveSla")
|
20607
|
+
def effective_sla(self) -> Optional[builtins.str]:
|
20608
|
+
"""
|
20609
|
+
(Output)
|
20610
|
+
Which SLA this group supports. Options are the same as the
|
20611
|
+
intent.
|
20612
|
+
"""
|
20613
|
+
return pulumi.get(self, "effective_sla")
|
20614
|
+
|
20615
|
+
@property
|
20616
|
+
@pulumi.getter(name="intendedSlaBlockers")
|
20617
|
+
def intended_sla_blockers(self) -> Optional[Sequence['outputs.InterconnectAttachmentGroupConfiguredAvailabilitySlaIntendedSlaBlocker']]:
|
20618
|
+
"""
|
20619
|
+
(Output)
|
20620
|
+
Reasons why configuration.availabilitySLA.sla differs from
|
20621
|
+
intent.availabilitySLA. This list is empty if and only if those are the
|
20622
|
+
same.
|
20623
|
+
Structure is documented below.
|
20624
|
+
"""
|
20625
|
+
return pulumi.get(self, "intended_sla_blockers")
|
20626
|
+
|
20627
|
+
|
20628
|
+
@pulumi.output_type
|
20629
|
+
class InterconnectAttachmentGroupConfiguredAvailabilitySlaIntendedSlaBlocker(dict):
|
20630
|
+
@staticmethod
|
20631
|
+
def __key_warning(key: str):
|
20632
|
+
suggest = None
|
20633
|
+
if key == "blockerType":
|
20634
|
+
suggest = "blocker_type"
|
20635
|
+
elif key == "documentationLink":
|
20636
|
+
suggest = "documentation_link"
|
20637
|
+
|
20638
|
+
if suggest:
|
20639
|
+
pulumi.log.warn(f"Key '{key}' not found in InterconnectAttachmentGroupConfiguredAvailabilitySlaIntendedSlaBlocker. Access the value via the '{suggest}' property getter instead.")
|
20640
|
+
|
20641
|
+
def __getitem__(self, key: str) -> Any:
|
20642
|
+
InterconnectAttachmentGroupConfiguredAvailabilitySlaIntendedSlaBlocker.__key_warning(key)
|
20643
|
+
return super().__getitem__(key)
|
20644
|
+
|
20645
|
+
def get(self, key: str, default = None) -> Any:
|
20646
|
+
InterconnectAttachmentGroupConfiguredAvailabilitySlaIntendedSlaBlocker.__key_warning(key)
|
20647
|
+
return super().get(key, default)
|
20648
|
+
|
20649
|
+
def __init__(__self__, *,
|
20650
|
+
attachments: Optional[Sequence[builtins.str]] = None,
|
20651
|
+
blocker_type: Optional[builtins.str] = None,
|
20652
|
+
documentation_link: Optional[builtins.str] = None,
|
20653
|
+
explanation: Optional[builtins.str] = None,
|
20654
|
+
metros: Optional[Sequence[builtins.str]] = None,
|
20655
|
+
regions: Optional[Sequence[builtins.str]] = None,
|
20656
|
+
zones: Optional[Sequence[builtins.str]] = None):
|
20657
|
+
"""
|
20658
|
+
:param Sequence[builtins.str] attachments: (Output)
|
20659
|
+
URLs of any particular Attachments to explain this
|
20660
|
+
blocker in more detail.
|
20661
|
+
:param builtins.str blocker_type: (Output)
|
20662
|
+
The category of an unmet SLA requirement.
|
20663
|
+
:param builtins.str documentation_link: (Output)
|
20664
|
+
The url of Google Cloud public documentation explaining
|
20665
|
+
this requirement. This is set for every type of requirement.
|
20666
|
+
:param builtins.str explanation: (Output)
|
20667
|
+
A human-readable explanation of this requirement and
|
20668
|
+
why it's not met. This is set for every type of requirement.
|
20669
|
+
:param Sequence[builtins.str] metros: (Output)
|
20670
|
+
Metros used to explain this blocker in more detail.
|
20671
|
+
These are three-letter lowercase strings like "iad". This will be set
|
20672
|
+
for some blockers (like NO_ATTACHMENTS_IN_METRO_AND_ZONE) but does
|
20673
|
+
not apply to others.
|
20674
|
+
:param Sequence[builtins.str] regions: (Output)
|
20675
|
+
Regions used to explain this blocker in more
|
20676
|
+
detail. These are region names formatted like "us-central1". This
|
20677
|
+
will be set for some blockers (like INCOMPATIBLE_REGIONS) but does
|
20678
|
+
not apply to others.
|
20679
|
+
:param Sequence[builtins.str] zones: (Output)
|
20680
|
+
Zones used to explain this blocker in more detail.
|
20681
|
+
Format is "zone1" and/or "zone2". This will be set for some blockers
|
20682
|
+
(like MISSING_ZONE) but does not apply to others.
|
20683
|
+
"""
|
20684
|
+
if attachments is not None:
|
20685
|
+
pulumi.set(__self__, "attachments", attachments)
|
20686
|
+
if blocker_type is not None:
|
20687
|
+
pulumi.set(__self__, "blocker_type", blocker_type)
|
20688
|
+
if documentation_link is not None:
|
20689
|
+
pulumi.set(__self__, "documentation_link", documentation_link)
|
20690
|
+
if explanation is not None:
|
20691
|
+
pulumi.set(__self__, "explanation", explanation)
|
20692
|
+
if metros is not None:
|
20693
|
+
pulumi.set(__self__, "metros", metros)
|
20694
|
+
if regions is not None:
|
20695
|
+
pulumi.set(__self__, "regions", regions)
|
20696
|
+
if zones is not None:
|
20697
|
+
pulumi.set(__self__, "zones", zones)
|
20698
|
+
|
20699
|
+
@property
|
20700
|
+
@pulumi.getter
|
20701
|
+
def attachments(self) -> Optional[Sequence[builtins.str]]:
|
20702
|
+
"""
|
20703
|
+
(Output)
|
20704
|
+
URLs of any particular Attachments to explain this
|
20705
|
+
blocker in more detail.
|
20706
|
+
"""
|
20707
|
+
return pulumi.get(self, "attachments")
|
20708
|
+
|
20709
|
+
@property
|
20710
|
+
@pulumi.getter(name="blockerType")
|
20711
|
+
def blocker_type(self) -> Optional[builtins.str]:
|
20712
|
+
"""
|
20713
|
+
(Output)
|
20714
|
+
The category of an unmet SLA requirement.
|
20715
|
+
"""
|
20716
|
+
return pulumi.get(self, "blocker_type")
|
20717
|
+
|
20718
|
+
@property
|
20719
|
+
@pulumi.getter(name="documentationLink")
|
20720
|
+
def documentation_link(self) -> Optional[builtins.str]:
|
20721
|
+
"""
|
20722
|
+
(Output)
|
20723
|
+
The url of Google Cloud public documentation explaining
|
20724
|
+
this requirement. This is set for every type of requirement.
|
20725
|
+
"""
|
20726
|
+
return pulumi.get(self, "documentation_link")
|
20727
|
+
|
20728
|
+
@property
|
20729
|
+
@pulumi.getter
|
20730
|
+
def explanation(self) -> Optional[builtins.str]:
|
20731
|
+
"""
|
20732
|
+
(Output)
|
20733
|
+
A human-readable explanation of this requirement and
|
20734
|
+
why it's not met. This is set for every type of requirement.
|
20735
|
+
"""
|
20736
|
+
return pulumi.get(self, "explanation")
|
20737
|
+
|
20738
|
+
@property
|
20739
|
+
@pulumi.getter
|
20740
|
+
def metros(self) -> Optional[Sequence[builtins.str]]:
|
20741
|
+
"""
|
20742
|
+
(Output)
|
20743
|
+
Metros used to explain this blocker in more detail.
|
20744
|
+
These are three-letter lowercase strings like "iad". This will be set
|
20745
|
+
for some blockers (like NO_ATTACHMENTS_IN_METRO_AND_ZONE) but does
|
20746
|
+
not apply to others.
|
20747
|
+
"""
|
20748
|
+
return pulumi.get(self, "metros")
|
20749
|
+
|
20750
|
+
@property
|
20751
|
+
@pulumi.getter
|
20752
|
+
def regions(self) -> Optional[Sequence[builtins.str]]:
|
20753
|
+
"""
|
20754
|
+
(Output)
|
20755
|
+
Regions used to explain this blocker in more
|
20756
|
+
detail. These are region names formatted like "us-central1". This
|
20757
|
+
will be set for some blockers (like INCOMPATIBLE_REGIONS) but does
|
20758
|
+
not apply to others.
|
20759
|
+
"""
|
20760
|
+
return pulumi.get(self, "regions")
|
20761
|
+
|
20762
|
+
@property
|
20763
|
+
@pulumi.getter
|
20764
|
+
def zones(self) -> Optional[Sequence[builtins.str]]:
|
20765
|
+
"""
|
20766
|
+
(Output)
|
20767
|
+
Zones used to explain this blocker in more detail.
|
20768
|
+
Format is "zone1" and/or "zone2". This will be set for some blockers
|
20769
|
+
(like MISSING_ZONE) but does not apply to others.
|
20770
|
+
"""
|
20771
|
+
return pulumi.get(self, "zones")
|
20772
|
+
|
20773
|
+
|
20774
|
+
@pulumi.output_type
|
20775
|
+
class InterconnectAttachmentGroupIntent(dict):
|
20776
|
+
@staticmethod
|
20777
|
+
def __key_warning(key: str):
|
20778
|
+
suggest = None
|
20779
|
+
if key == "availabilitySla":
|
20780
|
+
suggest = "availability_sla"
|
20781
|
+
|
20782
|
+
if suggest:
|
20783
|
+
pulumi.log.warn(f"Key '{key}' not found in InterconnectAttachmentGroupIntent. Access the value via the '{suggest}' property getter instead.")
|
20784
|
+
|
20785
|
+
def __getitem__(self, key: str) -> Any:
|
20786
|
+
InterconnectAttachmentGroupIntent.__key_warning(key)
|
20787
|
+
return super().__getitem__(key)
|
20788
|
+
|
20789
|
+
def get(self, key: str, default = None) -> Any:
|
20790
|
+
InterconnectAttachmentGroupIntent.__key_warning(key)
|
20791
|
+
return super().get(key, default)
|
20792
|
+
|
20793
|
+
def __init__(__self__, *,
|
20794
|
+
availability_sla: Optional[builtins.str] = None):
|
20795
|
+
"""
|
20796
|
+
:param builtins.str availability_sla: Which SLA the user intends this group to support.
|
20797
|
+
Possible values are: `PRODUCTION_NON_CRITICAL`, `PRODUCTION_CRITICAL`, `NO_SLA`, `AVAILABILITY_SLA_UNSPECIFIED`.
|
20798
|
+
|
20799
|
+
- - -
|
20800
|
+
"""
|
20801
|
+
if availability_sla is not None:
|
20802
|
+
pulumi.set(__self__, "availability_sla", availability_sla)
|
20803
|
+
|
20804
|
+
@property
|
20805
|
+
@pulumi.getter(name="availabilitySla")
|
20806
|
+
def availability_sla(self) -> Optional[builtins.str]:
|
20807
|
+
"""
|
20808
|
+
Which SLA the user intends this group to support.
|
20809
|
+
Possible values are: `PRODUCTION_NON_CRITICAL`, `PRODUCTION_CRITICAL`, `NO_SLA`, `AVAILABILITY_SLA_UNSPECIFIED`.
|
20810
|
+
|
20811
|
+
- - -
|
20812
|
+
"""
|
20813
|
+
return pulumi.get(self, "availability_sla")
|
20814
|
+
|
20815
|
+
|
20816
|
+
@pulumi.output_type
|
20817
|
+
class InterconnectAttachmentGroupLogicalStructure(dict):
|
20818
|
+
def __init__(__self__, *,
|
20819
|
+
regions: Optional[Sequence['outputs.InterconnectAttachmentGroupLogicalStructureRegion']] = None):
|
20820
|
+
"""
|
20821
|
+
:param Sequence['InterconnectAttachmentGroupLogicalStructureRegionArgs'] regions: (Output)
|
20822
|
+
Regions used to explain this blocker in more
|
20823
|
+
detail. These are region names formatted like "us-central1". This
|
20824
|
+
will be set for some blockers (like INCOMPATIBLE_REGIONS) but does
|
20825
|
+
not apply to others.
|
20826
|
+
"""
|
20827
|
+
if regions is not None:
|
20828
|
+
pulumi.set(__self__, "regions", regions)
|
20829
|
+
|
20830
|
+
@property
|
20831
|
+
@pulumi.getter
|
20832
|
+
def regions(self) -> Optional[Sequence['outputs.InterconnectAttachmentGroupLogicalStructureRegion']]:
|
20833
|
+
"""
|
20834
|
+
(Output)
|
20835
|
+
Regions used to explain this blocker in more
|
20836
|
+
detail. These are region names formatted like "us-central1". This
|
20837
|
+
will be set for some blockers (like INCOMPATIBLE_REGIONS) but does
|
20838
|
+
not apply to others.
|
20839
|
+
"""
|
20840
|
+
return pulumi.get(self, "regions")
|
20841
|
+
|
20842
|
+
|
20843
|
+
@pulumi.output_type
|
20844
|
+
class InterconnectAttachmentGroupLogicalStructureRegion(dict):
|
20845
|
+
def __init__(__self__, *,
|
20846
|
+
metros: Optional[Sequence['outputs.InterconnectAttachmentGroupLogicalStructureRegionMetro']] = None,
|
20847
|
+
region: Optional[builtins.str] = None):
|
20848
|
+
"""
|
20849
|
+
:param Sequence['InterconnectAttachmentGroupLogicalStructureRegionMetroArgs'] metros: (Output)
|
20850
|
+
Metros used to explain this blocker in more detail.
|
20851
|
+
These are three-letter lowercase strings like "iad". This will be set
|
20852
|
+
for some blockers (like NO_ATTACHMENTS_IN_METRO_AND_ZONE) but does
|
20853
|
+
not apply to others.
|
20854
|
+
:param builtins.str region: (Output)
|
20855
|
+
The name of a region, like "us-central1".
|
20856
|
+
"""
|
20857
|
+
if metros is not None:
|
20858
|
+
pulumi.set(__self__, "metros", metros)
|
20859
|
+
if region is not None:
|
20860
|
+
pulumi.set(__self__, "region", region)
|
20861
|
+
|
20862
|
+
@property
|
20863
|
+
@pulumi.getter
|
20864
|
+
def metros(self) -> Optional[Sequence['outputs.InterconnectAttachmentGroupLogicalStructureRegionMetro']]:
|
20865
|
+
"""
|
20866
|
+
(Output)
|
20867
|
+
Metros used to explain this blocker in more detail.
|
20868
|
+
These are three-letter lowercase strings like "iad". This will be set
|
20869
|
+
for some blockers (like NO_ATTACHMENTS_IN_METRO_AND_ZONE) but does
|
20870
|
+
not apply to others.
|
20871
|
+
"""
|
20872
|
+
return pulumi.get(self, "metros")
|
20873
|
+
|
20874
|
+
@property
|
20875
|
+
@pulumi.getter
|
20876
|
+
def region(self) -> Optional[builtins.str]:
|
20877
|
+
"""
|
20878
|
+
(Output)
|
20879
|
+
The name of a region, like "us-central1".
|
20880
|
+
"""
|
20881
|
+
return pulumi.get(self, "region")
|
20882
|
+
|
20883
|
+
|
20884
|
+
@pulumi.output_type
|
20885
|
+
class InterconnectAttachmentGroupLogicalStructureRegionMetro(dict):
|
20886
|
+
def __init__(__self__, *,
|
20887
|
+
facilities: Optional[Sequence['outputs.InterconnectAttachmentGroupLogicalStructureRegionMetroFacility']] = None,
|
20888
|
+
metro: Optional[builtins.str] = None):
|
20889
|
+
"""
|
20890
|
+
:param Sequence['InterconnectAttachmentGroupLogicalStructureRegionMetroFacilityArgs'] facilities: (Output)
|
20891
|
+
The facilities used for this group's Attachments'
|
20892
|
+
Interconnects.
|
20893
|
+
Structure is documented below.
|
20894
|
+
:param builtins.str metro: (Output)
|
20895
|
+
The name of the metro, as a three-letter lowercase
|
20896
|
+
string like "iad". This is the first component of the location of an
|
20897
|
+
Interconnect.
|
20898
|
+
"""
|
20899
|
+
if facilities is not None:
|
20900
|
+
pulumi.set(__self__, "facilities", facilities)
|
20901
|
+
if metro is not None:
|
20902
|
+
pulumi.set(__self__, "metro", metro)
|
20903
|
+
|
20904
|
+
@property
|
20905
|
+
@pulumi.getter
|
20906
|
+
def facilities(self) -> Optional[Sequence['outputs.InterconnectAttachmentGroupLogicalStructureRegionMetroFacility']]:
|
20907
|
+
"""
|
20908
|
+
(Output)
|
20909
|
+
The facilities used for this group's Attachments'
|
20910
|
+
Interconnects.
|
20911
|
+
Structure is documented below.
|
20912
|
+
"""
|
20913
|
+
return pulumi.get(self, "facilities")
|
20914
|
+
|
20915
|
+
@property
|
20916
|
+
@pulumi.getter
|
20917
|
+
def metro(self) -> Optional[builtins.str]:
|
20918
|
+
"""
|
20919
|
+
(Output)
|
20920
|
+
The name of the metro, as a three-letter lowercase
|
20921
|
+
string like "iad". This is the first component of the location of an
|
20922
|
+
Interconnect.
|
20923
|
+
"""
|
20924
|
+
return pulumi.get(self, "metro")
|
20925
|
+
|
20926
|
+
|
20927
|
+
@pulumi.output_type
|
20928
|
+
class InterconnectAttachmentGroupLogicalStructureRegionMetroFacility(dict):
|
20929
|
+
def __init__(__self__, *,
|
20930
|
+
facility: Optional[builtins.str] = None,
|
20931
|
+
zones: Optional[Sequence['outputs.InterconnectAttachmentGroupLogicalStructureRegionMetroFacilityZone']] = None):
|
20932
|
+
"""
|
20933
|
+
:param builtins.str facility: (Output)
|
20934
|
+
The name of a facility, like "iad-1234".
|
20935
|
+
:param Sequence['InterconnectAttachmentGroupLogicalStructureRegionMetroFacilityZoneArgs'] zones: (Output)
|
20936
|
+
Zones used to explain this blocker in more detail.
|
20937
|
+
Format is "zone1" and/or "zone2". This will be set for some blockers
|
20938
|
+
(like MISSING_ZONE) but does not apply to others.
|
20939
|
+
"""
|
20940
|
+
if facility is not None:
|
20941
|
+
pulumi.set(__self__, "facility", facility)
|
20942
|
+
if zones is not None:
|
20943
|
+
pulumi.set(__self__, "zones", zones)
|
20944
|
+
|
20945
|
+
@property
|
20946
|
+
@pulumi.getter
|
20947
|
+
def facility(self) -> Optional[builtins.str]:
|
20948
|
+
"""
|
20949
|
+
(Output)
|
20950
|
+
The name of a facility, like "iad-1234".
|
20951
|
+
"""
|
20952
|
+
return pulumi.get(self, "facility")
|
20953
|
+
|
20954
|
+
@property
|
20955
|
+
@pulumi.getter
|
20956
|
+
def zones(self) -> Optional[Sequence['outputs.InterconnectAttachmentGroupLogicalStructureRegionMetroFacilityZone']]:
|
20957
|
+
"""
|
20958
|
+
(Output)
|
20959
|
+
Zones used to explain this blocker in more detail.
|
20960
|
+
Format is "zone1" and/or "zone2". This will be set for some blockers
|
20961
|
+
(like MISSING_ZONE) but does not apply to others.
|
20962
|
+
"""
|
20963
|
+
return pulumi.get(self, "zones")
|
20964
|
+
|
20965
|
+
|
20966
|
+
@pulumi.output_type
|
20967
|
+
class InterconnectAttachmentGroupLogicalStructureRegionMetroFacilityZone(dict):
|
20968
|
+
def __init__(__self__, *,
|
20969
|
+
attachments: Optional[Sequence[builtins.str]] = None,
|
20970
|
+
zone: Optional[builtins.str] = None):
|
20971
|
+
"""
|
20972
|
+
:param Sequence[builtins.str] attachments: (Output)
|
20973
|
+
URLs of Attachments in the given zone, to the given
|
20974
|
+
region, on Interconnects in the given facility and metro. Every
|
20975
|
+
Attachment in the AG has such an entry.
|
20976
|
+
:param builtins.str zone: (Output)
|
20977
|
+
The zones that Attachments in this group are present
|
20978
|
+
in, in the given facilities. This is inherited from their
|
20979
|
+
Interconnects.
|
20980
|
+
"""
|
20981
|
+
if attachments is not None:
|
20982
|
+
pulumi.set(__self__, "attachments", attachments)
|
20983
|
+
if zone is not None:
|
20984
|
+
pulumi.set(__self__, "zone", zone)
|
20985
|
+
|
20986
|
+
@property
|
20987
|
+
@pulumi.getter
|
20988
|
+
def attachments(self) -> Optional[Sequence[builtins.str]]:
|
20989
|
+
"""
|
20990
|
+
(Output)
|
20991
|
+
URLs of Attachments in the given zone, to the given
|
20992
|
+
region, on Interconnects in the given facility and metro. Every
|
20993
|
+
Attachment in the AG has such an entry.
|
20994
|
+
"""
|
20995
|
+
return pulumi.get(self, "attachments")
|
20996
|
+
|
20997
|
+
@property
|
20998
|
+
@pulumi.getter
|
20999
|
+
def zone(self) -> Optional[builtins.str]:
|
21000
|
+
"""
|
21001
|
+
(Output)
|
21002
|
+
The zones that Attachments in this group are present
|
21003
|
+
in, in the given facilities. This is inherited from their
|
21004
|
+
Interconnects.
|
21005
|
+
"""
|
21006
|
+
return pulumi.get(self, "zone")
|
21007
|
+
|
21008
|
+
|
20467
21009
|
@pulumi.output_type
|
20468
21010
|
class InterconnectAttachmentPrivateInterconnectInfo(dict):
|
20469
21011
|
def __init__(__self__, *,
|
@@ -20735,6 +21277,484 @@ class InterconnectExpectedOutage(dict):
|
|
20735
21277
|
return pulumi.get(self, "state")
|
20736
21278
|
|
20737
21279
|
|
21280
|
+
@pulumi.output_type
|
21281
|
+
class InterconnectGroupConfigured(dict):
|
21282
|
+
@staticmethod
|
21283
|
+
def __key_warning(key: str):
|
21284
|
+
suggest = None
|
21285
|
+
if key == "topologyCapabilities":
|
21286
|
+
suggest = "topology_capabilities"
|
21287
|
+
|
21288
|
+
if suggest:
|
21289
|
+
pulumi.log.warn(f"Key '{key}' not found in InterconnectGroupConfigured. Access the value via the '{suggest}' property getter instead.")
|
21290
|
+
|
21291
|
+
def __getitem__(self, key: str) -> Any:
|
21292
|
+
InterconnectGroupConfigured.__key_warning(key)
|
21293
|
+
return super().__getitem__(key)
|
21294
|
+
|
21295
|
+
def get(self, key: str, default = None) -> Any:
|
21296
|
+
InterconnectGroupConfigured.__key_warning(key)
|
21297
|
+
return super().get(key, default)
|
21298
|
+
|
21299
|
+
def __init__(__self__, *,
|
21300
|
+
topology_capabilities: Optional[Sequence['outputs.InterconnectGroupConfiguredTopologyCapability']] = None):
|
21301
|
+
"""
|
21302
|
+
:param Sequence['InterconnectGroupConfiguredTopologyCapabilityArgs'] topology_capabilities: (Output)
|
21303
|
+
How reliable this topology is configured to be, and why
|
21304
|
+
this group does or does not meet the requirements for the intended
|
21305
|
+
capability.
|
21306
|
+
Structure is documented below.
|
21307
|
+
"""
|
21308
|
+
if topology_capabilities is not None:
|
21309
|
+
pulumi.set(__self__, "topology_capabilities", topology_capabilities)
|
21310
|
+
|
21311
|
+
@property
|
21312
|
+
@pulumi.getter(name="topologyCapabilities")
|
21313
|
+
def topology_capabilities(self) -> Optional[Sequence['outputs.InterconnectGroupConfiguredTopologyCapability']]:
|
21314
|
+
"""
|
21315
|
+
(Output)
|
21316
|
+
How reliable this topology is configured to be, and why
|
21317
|
+
this group does or does not meet the requirements for the intended
|
21318
|
+
capability.
|
21319
|
+
Structure is documented below.
|
21320
|
+
"""
|
21321
|
+
return pulumi.get(self, "topology_capabilities")
|
21322
|
+
|
21323
|
+
|
21324
|
+
@pulumi.output_type
|
21325
|
+
class InterconnectGroupConfiguredTopologyCapability(dict):
|
21326
|
+
@staticmethod
|
21327
|
+
def __key_warning(key: str):
|
21328
|
+
suggest = None
|
21329
|
+
if key == "intendedCapabilityBlockers":
|
21330
|
+
suggest = "intended_capability_blockers"
|
21331
|
+
elif key == "supportedSla":
|
21332
|
+
suggest = "supported_sla"
|
21333
|
+
|
21334
|
+
if suggest:
|
21335
|
+
pulumi.log.warn(f"Key '{key}' not found in InterconnectGroupConfiguredTopologyCapability. Access the value via the '{suggest}' property getter instead.")
|
21336
|
+
|
21337
|
+
def __getitem__(self, key: str) -> Any:
|
21338
|
+
InterconnectGroupConfiguredTopologyCapability.__key_warning(key)
|
21339
|
+
return super().__getitem__(key)
|
21340
|
+
|
21341
|
+
def get(self, key: str, default = None) -> Any:
|
21342
|
+
InterconnectGroupConfiguredTopologyCapability.__key_warning(key)
|
21343
|
+
return super().get(key, default)
|
21344
|
+
|
21345
|
+
def __init__(__self__, *,
|
21346
|
+
intended_capability_blockers: Optional[Sequence['outputs.InterconnectGroupConfiguredTopologyCapabilityIntendedCapabilityBlocker']] = None,
|
21347
|
+
supported_sla: Optional[builtins.str] = None):
|
21348
|
+
"""
|
21349
|
+
:param Sequence['InterconnectGroupConfiguredTopologyCapabilityIntendedCapabilityBlockerArgs'] intended_capability_blockers: (Output)
|
21350
|
+
Reasons why configuration.topologyCapability.sla differs
|
21351
|
+
from intent.topologyCapability. This list is empty if and only if those
|
21352
|
+
are the same.
|
21353
|
+
Structure is documented below.
|
21354
|
+
:param builtins.str supported_sla: (Output)
|
21355
|
+
Which level of reliability this group is configured to
|
21356
|
+
support.
|
21357
|
+
"""
|
21358
|
+
if intended_capability_blockers is not None:
|
21359
|
+
pulumi.set(__self__, "intended_capability_blockers", intended_capability_blockers)
|
21360
|
+
if supported_sla is not None:
|
21361
|
+
pulumi.set(__self__, "supported_sla", supported_sla)
|
21362
|
+
|
21363
|
+
@property
|
21364
|
+
@pulumi.getter(name="intendedCapabilityBlockers")
|
21365
|
+
def intended_capability_blockers(self) -> Optional[Sequence['outputs.InterconnectGroupConfiguredTopologyCapabilityIntendedCapabilityBlocker']]:
|
21366
|
+
"""
|
21367
|
+
(Output)
|
21368
|
+
Reasons why configuration.topologyCapability.sla differs
|
21369
|
+
from intent.topologyCapability. This list is empty if and only if those
|
21370
|
+
are the same.
|
21371
|
+
Structure is documented below.
|
21372
|
+
"""
|
21373
|
+
return pulumi.get(self, "intended_capability_blockers")
|
21374
|
+
|
21375
|
+
@property
|
21376
|
+
@pulumi.getter(name="supportedSla")
|
21377
|
+
def supported_sla(self) -> Optional[builtins.str]:
|
21378
|
+
"""
|
21379
|
+
(Output)
|
21380
|
+
Which level of reliability this group is configured to
|
21381
|
+
support.
|
21382
|
+
"""
|
21383
|
+
return pulumi.get(self, "supported_sla")
|
21384
|
+
|
21385
|
+
|
21386
|
+
@pulumi.output_type
|
21387
|
+
class InterconnectGroupConfiguredTopologyCapabilityIntendedCapabilityBlocker(dict):
|
21388
|
+
@staticmethod
|
21389
|
+
def __key_warning(key: str):
|
21390
|
+
suggest = None
|
21391
|
+
if key == "blockerType":
|
21392
|
+
suggest = "blocker_type"
|
21393
|
+
elif key == "documentationLink":
|
21394
|
+
suggest = "documentation_link"
|
21395
|
+
|
21396
|
+
if suggest:
|
21397
|
+
pulumi.log.warn(f"Key '{key}' not found in InterconnectGroupConfiguredTopologyCapabilityIntendedCapabilityBlocker. Access the value via the '{suggest}' property getter instead.")
|
21398
|
+
|
21399
|
+
def __getitem__(self, key: str) -> Any:
|
21400
|
+
InterconnectGroupConfiguredTopologyCapabilityIntendedCapabilityBlocker.__key_warning(key)
|
21401
|
+
return super().__getitem__(key)
|
21402
|
+
|
21403
|
+
def get(self, key: str, default = None) -> Any:
|
21404
|
+
InterconnectGroupConfiguredTopologyCapabilityIntendedCapabilityBlocker.__key_warning(key)
|
21405
|
+
return super().get(key, default)
|
21406
|
+
|
21407
|
+
def __init__(__self__, *,
|
21408
|
+
blocker_type: Optional[builtins.str] = None,
|
21409
|
+
documentation_link: Optional[builtins.str] = None,
|
21410
|
+
explanation: Optional[builtins.str] = None,
|
21411
|
+
facilities: Optional[Sequence[builtins.str]] = None,
|
21412
|
+
interconnects: Optional[Sequence[builtins.str]] = None,
|
21413
|
+
metros: Optional[Sequence[builtins.str]] = None,
|
21414
|
+
zones: Optional[Sequence[builtins.str]] = None):
|
21415
|
+
"""
|
21416
|
+
:param builtins.str blocker_type: (Output)
|
21417
|
+
The category of an unmet SLA requirement. The Intended
|
21418
|
+
SLA Blockers section below explains this field and how it relates to
|
21419
|
+
other fields in intendedCapabilityBlockers.
|
21420
|
+
:param builtins.str documentation_link: (Output)
|
21421
|
+
The url of Google Cloud public documentation explaining
|
21422
|
+
this requirement. This is set for every type of requirement.
|
21423
|
+
:param builtins.str explanation: (Output)
|
21424
|
+
A human-readable explanation of this requirement and
|
21425
|
+
why it's not met. This is set for every type of requirement.
|
21426
|
+
:param Sequence[builtins.str] facilities: (Output)
|
21427
|
+
Facilities used to explain this blocker in more detail.
|
21428
|
+
Like physicalStructure.metros.facilities.facility, this is a numeric
|
21429
|
+
string like "5467".
|
21430
|
+
:param Sequence[builtins.str] interconnects: (Output)
|
21431
|
+
Interconnects used to explain this blocker in more
|
21432
|
+
detail.
|
21433
|
+
:param Sequence[builtins.str] metros: (Output)
|
21434
|
+
Metros used to explain this blocker in more detail.
|
21435
|
+
These are three-letter lowercase strings like "iad". A blocker like
|
21436
|
+
INCOMPATIBLE_METROS will specify the problematic metros in this
|
21437
|
+
field.
|
21438
|
+
:param Sequence[builtins.str] zones: (Output)
|
21439
|
+
Zones used to explain this blocker in more detail.
|
21440
|
+
Zone names are "zone1" and/or "zone2".
|
21441
|
+
"""
|
21442
|
+
if blocker_type is not None:
|
21443
|
+
pulumi.set(__self__, "blocker_type", blocker_type)
|
21444
|
+
if documentation_link is not None:
|
21445
|
+
pulumi.set(__self__, "documentation_link", documentation_link)
|
21446
|
+
if explanation is not None:
|
21447
|
+
pulumi.set(__self__, "explanation", explanation)
|
21448
|
+
if facilities is not None:
|
21449
|
+
pulumi.set(__self__, "facilities", facilities)
|
21450
|
+
if interconnects is not None:
|
21451
|
+
pulumi.set(__self__, "interconnects", interconnects)
|
21452
|
+
if metros is not None:
|
21453
|
+
pulumi.set(__self__, "metros", metros)
|
21454
|
+
if zones is not None:
|
21455
|
+
pulumi.set(__self__, "zones", zones)
|
21456
|
+
|
21457
|
+
@property
|
21458
|
+
@pulumi.getter(name="blockerType")
|
21459
|
+
def blocker_type(self) -> Optional[builtins.str]:
|
21460
|
+
"""
|
21461
|
+
(Output)
|
21462
|
+
The category of an unmet SLA requirement. The Intended
|
21463
|
+
SLA Blockers section below explains this field and how it relates to
|
21464
|
+
other fields in intendedCapabilityBlockers.
|
21465
|
+
"""
|
21466
|
+
return pulumi.get(self, "blocker_type")
|
21467
|
+
|
21468
|
+
@property
|
21469
|
+
@pulumi.getter(name="documentationLink")
|
21470
|
+
def documentation_link(self) -> Optional[builtins.str]:
|
21471
|
+
"""
|
21472
|
+
(Output)
|
21473
|
+
The url of Google Cloud public documentation explaining
|
21474
|
+
this requirement. This is set for every type of requirement.
|
21475
|
+
"""
|
21476
|
+
return pulumi.get(self, "documentation_link")
|
21477
|
+
|
21478
|
+
@property
|
21479
|
+
@pulumi.getter
|
21480
|
+
def explanation(self) -> Optional[builtins.str]:
|
21481
|
+
"""
|
21482
|
+
(Output)
|
21483
|
+
A human-readable explanation of this requirement and
|
21484
|
+
why it's not met. This is set for every type of requirement.
|
21485
|
+
"""
|
21486
|
+
return pulumi.get(self, "explanation")
|
21487
|
+
|
21488
|
+
@property
|
21489
|
+
@pulumi.getter
|
21490
|
+
def facilities(self) -> Optional[Sequence[builtins.str]]:
|
21491
|
+
"""
|
21492
|
+
(Output)
|
21493
|
+
Facilities used to explain this blocker in more detail.
|
21494
|
+
Like physicalStructure.metros.facilities.facility, this is a numeric
|
21495
|
+
string like "5467".
|
21496
|
+
"""
|
21497
|
+
return pulumi.get(self, "facilities")
|
21498
|
+
|
21499
|
+
@property
|
21500
|
+
@pulumi.getter
|
21501
|
+
def interconnects(self) -> Optional[Sequence[builtins.str]]:
|
21502
|
+
"""
|
21503
|
+
(Output)
|
21504
|
+
Interconnects used to explain this blocker in more
|
21505
|
+
detail.
|
21506
|
+
"""
|
21507
|
+
return pulumi.get(self, "interconnects")
|
21508
|
+
|
21509
|
+
@property
|
21510
|
+
@pulumi.getter
|
21511
|
+
def metros(self) -> Optional[Sequence[builtins.str]]:
|
21512
|
+
"""
|
21513
|
+
(Output)
|
21514
|
+
Metros used to explain this blocker in more detail.
|
21515
|
+
These are three-letter lowercase strings like "iad". A blocker like
|
21516
|
+
INCOMPATIBLE_METROS will specify the problematic metros in this
|
21517
|
+
field.
|
21518
|
+
"""
|
21519
|
+
return pulumi.get(self, "metros")
|
21520
|
+
|
21521
|
+
@property
|
21522
|
+
@pulumi.getter
|
21523
|
+
def zones(self) -> Optional[Sequence[builtins.str]]:
|
21524
|
+
"""
|
21525
|
+
(Output)
|
21526
|
+
Zones used to explain this blocker in more detail.
|
21527
|
+
Zone names are "zone1" and/or "zone2".
|
21528
|
+
"""
|
21529
|
+
return pulumi.get(self, "zones")
|
21530
|
+
|
21531
|
+
|
21532
|
+
@pulumi.output_type
|
21533
|
+
class InterconnectGroupIntent(dict):
|
21534
|
+
@staticmethod
|
21535
|
+
def __key_warning(key: str):
|
21536
|
+
suggest = None
|
21537
|
+
if key == "topologyCapability":
|
21538
|
+
suggest = "topology_capability"
|
21539
|
+
|
21540
|
+
if suggest:
|
21541
|
+
pulumi.log.warn(f"Key '{key}' not found in InterconnectGroupIntent. Access the value via the '{suggest}' property getter instead.")
|
21542
|
+
|
21543
|
+
def __getitem__(self, key: str) -> Any:
|
21544
|
+
InterconnectGroupIntent.__key_warning(key)
|
21545
|
+
return super().__getitem__(key)
|
21546
|
+
|
21547
|
+
def get(self, key: str, default = None) -> Any:
|
21548
|
+
InterconnectGroupIntent.__key_warning(key)
|
21549
|
+
return super().get(key, default)
|
21550
|
+
|
21551
|
+
def __init__(__self__, *,
|
21552
|
+
topology_capability: Optional[builtins.str] = None):
|
21553
|
+
"""
|
21554
|
+
:param builtins.str topology_capability: The reliability the user intends this group to be capable of, in terms
|
21555
|
+
of the Interconnect product SLAs.
|
21556
|
+
Possible values are: `PRODUCTION_NON_CRITICAL`, `PRODUCTION_CRITICAL`, `NO_SLA`, `AVAILABILITY_SLA_UNSPECIFIED`.
|
21557
|
+
|
21558
|
+
- - -
|
21559
|
+
"""
|
21560
|
+
if topology_capability is not None:
|
21561
|
+
pulumi.set(__self__, "topology_capability", topology_capability)
|
21562
|
+
|
21563
|
+
@property
|
21564
|
+
@pulumi.getter(name="topologyCapability")
|
21565
|
+
def topology_capability(self) -> Optional[builtins.str]:
|
21566
|
+
"""
|
21567
|
+
The reliability the user intends this group to be capable of, in terms
|
21568
|
+
of the Interconnect product SLAs.
|
21569
|
+
Possible values are: `PRODUCTION_NON_CRITICAL`, `PRODUCTION_CRITICAL`, `NO_SLA`, `AVAILABILITY_SLA_UNSPECIFIED`.
|
21570
|
+
|
21571
|
+
- - -
|
21572
|
+
"""
|
21573
|
+
return pulumi.get(self, "topology_capability")
|
21574
|
+
|
21575
|
+
|
21576
|
+
@pulumi.output_type
|
21577
|
+
class InterconnectGroupInterconnect(dict):
|
21578
|
+
def __init__(__self__, *,
|
21579
|
+
name: builtins.str,
|
21580
|
+
interconnect: Optional[builtins.str] = None):
|
21581
|
+
"""
|
21582
|
+
:param builtins.str name: The identifier for this object. Format specified above.
|
21583
|
+
:param builtins.str interconnect: The URL of an Interconnect in this group. All Interconnects in the group are unique.
|
21584
|
+
"""
|
21585
|
+
pulumi.set(__self__, "name", name)
|
21586
|
+
if interconnect is not None:
|
21587
|
+
pulumi.set(__self__, "interconnect", interconnect)
|
21588
|
+
|
21589
|
+
@property
|
21590
|
+
@pulumi.getter
|
21591
|
+
def name(self) -> builtins.str:
|
21592
|
+
"""
|
21593
|
+
The identifier for this object. Format specified above.
|
21594
|
+
"""
|
21595
|
+
return pulumi.get(self, "name")
|
21596
|
+
|
21597
|
+
@property
|
21598
|
+
@pulumi.getter
|
21599
|
+
def interconnect(self) -> Optional[builtins.str]:
|
21600
|
+
"""
|
21601
|
+
The URL of an Interconnect in this group. All Interconnects in the group are unique.
|
21602
|
+
"""
|
21603
|
+
return pulumi.get(self, "interconnect")
|
21604
|
+
|
21605
|
+
|
21606
|
+
@pulumi.output_type
|
21607
|
+
class InterconnectGroupPhysicalStructure(dict):
|
21608
|
+
def __init__(__self__, *,
|
21609
|
+
metros: Optional[Sequence['outputs.InterconnectGroupPhysicalStructureMetro']] = None):
|
21610
|
+
"""
|
21611
|
+
:param Sequence['InterconnectGroupPhysicalStructureMetroArgs'] metros: (Output)
|
21612
|
+
Metros used to explain this blocker in more detail.
|
21613
|
+
These are three-letter lowercase strings like "iad". A blocker like
|
21614
|
+
INCOMPATIBLE_METROS will specify the problematic metros in this
|
21615
|
+
field.
|
21616
|
+
"""
|
21617
|
+
if metros is not None:
|
21618
|
+
pulumi.set(__self__, "metros", metros)
|
21619
|
+
|
21620
|
+
@property
|
21621
|
+
@pulumi.getter
|
21622
|
+
def metros(self) -> Optional[Sequence['outputs.InterconnectGroupPhysicalStructureMetro']]:
|
21623
|
+
"""
|
21624
|
+
(Output)
|
21625
|
+
Metros used to explain this blocker in more detail.
|
21626
|
+
These are three-letter lowercase strings like "iad". A blocker like
|
21627
|
+
INCOMPATIBLE_METROS will specify the problematic metros in this
|
21628
|
+
field.
|
21629
|
+
"""
|
21630
|
+
return pulumi.get(self, "metros")
|
21631
|
+
|
21632
|
+
|
21633
|
+
@pulumi.output_type
|
21634
|
+
class InterconnectGroupPhysicalStructureMetro(dict):
|
21635
|
+
def __init__(__self__, *,
|
21636
|
+
facilities: Optional[Sequence['outputs.InterconnectGroupPhysicalStructureMetroFacility']] = None,
|
21637
|
+
metro: Optional[builtins.str] = None):
|
21638
|
+
"""
|
21639
|
+
:param Sequence['InterconnectGroupPhysicalStructureMetroFacilityArgs'] facilities: (Output)
|
21640
|
+
Facilities used to explain this blocker in more detail.
|
21641
|
+
Like physicalStructure.metros.facilities.facility, this is a numeric
|
21642
|
+
string like "5467".
|
21643
|
+
:param builtins.str metro: (Output)
|
21644
|
+
The name of the metro, as a three-letter lowercase string
|
21645
|
+
like "iad". This is the first component of the location of
|
21646
|
+
Interconnects underneath this.
|
21647
|
+
"""
|
21648
|
+
if facilities is not None:
|
21649
|
+
pulumi.set(__self__, "facilities", facilities)
|
21650
|
+
if metro is not None:
|
21651
|
+
pulumi.set(__self__, "metro", metro)
|
21652
|
+
|
21653
|
+
@property
|
21654
|
+
@pulumi.getter
|
21655
|
+
def facilities(self) -> Optional[Sequence['outputs.InterconnectGroupPhysicalStructureMetroFacility']]:
|
21656
|
+
"""
|
21657
|
+
(Output)
|
21658
|
+
Facilities used to explain this blocker in more detail.
|
21659
|
+
Like physicalStructure.metros.facilities.facility, this is a numeric
|
21660
|
+
string like "5467".
|
21661
|
+
"""
|
21662
|
+
return pulumi.get(self, "facilities")
|
21663
|
+
|
21664
|
+
@property
|
21665
|
+
@pulumi.getter
|
21666
|
+
def metro(self) -> Optional[builtins.str]:
|
21667
|
+
"""
|
21668
|
+
(Output)
|
21669
|
+
The name of the metro, as a three-letter lowercase string
|
21670
|
+
like "iad". This is the first component of the location of
|
21671
|
+
Interconnects underneath this.
|
21672
|
+
"""
|
21673
|
+
return pulumi.get(self, "metro")
|
21674
|
+
|
21675
|
+
|
21676
|
+
@pulumi.output_type
|
21677
|
+
class InterconnectGroupPhysicalStructureMetroFacility(dict):
|
21678
|
+
def __init__(__self__, *,
|
21679
|
+
facility: Optional[builtins.str] = None,
|
21680
|
+
zones: Optional[Sequence['outputs.InterconnectGroupPhysicalStructureMetroFacilityZone']] = None):
|
21681
|
+
"""
|
21682
|
+
:param builtins.str facility: (Output)
|
21683
|
+
The ID of this facility, as a numeric string like
|
21684
|
+
"5467". This is the third component of the location of Interconnects
|
21685
|
+
in this facility.
|
21686
|
+
:param Sequence['InterconnectGroupPhysicalStructureMetroFacilityZoneArgs'] zones: (Output)
|
21687
|
+
Zones used to explain this blocker in more detail.
|
21688
|
+
Zone names are "zone1" and/or "zone2".
|
21689
|
+
"""
|
21690
|
+
if facility is not None:
|
21691
|
+
pulumi.set(__self__, "facility", facility)
|
21692
|
+
if zones is not None:
|
21693
|
+
pulumi.set(__self__, "zones", zones)
|
21694
|
+
|
21695
|
+
@property
|
21696
|
+
@pulumi.getter
|
21697
|
+
def facility(self) -> Optional[builtins.str]:
|
21698
|
+
"""
|
21699
|
+
(Output)
|
21700
|
+
The ID of this facility, as a numeric string like
|
21701
|
+
"5467". This is the third component of the location of Interconnects
|
21702
|
+
in this facility.
|
21703
|
+
"""
|
21704
|
+
return pulumi.get(self, "facility")
|
21705
|
+
|
21706
|
+
@property
|
21707
|
+
@pulumi.getter
|
21708
|
+
def zones(self) -> Optional[Sequence['outputs.InterconnectGroupPhysicalStructureMetroFacilityZone']]:
|
21709
|
+
"""
|
21710
|
+
(Output)
|
21711
|
+
Zones used to explain this blocker in more detail.
|
21712
|
+
Zone names are "zone1" and/or "zone2".
|
21713
|
+
"""
|
21714
|
+
return pulumi.get(self, "zones")
|
21715
|
+
|
21716
|
+
|
21717
|
+
@pulumi.output_type
|
21718
|
+
class InterconnectGroupPhysicalStructureMetroFacilityZone(dict):
|
21719
|
+
def __init__(__self__, *,
|
21720
|
+
interconnects: Optional[Sequence[builtins.str]] = None,
|
21721
|
+
zone: Optional[builtins.str] = None):
|
21722
|
+
"""
|
21723
|
+
:param Sequence[builtins.str] interconnects: (Output)
|
21724
|
+
Interconnects used to explain this blocker in more
|
21725
|
+
detail.
|
21726
|
+
:param builtins.str zone: (Output)
|
21727
|
+
The name of the zone, either "zone1" or "zone2".
|
21728
|
+
This is the second component of the location of Interconnects in
|
21729
|
+
this facility.
|
21730
|
+
"""
|
21731
|
+
if interconnects is not None:
|
21732
|
+
pulumi.set(__self__, "interconnects", interconnects)
|
21733
|
+
if zone is not None:
|
21734
|
+
pulumi.set(__self__, "zone", zone)
|
21735
|
+
|
21736
|
+
@property
|
21737
|
+
@pulumi.getter
|
21738
|
+
def interconnects(self) -> Optional[Sequence[builtins.str]]:
|
21739
|
+
"""
|
21740
|
+
(Output)
|
21741
|
+
Interconnects used to explain this blocker in more
|
21742
|
+
detail.
|
21743
|
+
"""
|
21744
|
+
return pulumi.get(self, "interconnects")
|
21745
|
+
|
21746
|
+
@property
|
21747
|
+
@pulumi.getter
|
21748
|
+
def zone(self) -> Optional[builtins.str]:
|
21749
|
+
"""
|
21750
|
+
(Output)
|
21751
|
+
The name of the zone, either "zone1" or "zone2".
|
21752
|
+
This is the second component of the location of Interconnects in
|
21753
|
+
this facility.
|
21754
|
+
"""
|
21755
|
+
return pulumi.get(self, "zone")
|
21756
|
+
|
21757
|
+
|
20738
21758
|
@pulumi.output_type
|
20739
21759
|
class InterconnectMacsec(dict):
|
20740
21760
|
@staticmethod
|
@@ -43770,6 +44790,26 @@ class RouterNatLogConfig(dict):
|
|
43770
44790
|
return pulumi.get(self, "filter")
|
43771
44791
|
|
43772
44792
|
|
44793
|
+
@pulumi.output_type
|
44794
|
+
class RouterNatNat64Subnetwork(dict):
|
44795
|
+
def __init__(__self__, *,
|
44796
|
+
name: builtins.str):
|
44797
|
+
"""
|
44798
|
+
:param builtins.str name: Name of the NAT service. The name must be 1-63 characters long and
|
44799
|
+
comply with RFC1035.
|
44800
|
+
"""
|
44801
|
+
pulumi.set(__self__, "name", name)
|
44802
|
+
|
44803
|
+
@property
|
44804
|
+
@pulumi.getter
|
44805
|
+
def name(self) -> builtins.str:
|
44806
|
+
"""
|
44807
|
+
Name of the NAT service. The name must be 1-63 characters long and
|
44808
|
+
comply with RFC1035.
|
44809
|
+
"""
|
44810
|
+
return pulumi.get(self, "name")
|
44811
|
+
|
44812
|
+
|
43773
44813
|
@pulumi.output_type
|
43774
44814
|
class RouterNatRule(dict):
|
43775
44815
|
@staticmethod
|
@@ -43978,7 +45018,7 @@ class RouterNatSubnetwork(dict):
|
|
43978
45018
|
source_ip_ranges_to_nats: Sequence[builtins.str],
|
43979
45019
|
secondary_ip_range_names: Optional[Sequence[builtins.str]] = None):
|
43980
45020
|
"""
|
43981
|
-
:param builtins.str name: Self-link of subnetwork
|
45021
|
+
:param builtins.str name: Self-link of the subnetwork resource that will use NAT64
|
43982
45022
|
:param Sequence[builtins.str] source_ip_ranges_to_nats: List of options for which source IPs in the subnetwork
|
43983
45023
|
should have NAT enabled. Supported values include:
|
43984
45024
|
`ALL_IP_RANGES`, `LIST_OF_SECONDARY_IP_RANGES`,
|
@@ -43987,6 +45027,8 @@ class RouterNatSubnetwork(dict):
|
|
43987
45027
|
to use NAT. This can be populated only if
|
43988
45028
|
`LIST_OF_SECONDARY_IP_RANGES` is one of the values in
|
43989
45029
|
sourceIpRangesToNat
|
45030
|
+
|
45031
|
+
<a name="nested_nat64_subnetwork"></a>The `nat64_subnetwork` block supports:
|
43990
45032
|
"""
|
43991
45033
|
pulumi.set(__self__, "name", name)
|
43992
45034
|
pulumi.set(__self__, "source_ip_ranges_to_nats", source_ip_ranges_to_nats)
|
@@ -43997,7 +45039,7 @@ class RouterNatSubnetwork(dict):
|
|
43997
45039
|
@pulumi.getter
|
43998
45040
|
def name(self) -> builtins.str:
|
43999
45041
|
"""
|
44000
|
-
Self-link of subnetwork
|
45042
|
+
Self-link of the subnetwork resource that will use NAT64
|
44001
45043
|
"""
|
44002
45044
|
return pulumi.get(self, "name")
|
44003
45045
|
|
@@ -44020,6 +45062,8 @@ class RouterNatSubnetwork(dict):
|
|
44020
45062
|
to use NAT. This can be populated only if
|
44021
45063
|
`LIST_OF_SECONDARY_IP_RANGES` is one of the values in
|
44022
45064
|
sourceIpRangesToNat
|
45065
|
+
|
45066
|
+
<a name="nested_nat64_subnetwork"></a>The `nat64_subnetwork` block supports:
|
44023
45067
|
"""
|
44024
45068
|
return pulumi.get(self, "secondary_ip_range_names")
|
44025
45069
|
|
@@ -47516,6 +48560,79 @@ class SnapshotIamMemberCondition(dict):
|
|
47516
48560
|
return pulumi.get(self, "description")
|
47517
48561
|
|
47518
48562
|
|
48563
|
+
@pulumi.output_type
|
48564
|
+
class SnapshotSettingsStorageLocation(dict):
|
48565
|
+
def __init__(__self__, *,
|
48566
|
+
policy: builtins.str,
|
48567
|
+
locations: Optional[Sequence['outputs.SnapshotSettingsStorageLocationLocation']] = None):
|
48568
|
+
"""
|
48569
|
+
:param builtins.str policy: The chosen location policy
|
48570
|
+
Possible values are: `NEAREST_MULTI_REGION`, `LOCAL_REGION`, `SPECIFIC_LOCATIONS`.
|
48571
|
+
:param Sequence['SnapshotSettingsStorageLocationLocationArgs'] locations: When the policy is SPECIFIC_LOCATIONS, snapshots will be stored in the
|
48572
|
+
locations listed in this field. Keys are Cloud Storage bucket locations.
|
48573
|
+
Only one location can be specified.
|
48574
|
+
Structure is documented below.
|
48575
|
+
"""
|
48576
|
+
pulumi.set(__self__, "policy", policy)
|
48577
|
+
if locations is not None:
|
48578
|
+
pulumi.set(__self__, "locations", locations)
|
48579
|
+
|
48580
|
+
@property
|
48581
|
+
@pulumi.getter
|
48582
|
+
def policy(self) -> builtins.str:
|
48583
|
+
"""
|
48584
|
+
The chosen location policy
|
48585
|
+
Possible values are: `NEAREST_MULTI_REGION`, `LOCAL_REGION`, `SPECIFIC_LOCATIONS`.
|
48586
|
+
"""
|
48587
|
+
return pulumi.get(self, "policy")
|
48588
|
+
|
48589
|
+
@property
|
48590
|
+
@pulumi.getter
|
48591
|
+
def locations(self) -> Optional[Sequence['outputs.SnapshotSettingsStorageLocationLocation']]:
|
48592
|
+
"""
|
48593
|
+
When the policy is SPECIFIC_LOCATIONS, snapshots will be stored in the
|
48594
|
+
locations listed in this field. Keys are Cloud Storage bucket locations.
|
48595
|
+
Only one location can be specified.
|
48596
|
+
Structure is documented below.
|
48597
|
+
"""
|
48598
|
+
return pulumi.get(self, "locations")
|
48599
|
+
|
48600
|
+
|
48601
|
+
@pulumi.output_type
|
48602
|
+
class SnapshotSettingsStorageLocationLocation(dict):
|
48603
|
+
def __init__(__self__, *,
|
48604
|
+
location: builtins.str,
|
48605
|
+
name: builtins.str):
|
48606
|
+
"""
|
48607
|
+
:param builtins.str location: The identifier for this object. Format specified above.
|
48608
|
+
:param builtins.str name: Name of the location. It should be one of the Cloud Storage buckets.
|
48609
|
+
Only one location can be specified. (should match location)
|
48610
|
+
|
48611
|
+
- - -
|
48612
|
+
"""
|
48613
|
+
pulumi.set(__self__, "location", location)
|
48614
|
+
pulumi.set(__self__, "name", name)
|
48615
|
+
|
48616
|
+
@property
|
48617
|
+
@pulumi.getter
|
48618
|
+
def location(self) -> builtins.str:
|
48619
|
+
"""
|
48620
|
+
The identifier for this object. Format specified above.
|
48621
|
+
"""
|
48622
|
+
return pulumi.get(self, "location")
|
48623
|
+
|
48624
|
+
@property
|
48625
|
+
@pulumi.getter
|
48626
|
+
def name(self) -> builtins.str:
|
48627
|
+
"""
|
48628
|
+
Name of the location. It should be one of the Cloud Storage buckets.
|
48629
|
+
Only one location can be specified. (should match location)
|
48630
|
+
|
48631
|
+
- - -
|
48632
|
+
"""
|
48633
|
+
return pulumi.get(self, "name")
|
48634
|
+
|
48635
|
+
|
47519
48636
|
@pulumi.output_type
|
47520
48637
|
class SnapshotSnapshotEncryptionKey(dict):
|
47521
48638
|
@staticmethod
|
@@ -53478,6 +54595,10 @@ class URLMapPathMatcherRouteRule(dict):
|
|
53478
54595
|
suggest = "custom_error_response_policy"
|
53479
54596
|
elif key == "headerAction":
|
53480
54597
|
suggest = "header_action"
|
54598
|
+
elif key == "httpFilterConfigs":
|
54599
|
+
suggest = "http_filter_configs"
|
54600
|
+
elif key == "httpFilterMetadatas":
|
54601
|
+
suggest = "http_filter_metadatas"
|
53481
54602
|
elif key == "matchRules":
|
53482
54603
|
suggest = "match_rules"
|
53483
54604
|
elif key == "routeAction":
|
@@ -53500,6 +54621,8 @@ class URLMapPathMatcherRouteRule(dict):
|
|
53500
54621
|
priority: builtins.int,
|
53501
54622
|
custom_error_response_policy: Optional['outputs.URLMapPathMatcherRouteRuleCustomErrorResponsePolicy'] = None,
|
53502
54623
|
header_action: Optional['outputs.URLMapPathMatcherRouteRuleHeaderAction'] = None,
|
54624
|
+
http_filter_configs: Optional[Sequence['outputs.URLMapPathMatcherRouteRuleHttpFilterConfig']] = None,
|
54625
|
+
http_filter_metadatas: Optional[Sequence['outputs.URLMapPathMatcherRouteRuleHttpFilterMetadata']] = None,
|
53503
54626
|
match_rules: Optional[Sequence['outputs.URLMapPathMatcherRouteRuleMatchRule']] = None,
|
53504
54627
|
route_action: Optional['outputs.URLMapPathMatcherRouteRuleRouteAction'] = None,
|
53505
54628
|
service: Optional[builtins.str] = None,
|
@@ -53525,6 +54648,16 @@ class URLMapPathMatcherRouteRule(dict):
|
|
53525
54648
|
the matching pathMatchers[].headerAction and after pathMatchers[].routeRules[].r
|
53526
54649
|
outeAction.weightedBackendService.backendServiceWeightAction[].headerAction
|
53527
54650
|
Structure is documented below.
|
54651
|
+
:param Sequence['URLMapPathMatcherRouteRuleHttpFilterConfigArgs'] http_filter_configs: Outbound route specific configuration for networkservices.HttpFilter resources enabled by Traffic Director.
|
54652
|
+
httpFilterConfigs only applies for load balancers with loadBalancingScheme set to INTERNAL_SELF_MANAGED.
|
54653
|
+
See ForwardingRule for more details.
|
54654
|
+
Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true.
|
54655
|
+
Structure is documented below.
|
54656
|
+
:param Sequence['URLMapPathMatcherRouteRuleHttpFilterMetadataArgs'] http_filter_metadatas: Outbound route specific metadata supplied to networkservices.HttpFilter resources enabled by Traffic Director.
|
54657
|
+
httpFilterMetadata only applies for load balancers with loadBalancingScheme set to INTERNAL_SELF_MANAGED.
|
54658
|
+
See ForwardingRule for more details.
|
54659
|
+
Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true.
|
54660
|
+
Structure is documented below.
|
53528
54661
|
:param Sequence['URLMapPathMatcherRouteRuleMatchRuleArgs'] match_rules: The rules for determining a match.
|
53529
54662
|
Structure is documented below.
|
53530
54663
|
:param 'URLMapPathMatcherRouteRuleRouteActionArgs' route_action: In response to a matching matchRule, the load balancer performs advanced routing
|
@@ -53551,6 +54684,10 @@ class URLMapPathMatcherRouteRule(dict):
|
|
53551
54684
|
pulumi.set(__self__, "custom_error_response_policy", custom_error_response_policy)
|
53552
54685
|
if header_action is not None:
|
53553
54686
|
pulumi.set(__self__, "header_action", header_action)
|
54687
|
+
if http_filter_configs is not None:
|
54688
|
+
pulumi.set(__self__, "http_filter_configs", http_filter_configs)
|
54689
|
+
if http_filter_metadatas is not None:
|
54690
|
+
pulumi.set(__self__, "http_filter_metadatas", http_filter_metadatas)
|
53554
54691
|
if match_rules is not None:
|
53555
54692
|
pulumi.set(__self__, "match_rules", match_rules)
|
53556
54693
|
if route_action is not None:
|
@@ -53601,6 +54738,30 @@ class URLMapPathMatcherRouteRule(dict):
|
|
53601
54738
|
"""
|
53602
54739
|
return pulumi.get(self, "header_action")
|
53603
54740
|
|
54741
|
+
@property
|
54742
|
+
@pulumi.getter(name="httpFilterConfigs")
|
54743
|
+
def http_filter_configs(self) -> Optional[Sequence['outputs.URLMapPathMatcherRouteRuleHttpFilterConfig']]:
|
54744
|
+
"""
|
54745
|
+
Outbound route specific configuration for networkservices.HttpFilter resources enabled by Traffic Director.
|
54746
|
+
httpFilterConfigs only applies for load balancers with loadBalancingScheme set to INTERNAL_SELF_MANAGED.
|
54747
|
+
See ForwardingRule for more details.
|
54748
|
+
Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true.
|
54749
|
+
Structure is documented below.
|
54750
|
+
"""
|
54751
|
+
return pulumi.get(self, "http_filter_configs")
|
54752
|
+
|
54753
|
+
@property
|
54754
|
+
@pulumi.getter(name="httpFilterMetadatas")
|
54755
|
+
def http_filter_metadatas(self) -> Optional[Sequence['outputs.URLMapPathMatcherRouteRuleHttpFilterMetadata']]:
|
54756
|
+
"""
|
54757
|
+
Outbound route specific metadata supplied to networkservices.HttpFilter resources enabled by Traffic Director.
|
54758
|
+
httpFilterMetadata only applies for load balancers with loadBalancingScheme set to INTERNAL_SELF_MANAGED.
|
54759
|
+
See ForwardingRule for more details.
|
54760
|
+
Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true.
|
54761
|
+
Structure is documented below.
|
54762
|
+
"""
|
54763
|
+
return pulumi.get(self, "http_filter_metadatas")
|
54764
|
+
|
53604
54765
|
@property
|
53605
54766
|
@pulumi.getter(name="matchRules")
|
53606
54767
|
def match_rules(self) -> Optional[Sequence['outputs.URLMapPathMatcherRouteRuleMatchRule']]:
|
@@ -54004,6 +55165,142 @@ class URLMapPathMatcherRouteRuleHeaderActionResponseHeadersToAdd(dict):
|
|
54004
55165
|
return pulumi.get(self, "replace")
|
54005
55166
|
|
54006
55167
|
|
55168
|
+
@pulumi.output_type
|
55169
|
+
class URLMapPathMatcherRouteRuleHttpFilterConfig(dict):
|
55170
|
+
@staticmethod
|
55171
|
+
def __key_warning(key: str):
|
55172
|
+
suggest = None
|
55173
|
+
if key == "configTypeUrl":
|
55174
|
+
suggest = "config_type_url"
|
55175
|
+
elif key == "filterName":
|
55176
|
+
suggest = "filter_name"
|
55177
|
+
|
55178
|
+
if suggest:
|
55179
|
+
pulumi.log.warn(f"Key '{key}' not found in URLMapPathMatcherRouteRuleHttpFilterConfig. Access the value via the '{suggest}' property getter instead.")
|
55180
|
+
|
55181
|
+
def __getitem__(self, key: str) -> Any:
|
55182
|
+
URLMapPathMatcherRouteRuleHttpFilterConfig.__key_warning(key)
|
55183
|
+
return super().__getitem__(key)
|
55184
|
+
|
55185
|
+
def get(self, key: str, default = None) -> Any:
|
55186
|
+
URLMapPathMatcherRouteRuleHttpFilterConfig.__key_warning(key)
|
55187
|
+
return super().get(key, default)
|
55188
|
+
|
55189
|
+
def __init__(__self__, *,
|
55190
|
+
config: Optional[builtins.str] = None,
|
55191
|
+
config_type_url: Optional[builtins.str] = None,
|
55192
|
+
filter_name: Optional[builtins.str] = None):
|
55193
|
+
"""
|
55194
|
+
:param builtins.str config: The configuration needed to enable the networkservices.HttpFilter resource.
|
55195
|
+
The configuration must be YAML formatted and only contain fields defined in the protobuf identified in configTypeUrl
|
55196
|
+
:param builtins.str config_type_url: The fully qualified versioned proto3 type url of the protobuf that the filter expects for its contextual settings,
|
55197
|
+
for example: type.googleapis.com/google.protobuf.Struct
|
55198
|
+
:param builtins.str filter_name: Name of the networkservices.HttpFilter resource this configuration belongs to.
|
55199
|
+
This name must be known to the xDS client. Example: envoy.wasm
|
55200
|
+
"""
|
55201
|
+
if config is not None:
|
55202
|
+
pulumi.set(__self__, "config", config)
|
55203
|
+
if config_type_url is not None:
|
55204
|
+
pulumi.set(__self__, "config_type_url", config_type_url)
|
55205
|
+
if filter_name is not None:
|
55206
|
+
pulumi.set(__self__, "filter_name", filter_name)
|
55207
|
+
|
55208
|
+
@property
|
55209
|
+
@pulumi.getter
|
55210
|
+
def config(self) -> Optional[builtins.str]:
|
55211
|
+
"""
|
55212
|
+
The configuration needed to enable the networkservices.HttpFilter resource.
|
55213
|
+
The configuration must be YAML formatted and only contain fields defined in the protobuf identified in configTypeUrl
|
55214
|
+
"""
|
55215
|
+
return pulumi.get(self, "config")
|
55216
|
+
|
55217
|
+
@property
|
55218
|
+
@pulumi.getter(name="configTypeUrl")
|
55219
|
+
def config_type_url(self) -> Optional[builtins.str]:
|
55220
|
+
"""
|
55221
|
+
The fully qualified versioned proto3 type url of the protobuf that the filter expects for its contextual settings,
|
55222
|
+
for example: type.googleapis.com/google.protobuf.Struct
|
55223
|
+
"""
|
55224
|
+
return pulumi.get(self, "config_type_url")
|
55225
|
+
|
55226
|
+
@property
|
55227
|
+
@pulumi.getter(name="filterName")
|
55228
|
+
def filter_name(self) -> Optional[builtins.str]:
|
55229
|
+
"""
|
55230
|
+
Name of the networkservices.HttpFilter resource this configuration belongs to.
|
55231
|
+
This name must be known to the xDS client. Example: envoy.wasm
|
55232
|
+
"""
|
55233
|
+
return pulumi.get(self, "filter_name")
|
55234
|
+
|
55235
|
+
|
55236
|
+
@pulumi.output_type
|
55237
|
+
class URLMapPathMatcherRouteRuleHttpFilterMetadata(dict):
|
55238
|
+
@staticmethod
|
55239
|
+
def __key_warning(key: str):
|
55240
|
+
suggest = None
|
55241
|
+
if key == "configTypeUrl":
|
55242
|
+
suggest = "config_type_url"
|
55243
|
+
elif key == "filterName":
|
55244
|
+
suggest = "filter_name"
|
55245
|
+
|
55246
|
+
if suggest:
|
55247
|
+
pulumi.log.warn(f"Key '{key}' not found in URLMapPathMatcherRouteRuleHttpFilterMetadata. Access the value via the '{suggest}' property getter instead.")
|
55248
|
+
|
55249
|
+
def __getitem__(self, key: str) -> Any:
|
55250
|
+
URLMapPathMatcherRouteRuleHttpFilterMetadata.__key_warning(key)
|
55251
|
+
return super().__getitem__(key)
|
55252
|
+
|
55253
|
+
def get(self, key: str, default = None) -> Any:
|
55254
|
+
URLMapPathMatcherRouteRuleHttpFilterMetadata.__key_warning(key)
|
55255
|
+
return super().get(key, default)
|
55256
|
+
|
55257
|
+
def __init__(__self__, *,
|
55258
|
+
config: Optional[builtins.str] = None,
|
55259
|
+
config_type_url: Optional[builtins.str] = None,
|
55260
|
+
filter_name: Optional[builtins.str] = None):
|
55261
|
+
"""
|
55262
|
+
:param builtins.str config: The configuration needed to enable the networkservices.HttpFilter resource.
|
55263
|
+
The configuration must be YAML formatted and only contain fields defined in the protobuf identified in configTypeUrl
|
55264
|
+
:param builtins.str config_type_url: The fully qualified versioned proto3 type url of the protobuf that the filter expects for its contextual settings,
|
55265
|
+
for example: type.googleapis.com/google.protobuf.Struct
|
55266
|
+
:param builtins.str filter_name: Name of the networkservices.HttpFilter resource this configuration belongs to.
|
55267
|
+
This name must be known to the xDS client. Example: envoy.wasm
|
55268
|
+
"""
|
55269
|
+
if config is not None:
|
55270
|
+
pulumi.set(__self__, "config", config)
|
55271
|
+
if config_type_url is not None:
|
55272
|
+
pulumi.set(__self__, "config_type_url", config_type_url)
|
55273
|
+
if filter_name is not None:
|
55274
|
+
pulumi.set(__self__, "filter_name", filter_name)
|
55275
|
+
|
55276
|
+
@property
|
55277
|
+
@pulumi.getter
|
55278
|
+
def config(self) -> Optional[builtins.str]:
|
55279
|
+
"""
|
55280
|
+
The configuration needed to enable the networkservices.HttpFilter resource.
|
55281
|
+
The configuration must be YAML formatted and only contain fields defined in the protobuf identified in configTypeUrl
|
55282
|
+
"""
|
55283
|
+
return pulumi.get(self, "config")
|
55284
|
+
|
55285
|
+
@property
|
55286
|
+
@pulumi.getter(name="configTypeUrl")
|
55287
|
+
def config_type_url(self) -> Optional[builtins.str]:
|
55288
|
+
"""
|
55289
|
+
The fully qualified versioned proto3 type url of the protobuf that the filter expects for its contextual settings,
|
55290
|
+
for example: type.googleapis.com/google.protobuf.Struct
|
55291
|
+
"""
|
55292
|
+
return pulumi.get(self, "config_type_url")
|
55293
|
+
|
55294
|
+
@property
|
55295
|
+
@pulumi.getter(name="filterName")
|
55296
|
+
def filter_name(self) -> Optional[builtins.str]:
|
55297
|
+
"""
|
55298
|
+
Name of the networkservices.HttpFilter resource this configuration belongs to.
|
55299
|
+
This name must be known to the xDS client. Example: envoy.wasm
|
55300
|
+
"""
|
55301
|
+
return pulumi.get(self, "filter_name")
|
55302
|
+
|
55303
|
+
|
54007
55304
|
@pulumi.output_type
|
54008
55305
|
class URLMapPathMatcherRouteRuleMatchRule(dict):
|
54009
55306
|
@staticmethod
|
@@ -57423,6 +58720,7 @@ class GetBackendServiceLogConfigResult(dict):
|
|
57423
58720
|
:param Sequence[builtins.str] optional_fields: This field can only be specified if logging is enabled for this backend service and "logConfig.optionalMode"
|
57424
58721
|
was set to CUSTOM. Contains a list of optional fields you want to include in the logs.
|
57425
58722
|
For example: serverInstance, serverGkeDetails.cluster, serverGkeDetails.pod.podNamespace
|
58723
|
+
For example: orca_load_report, tls.protocol
|
57426
58724
|
:param builtins.str optional_mode: Specifies the optional logging mode for the load balancer traffic.
|
57427
58725
|
Supported values: INCLUDE_ALL_OPTIONAL, EXCLUDE_ALL_OPTIONAL, CUSTOM. Possible values: ["INCLUDE_ALL_OPTIONAL", "EXCLUDE_ALL_OPTIONAL", "CUSTOM"]
|
57428
58726
|
:param builtins.float sample_rate: This field can only be specified if logging is enabled for this backend service. The value of
|
@@ -57450,6 +58748,7 @@ class GetBackendServiceLogConfigResult(dict):
|
|
57450
58748
|
This field can only be specified if logging is enabled for this backend service and "logConfig.optionalMode"
|
57451
58749
|
was set to CUSTOM. Contains a list of optional fields you want to include in the logs.
|
57452
58750
|
For example: serverInstance, serverGkeDetails.cluster, serverGkeDetails.pod.podNamespace
|
58751
|
+
For example: orca_load_report, tls.protocol
|
57453
58752
|
"""
|
57454
58753
|
return pulumi.get(self, "optional_fields")
|
57455
58754
|
|
@@ -69472,6 +70771,26 @@ class GetRouterNatLogConfigResult(dict):
|
|
69472
70771
|
return pulumi.get(self, "filter")
|
69473
70772
|
|
69474
70773
|
|
70774
|
+
@pulumi.output_type
|
70775
|
+
class GetRouterNatNat64SubnetworkResult(dict):
|
70776
|
+
def __init__(__self__, *,
|
70777
|
+
name: builtins.str):
|
70778
|
+
"""
|
70779
|
+
:param builtins.str name: Name of the NAT service. The name must be 1-63 characters long and
|
70780
|
+
comply with RFC1035.
|
70781
|
+
"""
|
70782
|
+
pulumi.set(__self__, "name", name)
|
70783
|
+
|
70784
|
+
@property
|
70785
|
+
@pulumi.getter
|
70786
|
+
def name(self) -> builtins.str:
|
70787
|
+
"""
|
70788
|
+
Name of the NAT service. The name must be 1-63 characters long and
|
70789
|
+
comply with RFC1035.
|
70790
|
+
"""
|
70791
|
+
return pulumi.get(self, "name")
|
70792
|
+
|
70793
|
+
|
69475
70794
|
@pulumi.output_type
|
69476
70795
|
class GetRouterNatRuleResult(dict):
|
69477
70796
|
def __init__(__self__, *,
|