pulumi-gcp 8.24.0a1743057423__py3-none-any.whl → 8.25.0a1743489606__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 (55) hide show
  1. pulumi_gcp/__init__.py +27 -0
  2. pulumi_gcp/bigquery/_inputs.py +158 -0
  3. pulumi_gcp/bigquery/outputs.py +115 -0
  4. pulumi_gcp/bigquery/reservation.py +189 -1
  5. pulumi_gcp/bigqueryanalyticshub/listing_subscription.py +11 -7
  6. pulumi_gcp/chronicle/data_access_label.py +16 -0
  7. pulumi_gcp/cloudrunv2/service.py +14 -14
  8. pulumi_gcp/compute/__init__.py +1 -0
  9. pulumi_gcp/compute/_inputs.py +616 -18
  10. pulumi_gcp/compute/get_images.py +172 -0
  11. pulumi_gcp/compute/get_resource_policy.py +15 -4
  12. pulumi_gcp/compute/image.py +54 -0
  13. pulumi_gcp/compute/interconnect.py +14 -7
  14. pulumi_gcp/compute/outputs.py +710 -18
  15. pulumi_gcp/compute/resource_policy.py +169 -3
  16. pulumi_gcp/compute/router_route_policy.py +16 -0
  17. pulumi_gcp/config/__init__.pyi +6 -0
  18. pulumi_gcp/config/vars.py +12 -0
  19. pulumi_gcp/container/_inputs.py +262 -1
  20. pulumi_gcp/container/cluster.py +54 -0
  21. pulumi_gcp/container/get_cluster.py +12 -1
  22. pulumi_gcp/container/outputs.py +297 -2
  23. pulumi_gcp/dataproc/_inputs.py +23 -0
  24. pulumi_gcp/dataproc/outputs.py +27 -0
  25. pulumi_gcp/lustre/__init__.py +8 -0
  26. pulumi_gcp/lustre/instance.py +983 -0
  27. pulumi_gcp/memorystore/_inputs.py +419 -0
  28. pulumi_gcp/memorystore/get_instance.py +23 -1
  29. pulumi_gcp/memorystore/instance.py +137 -7
  30. pulumi_gcp/memorystore/outputs.py +544 -0
  31. pulumi_gcp/networkmanagement/_inputs.py +422 -91
  32. pulumi_gcp/networkmanagement/connectivity_test.py +233 -211
  33. pulumi_gcp/networkmanagement/outputs.py +280 -61
  34. pulumi_gcp/networksecurity/_inputs.py +392 -0
  35. pulumi_gcp/networksecurity/intercept_deployment_group.py +44 -16
  36. pulumi_gcp/networksecurity/intercept_endpoint_group.py +90 -36
  37. pulumi_gcp/networksecurity/intercept_endpoint_group_association.py +53 -8
  38. pulumi_gcp/networksecurity/outputs.py +240 -0
  39. pulumi_gcp/organizations/__init__.py +1 -0
  40. pulumi_gcp/organizations/get_iam_custom_role.py +198 -0
  41. pulumi_gcp/osconfig/__init__.py +1 -0
  42. pulumi_gcp/osconfig/_inputs.py +5413 -0
  43. pulumi_gcp/osconfig/outputs.py +3962 -0
  44. pulumi_gcp/osconfig/v2_policy_orchestrator.py +971 -0
  45. pulumi_gcp/provider.py +60 -0
  46. pulumi_gcp/pulumi-plugin.json +1 -1
  47. pulumi_gcp/storage/__init__.py +2 -0
  48. pulumi_gcp/storage/_inputs.py +726 -0
  49. pulumi_gcp/storage/control_project_intelligence_config.py +366 -0
  50. pulumi_gcp/storage/get_control_project_intelligence_config.py +130 -0
  51. pulumi_gcp/storage/outputs.py +716 -0
  52. {pulumi_gcp-8.24.0a1743057423.dist-info → pulumi_gcp-8.25.0a1743489606.dist-info}/METADATA +1 -1
  53. {pulumi_gcp-8.24.0a1743057423.dist-info → pulumi_gcp-8.25.0a1743489606.dist-info}/RECORD +55 -48
  54. {pulumi_gcp-8.24.0a1743057423.dist-info → pulumi_gcp-8.25.0a1743489606.dist-info}/WHEEL +0 -0
  55. {pulumi_gcp-8.24.0a1743057423.dist-info → pulumi_gcp-8.25.0a1743489606.dist-info}/top_level.txt +0 -0
@@ -117,6 +117,64 @@ __all__ = [
117
117
  'PatchDeploymentRecurringScheduleWeekly',
118
118
  'PatchDeploymentRollout',
119
119
  'PatchDeploymentRolloutDisruptionBudget',
120
+ 'V2PolicyOrchestratorOrchestratedResource',
121
+ 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1Payload',
122
+ 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadInstanceFilter',
123
+ 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadInstanceFilterExclusionLabel',
124
+ 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadInstanceFilterInclusionLabel',
125
+ 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadInstanceFilterInventory',
126
+ 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicy',
127
+ 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroup',
128
+ 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupInventoryFilter',
129
+ 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResource',
130
+ 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExec',
131
+ 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecEnforce',
132
+ 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecEnforceFile',
133
+ 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecEnforceFileGcs',
134
+ 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecEnforceFileRemote',
135
+ 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecValidate',
136
+ 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecValidateFile',
137
+ 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecValidateFileGcs',
138
+ 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecValidateFileRemote',
139
+ 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceFile',
140
+ 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceFileFile',
141
+ 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceFileFileGcs',
142
+ 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceFileFileRemote',
143
+ 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkg',
144
+ 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgApt',
145
+ 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgDeb',
146
+ 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgDebSource',
147
+ 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgDebSourceGcs',
148
+ 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgDebSourceRemote',
149
+ 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgGooget',
150
+ 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgMsi',
151
+ 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgMsiSource',
152
+ 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgMsiSourceGcs',
153
+ 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgMsiSourceRemote',
154
+ 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgRpm',
155
+ 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgRpmSource',
156
+ 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgRpmSourceGcs',
157
+ 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgRpmSourceRemote',
158
+ 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgYum',
159
+ 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgZypper',
160
+ 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceRepository',
161
+ 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceRepositoryApt',
162
+ 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceRepositoryGoo',
163
+ 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceRepositoryYum',
164
+ 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceRepositoryZypper',
165
+ 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadRollout',
166
+ 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadRolloutDisruptionBudget',
167
+ 'V2PolicyOrchestratorOrchestrationScope',
168
+ 'V2PolicyOrchestratorOrchestrationScopeSelector',
169
+ 'V2PolicyOrchestratorOrchestrationScopeSelectorLocationSelector',
170
+ 'V2PolicyOrchestratorOrchestrationScopeSelectorResourceHierarchySelector',
171
+ 'V2PolicyOrchestratorOrchestrationState',
172
+ 'V2PolicyOrchestratorOrchestrationStateCurrentIterationState',
173
+ 'V2PolicyOrchestratorOrchestrationStateCurrentIterationStateError',
174
+ 'V2PolicyOrchestratorOrchestrationStateCurrentIterationStateErrorDetail',
175
+ 'V2PolicyOrchestratorOrchestrationStatePreviousIterationState',
176
+ 'V2PolicyOrchestratorOrchestrationStatePreviousIterationStateError',
177
+ 'V2PolicyOrchestratorOrchestrationStatePreviousIterationStateErrorDetail',
120
178
  ]
121
179
 
122
180
  @pulumi.output_type
@@ -6590,3 +6648,3907 @@ class PatchDeploymentRolloutDisruptionBudget(dict):
6590
6648
  return pulumi.get(self, "percentage")
6591
6649
 
6592
6650
 
6651
+ @pulumi.output_type
6652
+ class V2PolicyOrchestratorOrchestratedResource(dict):
6653
+ @staticmethod
6654
+ def __key_warning(key: str):
6655
+ suggest = None
6656
+ if key == "osPolicyAssignmentV1Payload":
6657
+ suggest = "os_policy_assignment_v1_payload"
6658
+
6659
+ if suggest:
6660
+ pulumi.log.warn(f"Key '{key}' not found in V2PolicyOrchestratorOrchestratedResource. Access the value via the '{suggest}' property getter instead.")
6661
+
6662
+ def __getitem__(self, key: str) -> Any:
6663
+ V2PolicyOrchestratorOrchestratedResource.__key_warning(key)
6664
+ return super().__getitem__(key)
6665
+
6666
+ def get(self, key: str, default = None) -> Any:
6667
+ V2PolicyOrchestratorOrchestratedResource.__key_warning(key)
6668
+ return super().get(key, default)
6669
+
6670
+ def __init__(__self__, *,
6671
+ id: Optional[str] = None,
6672
+ os_policy_assignment_v1_payload: Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1Payload'] = None):
6673
+ """
6674
+ :param str id: Optional. ID of the resource to be used while generating set of affected resources.
6675
+ For UPSERT action the value is auto-generated during PolicyOrchestrator
6676
+ creation when not set. When the value is set it should following next
6677
+ restrictions:
6678
+ * Must contain only lowercase letters, numbers, and hyphens.
6679
+ * Must start with a letter.
6680
+ * Must be between 1-63 characters.
6681
+ * Must end with a number or a letter.
6682
+ * Must be unique within the project.
6683
+ For DELETE action, ID must be specified explicitly during
6684
+ PolicyOrchestrator creation.
6685
+
6686
+
6687
+ <a name="nested_orchestrated_resource_os_policy_assignment_v1_payload"></a>The `os_policy_assignment_v1_payload` block supports:
6688
+ :param 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadArgs' os_policy_assignment_v1_payload: OS policy assignment is an API resource that is used to
6689
+ apply a set of OS policies to a dynamically targeted group of Compute Engine
6690
+ VM instances.
6691
+ An OS policy is used to define the desired state configuration for a
6692
+ Compute Engine VM instance through a set of configuration resources that
6693
+ provide capabilities such as installing or removing software packages, or
6694
+ executing a script.
6695
+ For more information about the OS policy resource definitions and examples,
6696
+ see
6697
+ [OS policy and OS policy
6698
+ assignment](https://cloud.google.com/compute/docs/os-configuration-management/working-with-os-policies).
6699
+ Structure is documented below.
6700
+ """
6701
+ if id is not None:
6702
+ pulumi.set(__self__, "id", id)
6703
+ if os_policy_assignment_v1_payload is not None:
6704
+ pulumi.set(__self__, "os_policy_assignment_v1_payload", os_policy_assignment_v1_payload)
6705
+
6706
+ @property
6707
+ @pulumi.getter
6708
+ def id(self) -> Optional[str]:
6709
+ """
6710
+ Optional. ID of the resource to be used while generating set of affected resources.
6711
+ For UPSERT action the value is auto-generated during PolicyOrchestrator
6712
+ creation when not set. When the value is set it should following next
6713
+ restrictions:
6714
+ * Must contain only lowercase letters, numbers, and hyphens.
6715
+ * Must start with a letter.
6716
+ * Must be between 1-63 characters.
6717
+ * Must end with a number or a letter.
6718
+ * Must be unique within the project.
6719
+ For DELETE action, ID must be specified explicitly during
6720
+ PolicyOrchestrator creation.
6721
+
6722
+
6723
+ <a name="nested_orchestrated_resource_os_policy_assignment_v1_payload"></a>The `os_policy_assignment_v1_payload` block supports:
6724
+ """
6725
+ return pulumi.get(self, "id")
6726
+
6727
+ @property
6728
+ @pulumi.getter(name="osPolicyAssignmentV1Payload")
6729
+ def os_policy_assignment_v1_payload(self) -> Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1Payload']:
6730
+ """
6731
+ OS policy assignment is an API resource that is used to
6732
+ apply a set of OS policies to a dynamically targeted group of Compute Engine
6733
+ VM instances.
6734
+ An OS policy is used to define the desired state configuration for a
6735
+ Compute Engine VM instance through a set of configuration resources that
6736
+ provide capabilities such as installing or removing software packages, or
6737
+ executing a script.
6738
+ For more information about the OS policy resource definitions and examples,
6739
+ see
6740
+ [OS policy and OS policy
6741
+ assignment](https://cloud.google.com/compute/docs/os-configuration-management/working-with-os-policies).
6742
+ Structure is documented below.
6743
+ """
6744
+ return pulumi.get(self, "os_policy_assignment_v1_payload")
6745
+
6746
+
6747
+ @pulumi.output_type
6748
+ class V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1Payload(dict):
6749
+ @staticmethod
6750
+ def __key_warning(key: str):
6751
+ suggest = None
6752
+ if key == "instanceFilter":
6753
+ suggest = "instance_filter"
6754
+ elif key == "osPolicies":
6755
+ suggest = "os_policies"
6756
+ elif key == "revisionCreateTime":
6757
+ suggest = "revision_create_time"
6758
+ elif key == "revisionId":
6759
+ suggest = "revision_id"
6760
+ elif key == "rolloutState":
6761
+ suggest = "rollout_state"
6762
+
6763
+ if suggest:
6764
+ pulumi.log.warn(f"Key '{key}' not found in V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1Payload. Access the value via the '{suggest}' property getter instead.")
6765
+
6766
+ def __getitem__(self, key: str) -> Any:
6767
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1Payload.__key_warning(key)
6768
+ return super().__getitem__(key)
6769
+
6770
+ def get(self, key: str, default = None) -> Any:
6771
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1Payload.__key_warning(key)
6772
+ return super().get(key, default)
6773
+
6774
+ def __init__(__self__, *,
6775
+ instance_filter: 'outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadInstanceFilter',
6776
+ os_policies: Sequence['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicy'],
6777
+ rollout: 'outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadRollout',
6778
+ baseline: Optional[bool] = None,
6779
+ deleted: Optional[bool] = None,
6780
+ description: Optional[str] = None,
6781
+ name: Optional[str] = None,
6782
+ reconciling: Optional[bool] = None,
6783
+ revision_create_time: Optional[str] = None,
6784
+ revision_id: Optional[str] = None,
6785
+ rollout_state: Optional[str] = None,
6786
+ uid: Optional[str] = None):
6787
+ """
6788
+ :param 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadInstanceFilterArgs' instance_filter: Filters to select target VMs for an assignment.
6789
+
6790
+ If more than one filter criteria is specified below, a VM will be selected
6791
+ if and only if it satisfies all of them.
6792
+ :param Sequence['V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyArgs'] os_policies: Required. List of OS policies to be applied to the VMs.
6793
+ :param 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadRolloutArgs' rollout: Message to configure the rollout at the zonal level for the OS policy
6794
+ assignment.
6795
+ :param bool baseline: Output only. Indicates that this revision has been successfully rolled out in this zone
6796
+ and new VMs will be assigned OS policies from this revision.
6797
+
6798
+ For a given OS policy assignment, there is only one revision with a value
6799
+ of 'true' for this field.
6800
+ :param bool deleted: Output only. Indicates that this revision deletes the OS policy assignment.
6801
+ :param str description: OS policy assignment description.
6802
+ Length of the description is limited to 1024 characters.
6803
+ :param str name: Immutable. Identifier. In form of
6804
+ * `organizations/{organization_id}/locations/global/policyOrchestrators/{orchestrator_id}`
6805
+ * `folders/{folder_id}/locations/global/policyOrchestrators/{orchestrator_id}`
6806
+ * `projects/{project_id_or_number}/locations/global/policyOrchestrators/{orchestrator_id}`
6807
+ :param bool reconciling: Output only. Set to true, if the there are ongoing changes being applied by the
6808
+ orchestrator.
6809
+ :param str revision_create_time: Output only. The timestamp that the revision was created.
6810
+ :param str revision_id: Output only. The assignment revision ID
6811
+ A new revision is committed whenever a rollout is triggered for a OS policy
6812
+ assignment
6813
+ :param str rollout_state: Output only. OS policy assignment rollout state
6814
+ Possible values:
6815
+ ROLLOUT_STATE_UNSPECIFIED
6816
+ IN_PROGRESS
6817
+ CANCELLING
6818
+ CANCELLED
6819
+ SUCCEEDED
6820
+ :param str uid: Output only. Server generated unique id for the OS policy assignment resource.
6821
+ """
6822
+ pulumi.set(__self__, "instance_filter", instance_filter)
6823
+ pulumi.set(__self__, "os_policies", os_policies)
6824
+ pulumi.set(__self__, "rollout", rollout)
6825
+ if baseline is not None:
6826
+ pulumi.set(__self__, "baseline", baseline)
6827
+ if deleted is not None:
6828
+ pulumi.set(__self__, "deleted", deleted)
6829
+ if description is not None:
6830
+ pulumi.set(__self__, "description", description)
6831
+ if name is not None:
6832
+ pulumi.set(__self__, "name", name)
6833
+ if reconciling is not None:
6834
+ pulumi.set(__self__, "reconciling", reconciling)
6835
+ if revision_create_time is not None:
6836
+ pulumi.set(__self__, "revision_create_time", revision_create_time)
6837
+ if revision_id is not None:
6838
+ pulumi.set(__self__, "revision_id", revision_id)
6839
+ if rollout_state is not None:
6840
+ pulumi.set(__self__, "rollout_state", rollout_state)
6841
+ if uid is not None:
6842
+ pulumi.set(__self__, "uid", uid)
6843
+
6844
+ @property
6845
+ @pulumi.getter(name="instanceFilter")
6846
+ def instance_filter(self) -> 'outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadInstanceFilter':
6847
+ """
6848
+ Filters to select target VMs for an assignment.
6849
+
6850
+ If more than one filter criteria is specified below, a VM will be selected
6851
+ if and only if it satisfies all of them.
6852
+ """
6853
+ return pulumi.get(self, "instance_filter")
6854
+
6855
+ @property
6856
+ @pulumi.getter(name="osPolicies")
6857
+ def os_policies(self) -> Sequence['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicy']:
6858
+ """
6859
+ Required. List of OS policies to be applied to the VMs.
6860
+ """
6861
+ return pulumi.get(self, "os_policies")
6862
+
6863
+ @property
6864
+ @pulumi.getter
6865
+ def rollout(self) -> 'outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadRollout':
6866
+ """
6867
+ Message to configure the rollout at the zonal level for the OS policy
6868
+ assignment.
6869
+ """
6870
+ return pulumi.get(self, "rollout")
6871
+
6872
+ @property
6873
+ @pulumi.getter
6874
+ def baseline(self) -> Optional[bool]:
6875
+ """
6876
+ Output only. Indicates that this revision has been successfully rolled out in this zone
6877
+ and new VMs will be assigned OS policies from this revision.
6878
+
6879
+ For a given OS policy assignment, there is only one revision with a value
6880
+ of 'true' for this field.
6881
+ """
6882
+ return pulumi.get(self, "baseline")
6883
+
6884
+ @property
6885
+ @pulumi.getter
6886
+ def deleted(self) -> Optional[bool]:
6887
+ """
6888
+ Output only. Indicates that this revision deletes the OS policy assignment.
6889
+ """
6890
+ return pulumi.get(self, "deleted")
6891
+
6892
+ @property
6893
+ @pulumi.getter
6894
+ def description(self) -> Optional[str]:
6895
+ """
6896
+ OS policy assignment description.
6897
+ Length of the description is limited to 1024 characters.
6898
+ """
6899
+ return pulumi.get(self, "description")
6900
+
6901
+ @property
6902
+ @pulumi.getter
6903
+ def name(self) -> Optional[str]:
6904
+ """
6905
+ Immutable. Identifier. In form of
6906
+ * `organizations/{organization_id}/locations/global/policyOrchestrators/{orchestrator_id}`
6907
+ * `folders/{folder_id}/locations/global/policyOrchestrators/{orchestrator_id}`
6908
+ * `projects/{project_id_or_number}/locations/global/policyOrchestrators/{orchestrator_id}`
6909
+ """
6910
+ return pulumi.get(self, "name")
6911
+
6912
+ @property
6913
+ @pulumi.getter
6914
+ def reconciling(self) -> Optional[bool]:
6915
+ """
6916
+ Output only. Set to true, if the there are ongoing changes being applied by the
6917
+ orchestrator.
6918
+ """
6919
+ return pulumi.get(self, "reconciling")
6920
+
6921
+ @property
6922
+ @pulumi.getter(name="revisionCreateTime")
6923
+ def revision_create_time(self) -> Optional[str]:
6924
+ """
6925
+ Output only. The timestamp that the revision was created.
6926
+ """
6927
+ return pulumi.get(self, "revision_create_time")
6928
+
6929
+ @property
6930
+ @pulumi.getter(name="revisionId")
6931
+ def revision_id(self) -> Optional[str]:
6932
+ """
6933
+ Output only. The assignment revision ID
6934
+ A new revision is committed whenever a rollout is triggered for a OS policy
6935
+ assignment
6936
+ """
6937
+ return pulumi.get(self, "revision_id")
6938
+
6939
+ @property
6940
+ @pulumi.getter(name="rolloutState")
6941
+ def rollout_state(self) -> Optional[str]:
6942
+ """
6943
+ Output only. OS policy assignment rollout state
6944
+ Possible values:
6945
+ ROLLOUT_STATE_UNSPECIFIED
6946
+ IN_PROGRESS
6947
+ CANCELLING
6948
+ CANCELLED
6949
+ SUCCEEDED
6950
+ """
6951
+ return pulumi.get(self, "rollout_state")
6952
+
6953
+ @property
6954
+ @pulumi.getter
6955
+ def uid(self) -> Optional[str]:
6956
+ """
6957
+ Output only. Server generated unique id for the OS policy assignment resource.
6958
+ """
6959
+ return pulumi.get(self, "uid")
6960
+
6961
+
6962
+ @pulumi.output_type
6963
+ class V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadInstanceFilter(dict):
6964
+ @staticmethod
6965
+ def __key_warning(key: str):
6966
+ suggest = None
6967
+ if key == "exclusionLabels":
6968
+ suggest = "exclusion_labels"
6969
+ elif key == "inclusionLabels":
6970
+ suggest = "inclusion_labels"
6971
+
6972
+ if suggest:
6973
+ pulumi.log.warn(f"Key '{key}' not found in V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadInstanceFilter. Access the value via the '{suggest}' property getter instead.")
6974
+
6975
+ def __getitem__(self, key: str) -> Any:
6976
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadInstanceFilter.__key_warning(key)
6977
+ return super().__getitem__(key)
6978
+
6979
+ def get(self, key: str, default = None) -> Any:
6980
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadInstanceFilter.__key_warning(key)
6981
+ return super().get(key, default)
6982
+
6983
+ def __init__(__self__, *,
6984
+ all: Optional[bool] = None,
6985
+ exclusion_labels: Optional[Sequence['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadInstanceFilterExclusionLabel']] = None,
6986
+ inclusion_labels: Optional[Sequence['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadInstanceFilterInclusionLabel']] = None,
6987
+ inventories: Optional[Sequence['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadInstanceFilterInventory']] = None):
6988
+ """
6989
+ :param bool all: Target all VMs in the project. If true, no other criteria is
6990
+ permitted.
6991
+ :param Sequence['V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadInstanceFilterExclusionLabelArgs'] exclusion_labels: List of label sets used for VM exclusion.
6992
+ If the list has more than one label set, the VM is excluded if any
6993
+ of the label sets are applicable for the VM.
6994
+ Structure is documented below.
6995
+ :param Sequence['V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadInstanceFilterInclusionLabelArgs'] inclusion_labels: List of label sets used for VM inclusion.
6996
+ If the list has more than one `LabelSet`, the VM is included if any
6997
+ of the label sets are applicable for the VM.
6998
+ Structure is documented below.
6999
+ :param Sequence['V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadInstanceFilterInventoryArgs'] inventories: List of inventories to select VMs.
7000
+ A VM is selected if its inventory data matches at least one of the
7001
+ following inventories.
7002
+ Structure is documented below.
7003
+ """
7004
+ if all is not None:
7005
+ pulumi.set(__self__, "all", all)
7006
+ if exclusion_labels is not None:
7007
+ pulumi.set(__self__, "exclusion_labels", exclusion_labels)
7008
+ if inclusion_labels is not None:
7009
+ pulumi.set(__self__, "inclusion_labels", inclusion_labels)
7010
+ if inventories is not None:
7011
+ pulumi.set(__self__, "inventories", inventories)
7012
+
7013
+ @property
7014
+ @pulumi.getter
7015
+ def all(self) -> Optional[bool]:
7016
+ """
7017
+ Target all VMs in the project. If true, no other criteria is
7018
+ permitted.
7019
+ """
7020
+ return pulumi.get(self, "all")
7021
+
7022
+ @property
7023
+ @pulumi.getter(name="exclusionLabels")
7024
+ def exclusion_labels(self) -> Optional[Sequence['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadInstanceFilterExclusionLabel']]:
7025
+ """
7026
+ List of label sets used for VM exclusion.
7027
+ If the list has more than one label set, the VM is excluded if any
7028
+ of the label sets are applicable for the VM.
7029
+ Structure is documented below.
7030
+ """
7031
+ return pulumi.get(self, "exclusion_labels")
7032
+
7033
+ @property
7034
+ @pulumi.getter(name="inclusionLabels")
7035
+ def inclusion_labels(self) -> Optional[Sequence['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadInstanceFilterInclusionLabel']]:
7036
+ """
7037
+ List of label sets used for VM inclusion.
7038
+ If the list has more than one `LabelSet`, the VM is included if any
7039
+ of the label sets are applicable for the VM.
7040
+ Structure is documented below.
7041
+ """
7042
+ return pulumi.get(self, "inclusion_labels")
7043
+
7044
+ @property
7045
+ @pulumi.getter
7046
+ def inventories(self) -> Optional[Sequence['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadInstanceFilterInventory']]:
7047
+ """
7048
+ List of inventories to select VMs.
7049
+ A VM is selected if its inventory data matches at least one of the
7050
+ following inventories.
7051
+ Structure is documented below.
7052
+ """
7053
+ return pulumi.get(self, "inventories")
7054
+
7055
+
7056
+ @pulumi.output_type
7057
+ class V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadInstanceFilterExclusionLabel(dict):
7058
+ def __init__(__self__, *,
7059
+ labels: Optional[Mapping[str, str]] = None):
7060
+ """
7061
+ :param Mapping[str, str] labels: Labels are identified by key/value pairs in this map.
7062
+ A VM should contain all the key/value pairs specified in this
7063
+ map to be selected.
7064
+ """
7065
+ if labels is not None:
7066
+ pulumi.set(__self__, "labels", labels)
7067
+
7068
+ @property
7069
+ @pulumi.getter
7070
+ def labels(self) -> Optional[Mapping[str, str]]:
7071
+ """
7072
+ Labels are identified by key/value pairs in this map.
7073
+ A VM should contain all the key/value pairs specified in this
7074
+ map to be selected.
7075
+ """
7076
+ return pulumi.get(self, "labels")
7077
+
7078
+
7079
+ @pulumi.output_type
7080
+ class V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadInstanceFilterInclusionLabel(dict):
7081
+ def __init__(__self__, *,
7082
+ labels: Optional[Mapping[str, str]] = None):
7083
+ """
7084
+ :param Mapping[str, str] labels: Labels are identified by key/value pairs in this map.
7085
+ A VM should contain all the key/value pairs specified in this
7086
+ map to be selected.
7087
+ """
7088
+ if labels is not None:
7089
+ pulumi.set(__self__, "labels", labels)
7090
+
7091
+ @property
7092
+ @pulumi.getter
7093
+ def labels(self) -> Optional[Mapping[str, str]]:
7094
+ """
7095
+ Labels are identified by key/value pairs in this map.
7096
+ A VM should contain all the key/value pairs specified in this
7097
+ map to be selected.
7098
+ """
7099
+ return pulumi.get(self, "labels")
7100
+
7101
+
7102
+ @pulumi.output_type
7103
+ class V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadInstanceFilterInventory(dict):
7104
+ @staticmethod
7105
+ def __key_warning(key: str):
7106
+ suggest = None
7107
+ if key == "osShortName":
7108
+ suggest = "os_short_name"
7109
+ elif key == "osVersion":
7110
+ suggest = "os_version"
7111
+
7112
+ if suggest:
7113
+ pulumi.log.warn(f"Key '{key}' not found in V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadInstanceFilterInventory. Access the value via the '{suggest}' property getter instead.")
7114
+
7115
+ def __getitem__(self, key: str) -> Any:
7116
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadInstanceFilterInventory.__key_warning(key)
7117
+ return super().__getitem__(key)
7118
+
7119
+ def get(self, key: str, default = None) -> Any:
7120
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadInstanceFilterInventory.__key_warning(key)
7121
+ return super().get(key, default)
7122
+
7123
+ def __init__(__self__, *,
7124
+ os_short_name: str,
7125
+ os_version: Optional[str] = None):
7126
+ """
7127
+ :param str os_short_name: Required. The OS short name
7128
+ :param str os_version: The OS version
7129
+ Prefix matches are supported if asterisk(*) is provided as the
7130
+ last character. For example, to match all versions with a major
7131
+ version of `7`, specify the following value for this field `7.*`
7132
+ An empty string matches all OS versions.
7133
+ """
7134
+ pulumi.set(__self__, "os_short_name", os_short_name)
7135
+ if os_version is not None:
7136
+ pulumi.set(__self__, "os_version", os_version)
7137
+
7138
+ @property
7139
+ @pulumi.getter(name="osShortName")
7140
+ def os_short_name(self) -> str:
7141
+ """
7142
+ Required. The OS short name
7143
+ """
7144
+ return pulumi.get(self, "os_short_name")
7145
+
7146
+ @property
7147
+ @pulumi.getter(name="osVersion")
7148
+ def os_version(self) -> Optional[str]:
7149
+ """
7150
+ The OS version
7151
+ Prefix matches are supported if asterisk(*) is provided as the
7152
+ last character. For example, to match all versions with a major
7153
+ version of `7`, specify the following value for this field `7.*`
7154
+ An empty string matches all OS versions.
7155
+ """
7156
+ return pulumi.get(self, "os_version")
7157
+
7158
+
7159
+ @pulumi.output_type
7160
+ class V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicy(dict):
7161
+ @staticmethod
7162
+ def __key_warning(key: str):
7163
+ suggest = None
7164
+ if key == "resourceGroups":
7165
+ suggest = "resource_groups"
7166
+ elif key == "allowNoResourceGroupMatch":
7167
+ suggest = "allow_no_resource_group_match"
7168
+
7169
+ if suggest:
7170
+ pulumi.log.warn(f"Key '{key}' not found in V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicy. Access the value via the '{suggest}' property getter instead.")
7171
+
7172
+ def __getitem__(self, key: str) -> Any:
7173
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicy.__key_warning(key)
7174
+ return super().__getitem__(key)
7175
+
7176
+ def get(self, key: str, default = None) -> Any:
7177
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicy.__key_warning(key)
7178
+ return super().get(key, default)
7179
+
7180
+ def __init__(__self__, *,
7181
+ id: str,
7182
+ mode: str,
7183
+ resource_groups: Sequence['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroup'],
7184
+ allow_no_resource_group_match: Optional[bool] = None,
7185
+ description: Optional[str] = None):
7186
+ """
7187
+ :param str id: Required. The id of the OS policy with the following restrictions:
7188
+ * Must contain only lowercase letters, numbers, and hyphens.
7189
+ * Must start with a letter.
7190
+ * Must be between 1-63 characters.
7191
+ * Must end with a number or a letter.
7192
+ * Must be unique within the assignment.
7193
+ :param str mode: Required. Policy mode
7194
+ Possible values:
7195
+ MODE_UNSPECIFIED
7196
+ VALIDATION
7197
+ ENFORCEMENT
7198
+ :param Sequence['V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupArgs'] resource_groups: Required. List of resource groups for the policy.
7199
+ For a particular VM, resource groups are evaluated in the order specified
7200
+ and the first resource group that is applicable is selected and the rest
7201
+ are ignored.
7202
+ If none of the resource groups are applicable for a VM, the VM is
7203
+ considered to be non-compliant w.r.t this policy. This behavior can be
7204
+ toggled by the flag `allow_no_resource_group_match`
7205
+ Structure is documented below.
7206
+ :param bool allow_no_resource_group_match: This flag determines the OS policy compliance status when none of the
7207
+ resource groups within the policy are applicable for a VM. Set this value
7208
+ to `true` if the policy needs to be reported as compliant even if the
7209
+ policy has nothing to validate or enforce.
7210
+ :param str description: Policy description.
7211
+ Length of the description is limited to 1024 characters.
7212
+ """
7213
+ pulumi.set(__self__, "id", id)
7214
+ pulumi.set(__self__, "mode", mode)
7215
+ pulumi.set(__self__, "resource_groups", resource_groups)
7216
+ if allow_no_resource_group_match is not None:
7217
+ pulumi.set(__self__, "allow_no_resource_group_match", allow_no_resource_group_match)
7218
+ if description is not None:
7219
+ pulumi.set(__self__, "description", description)
7220
+
7221
+ @property
7222
+ @pulumi.getter
7223
+ def id(self) -> str:
7224
+ """
7225
+ Required. The id of the OS policy with the following restrictions:
7226
+ * Must contain only lowercase letters, numbers, and hyphens.
7227
+ * Must start with a letter.
7228
+ * Must be between 1-63 characters.
7229
+ * Must end with a number or a letter.
7230
+ * Must be unique within the assignment.
7231
+ """
7232
+ return pulumi.get(self, "id")
7233
+
7234
+ @property
7235
+ @pulumi.getter
7236
+ def mode(self) -> str:
7237
+ """
7238
+ Required. Policy mode
7239
+ Possible values:
7240
+ MODE_UNSPECIFIED
7241
+ VALIDATION
7242
+ ENFORCEMENT
7243
+ """
7244
+ return pulumi.get(self, "mode")
7245
+
7246
+ @property
7247
+ @pulumi.getter(name="resourceGroups")
7248
+ def resource_groups(self) -> Sequence['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroup']:
7249
+ """
7250
+ Required. List of resource groups for the policy.
7251
+ For a particular VM, resource groups are evaluated in the order specified
7252
+ and the first resource group that is applicable is selected and the rest
7253
+ are ignored.
7254
+ If none of the resource groups are applicable for a VM, the VM is
7255
+ considered to be non-compliant w.r.t this policy. This behavior can be
7256
+ toggled by the flag `allow_no_resource_group_match`
7257
+ Structure is documented below.
7258
+ """
7259
+ return pulumi.get(self, "resource_groups")
7260
+
7261
+ @property
7262
+ @pulumi.getter(name="allowNoResourceGroupMatch")
7263
+ def allow_no_resource_group_match(self) -> Optional[bool]:
7264
+ """
7265
+ This flag determines the OS policy compliance status when none of the
7266
+ resource groups within the policy are applicable for a VM. Set this value
7267
+ to `true` if the policy needs to be reported as compliant even if the
7268
+ policy has nothing to validate or enforce.
7269
+ """
7270
+ return pulumi.get(self, "allow_no_resource_group_match")
7271
+
7272
+ @property
7273
+ @pulumi.getter
7274
+ def description(self) -> Optional[str]:
7275
+ """
7276
+ Policy description.
7277
+ Length of the description is limited to 1024 characters.
7278
+ """
7279
+ return pulumi.get(self, "description")
7280
+
7281
+
7282
+ @pulumi.output_type
7283
+ class V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroup(dict):
7284
+ @staticmethod
7285
+ def __key_warning(key: str):
7286
+ suggest = None
7287
+ if key == "inventoryFilters":
7288
+ suggest = "inventory_filters"
7289
+
7290
+ if suggest:
7291
+ pulumi.log.warn(f"Key '{key}' not found in V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroup. Access the value via the '{suggest}' property getter instead.")
7292
+
7293
+ def __getitem__(self, key: str) -> Any:
7294
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroup.__key_warning(key)
7295
+ return super().__getitem__(key)
7296
+
7297
+ def get(self, key: str, default = None) -> Any:
7298
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroup.__key_warning(key)
7299
+ return super().get(key, default)
7300
+
7301
+ def __init__(__self__, *,
7302
+ resources: Sequence['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResource'],
7303
+ inventory_filters: Optional[Sequence['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupInventoryFilter']] = None):
7304
+ """
7305
+ :param Sequence['V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceArgs'] resources: Required. List of resources configured for this resource group.
7306
+ The resources are executed in the exact order specified here.
7307
+ Structure is documented below.
7308
+ :param Sequence['V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupInventoryFilterArgs'] inventory_filters: List of inventory filters for the resource group.
7309
+ The resources in this resource group are applied to the target VM if it
7310
+ satisfies at least one of the following inventory filters.
7311
+ For example, to apply this resource group to VMs running either `RHEL` or
7312
+ `CentOS` operating systems, specify 2 items for the list with following
7313
+ values:
7314
+ inventory_filters[0].os_short_name='rhel' and
7315
+ inventory_filters[1].os_short_name='centos'
7316
+ If the list is empty, this resource group will be applied to the target
7317
+ VM unconditionally.
7318
+ Structure is documented below.
7319
+ """
7320
+ pulumi.set(__self__, "resources", resources)
7321
+ if inventory_filters is not None:
7322
+ pulumi.set(__self__, "inventory_filters", inventory_filters)
7323
+
7324
+ @property
7325
+ @pulumi.getter
7326
+ def resources(self) -> Sequence['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResource']:
7327
+ """
7328
+ Required. List of resources configured for this resource group.
7329
+ The resources are executed in the exact order specified here.
7330
+ Structure is documented below.
7331
+ """
7332
+ return pulumi.get(self, "resources")
7333
+
7334
+ @property
7335
+ @pulumi.getter(name="inventoryFilters")
7336
+ def inventory_filters(self) -> Optional[Sequence['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupInventoryFilter']]:
7337
+ """
7338
+ List of inventory filters for the resource group.
7339
+ The resources in this resource group are applied to the target VM if it
7340
+ satisfies at least one of the following inventory filters.
7341
+ For example, to apply this resource group to VMs running either `RHEL` or
7342
+ `CentOS` operating systems, specify 2 items for the list with following
7343
+ values:
7344
+ inventory_filters[0].os_short_name='rhel' and
7345
+ inventory_filters[1].os_short_name='centos'
7346
+ If the list is empty, this resource group will be applied to the target
7347
+ VM unconditionally.
7348
+ Structure is documented below.
7349
+ """
7350
+ return pulumi.get(self, "inventory_filters")
7351
+
7352
+
7353
+ @pulumi.output_type
7354
+ class V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupInventoryFilter(dict):
7355
+ @staticmethod
7356
+ def __key_warning(key: str):
7357
+ suggest = None
7358
+ if key == "osShortName":
7359
+ suggest = "os_short_name"
7360
+ elif key == "osVersion":
7361
+ suggest = "os_version"
7362
+
7363
+ if suggest:
7364
+ pulumi.log.warn(f"Key '{key}' not found in V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupInventoryFilter. Access the value via the '{suggest}' property getter instead.")
7365
+
7366
+ def __getitem__(self, key: str) -> Any:
7367
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupInventoryFilter.__key_warning(key)
7368
+ return super().__getitem__(key)
7369
+
7370
+ def get(self, key: str, default = None) -> Any:
7371
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupInventoryFilter.__key_warning(key)
7372
+ return super().get(key, default)
7373
+
7374
+ def __init__(__self__, *,
7375
+ os_short_name: str,
7376
+ os_version: Optional[str] = None):
7377
+ """
7378
+ :param str os_short_name: Required. The OS short name
7379
+ :param str os_version: The OS version
7380
+ Prefix matches are supported if asterisk(*) is provided as the
7381
+ last character. For example, to match all versions with a major
7382
+ version of `7`, specify the following value for this field `7.*`
7383
+ An empty string matches all OS versions.
7384
+ """
7385
+ pulumi.set(__self__, "os_short_name", os_short_name)
7386
+ if os_version is not None:
7387
+ pulumi.set(__self__, "os_version", os_version)
7388
+
7389
+ @property
7390
+ @pulumi.getter(name="osShortName")
7391
+ def os_short_name(self) -> str:
7392
+ """
7393
+ Required. The OS short name
7394
+ """
7395
+ return pulumi.get(self, "os_short_name")
7396
+
7397
+ @property
7398
+ @pulumi.getter(name="osVersion")
7399
+ def os_version(self) -> Optional[str]:
7400
+ """
7401
+ The OS version
7402
+ Prefix matches are supported if asterisk(*) is provided as the
7403
+ last character. For example, to match all versions with a major
7404
+ version of `7`, specify the following value for this field `7.*`
7405
+ An empty string matches all OS versions.
7406
+ """
7407
+ return pulumi.get(self, "os_version")
7408
+
7409
+
7410
+ @pulumi.output_type
7411
+ class V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResource(dict):
7412
+ @staticmethod
7413
+ def __key_warning(key: str):
7414
+ suggest = None
7415
+ if key == "exec":
7416
+ suggest = "exec_"
7417
+
7418
+ if suggest:
7419
+ pulumi.log.warn(f"Key '{key}' not found in V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResource. Access the value via the '{suggest}' property getter instead.")
7420
+
7421
+ def __getitem__(self, key: str) -> Any:
7422
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResource.__key_warning(key)
7423
+ return super().__getitem__(key)
7424
+
7425
+ def get(self, key: str, default = None) -> Any:
7426
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResource.__key_warning(key)
7427
+ return super().get(key, default)
7428
+
7429
+ def __init__(__self__, *,
7430
+ id: str,
7431
+ exec_: Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExec'] = None,
7432
+ file: Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceFile'] = None,
7433
+ pkg: Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkg'] = None,
7434
+ repository: Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceRepository'] = None):
7435
+ """
7436
+ :param str id: Required. The id of the resource with the following restrictions:
7437
+ * Must contain only lowercase letters, numbers, and hyphens.
7438
+ * Must start with a letter.
7439
+ * Must be between 1-63 characters.
7440
+ * Must end with a number or a letter.
7441
+ * Must be unique within the OS policy.
7442
+ :param 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecArgs' exec_: A resource that allows executing scripts on the VM.
7443
+ The `ExecResource` has 2 stages: `validate` and `enforce` and both stages
7444
+ accept a script as an argument to execute.
7445
+ When the `ExecResource` is applied by the agent, it first executes the
7446
+ script in the `validate` stage. The `validate` stage can signal that the
7447
+ `ExecResource` is already in the desired state by returning an exit code
7448
+ of `100`. If the `ExecResource` is not in the desired state, it should
7449
+ return an exit code of `101`. Any other exit code returned by this stage
7450
+ is considered an error.
7451
+ If the `ExecResource` is not in the desired state based on the exit code
7452
+ from the `validate` stage, the agent proceeds to execute the script from
7453
+ the `enforce` stage. If the `ExecResource` is already in the desired
7454
+ state, the `enforce` stage will not be run.
7455
+ Similar to `validate` stage, the `enforce` stage should return an exit
7456
+ code of `100` to indicate that the resource in now in its desired state.
7457
+ Any other exit code is considered an error.
7458
+ NOTE: An exit code of `100` was chosen over `0` (and `101` vs `1`) to
7459
+ have an explicit indicator of `in desired state`, `not in desired state`
7460
+ and errors. Because, for example, Powershell will always return an exit
7461
+ code of `0` unless an `exit` statement is provided in the script. So, for
7462
+ reasons of consistency and being explicit, exit codes `100` and `101`
7463
+ were chosen.
7464
+ Structure is documented below.
7465
+ :param 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceFileArgs' file: A resource that manages the state of a file.
7466
+ Structure is documented below.
7467
+ :param 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgArgs' pkg: A resource that manages a system package.
7468
+ Structure is documented below.
7469
+ :param 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceRepositoryArgs' repository: A resource that manages a package repository.
7470
+ Structure is documented below.
7471
+ """
7472
+ pulumi.set(__self__, "id", id)
7473
+ if exec_ is not None:
7474
+ pulumi.set(__self__, "exec_", exec_)
7475
+ if file is not None:
7476
+ pulumi.set(__self__, "file", file)
7477
+ if pkg is not None:
7478
+ pulumi.set(__self__, "pkg", pkg)
7479
+ if repository is not None:
7480
+ pulumi.set(__self__, "repository", repository)
7481
+
7482
+ @property
7483
+ @pulumi.getter
7484
+ def id(self) -> str:
7485
+ """
7486
+ Required. The id of the resource with the following restrictions:
7487
+ * Must contain only lowercase letters, numbers, and hyphens.
7488
+ * Must start with a letter.
7489
+ * Must be between 1-63 characters.
7490
+ * Must end with a number or a letter.
7491
+ * Must be unique within the OS policy.
7492
+ """
7493
+ return pulumi.get(self, "id")
7494
+
7495
+ @property
7496
+ @pulumi.getter(name="exec")
7497
+ def exec_(self) -> Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExec']:
7498
+ """
7499
+ A resource that allows executing scripts on the VM.
7500
+ The `ExecResource` has 2 stages: `validate` and `enforce` and both stages
7501
+ accept a script as an argument to execute.
7502
+ When the `ExecResource` is applied by the agent, it first executes the
7503
+ script in the `validate` stage. The `validate` stage can signal that the
7504
+ `ExecResource` is already in the desired state by returning an exit code
7505
+ of `100`. If the `ExecResource` is not in the desired state, it should
7506
+ return an exit code of `101`. Any other exit code returned by this stage
7507
+ is considered an error.
7508
+ If the `ExecResource` is not in the desired state based on the exit code
7509
+ from the `validate` stage, the agent proceeds to execute the script from
7510
+ the `enforce` stage. If the `ExecResource` is already in the desired
7511
+ state, the `enforce` stage will not be run.
7512
+ Similar to `validate` stage, the `enforce` stage should return an exit
7513
+ code of `100` to indicate that the resource in now in its desired state.
7514
+ Any other exit code is considered an error.
7515
+ NOTE: An exit code of `100` was chosen over `0` (and `101` vs `1`) to
7516
+ have an explicit indicator of `in desired state`, `not in desired state`
7517
+ and errors. Because, for example, Powershell will always return an exit
7518
+ code of `0` unless an `exit` statement is provided in the script. So, for
7519
+ reasons of consistency and being explicit, exit codes `100` and `101`
7520
+ were chosen.
7521
+ Structure is documented below.
7522
+ """
7523
+ return pulumi.get(self, "exec_")
7524
+
7525
+ @property
7526
+ @pulumi.getter
7527
+ def file(self) -> Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceFile']:
7528
+ """
7529
+ A resource that manages the state of a file.
7530
+ Structure is documented below.
7531
+ """
7532
+ return pulumi.get(self, "file")
7533
+
7534
+ @property
7535
+ @pulumi.getter
7536
+ def pkg(self) -> Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkg']:
7537
+ """
7538
+ A resource that manages a system package.
7539
+ Structure is documented below.
7540
+ """
7541
+ return pulumi.get(self, "pkg")
7542
+
7543
+ @property
7544
+ @pulumi.getter
7545
+ def repository(self) -> Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceRepository']:
7546
+ """
7547
+ A resource that manages a package repository.
7548
+ Structure is documented below.
7549
+ """
7550
+ return pulumi.get(self, "repository")
7551
+
7552
+
7553
+ @pulumi.output_type
7554
+ class V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExec(dict):
7555
+ def __init__(__self__, *,
7556
+ validate: 'outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecValidate',
7557
+ enforce: Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecEnforce'] = None):
7558
+ """
7559
+ :param 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecValidateArgs' validate: A file or script to execute.
7560
+ Structure is documented below.
7561
+ :param 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecEnforceArgs' enforce: A file or script to execute.
7562
+ Structure is documented below.
7563
+ """
7564
+ pulumi.set(__self__, "validate", validate)
7565
+ if enforce is not None:
7566
+ pulumi.set(__self__, "enforce", enforce)
7567
+
7568
+ @property
7569
+ @pulumi.getter
7570
+ def validate(self) -> 'outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecValidate':
7571
+ """
7572
+ A file or script to execute.
7573
+ Structure is documented below.
7574
+ """
7575
+ return pulumi.get(self, "validate")
7576
+
7577
+ @property
7578
+ @pulumi.getter
7579
+ def enforce(self) -> Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecEnforce']:
7580
+ """
7581
+ A file or script to execute.
7582
+ Structure is documented below.
7583
+ """
7584
+ return pulumi.get(self, "enforce")
7585
+
7586
+
7587
+ @pulumi.output_type
7588
+ class V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecEnforce(dict):
7589
+ @staticmethod
7590
+ def __key_warning(key: str):
7591
+ suggest = None
7592
+ if key == "outputFilePath":
7593
+ suggest = "output_file_path"
7594
+
7595
+ if suggest:
7596
+ pulumi.log.warn(f"Key '{key}' not found in V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecEnforce. Access the value via the '{suggest}' property getter instead.")
7597
+
7598
+ def __getitem__(self, key: str) -> Any:
7599
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecEnforce.__key_warning(key)
7600
+ return super().__getitem__(key)
7601
+
7602
+ def get(self, key: str, default = None) -> Any:
7603
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecEnforce.__key_warning(key)
7604
+ return super().get(key, default)
7605
+
7606
+ def __init__(__self__, *,
7607
+ interpreter: str,
7608
+ args: Optional[Sequence[str]] = None,
7609
+ file: Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecEnforceFile'] = None,
7610
+ output_file_path: Optional[str] = None,
7611
+ script: Optional[str] = None):
7612
+ """
7613
+ :param str interpreter: Required. The script interpreter to use.
7614
+ Possible values:
7615
+ INTERPRETER_UNSPECIFIED
7616
+ NONE
7617
+ SHELL
7618
+ POWERSHELL
7619
+ :param Sequence[str] args: Optional arguments to pass to the source during execution.
7620
+ :param 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecEnforceFileArgs' file: A remote or local file.
7621
+ Structure is documented below.
7622
+ :param str output_file_path: Only recorded for enforce Exec.
7623
+ Path to an output file (that is created by this Exec) whose
7624
+ content will be recorded in OSPolicyResourceCompliance after a
7625
+ successful run. Absence or failure to read this file will result in
7626
+ this ExecResource being non-compliant. Output file size is limited to
7627
+ 500K bytes.
7628
+ :param str script: An inline script.
7629
+ The size of the script is limited to 32KiB.
7630
+ """
7631
+ pulumi.set(__self__, "interpreter", interpreter)
7632
+ if args is not None:
7633
+ pulumi.set(__self__, "args", args)
7634
+ if file is not None:
7635
+ pulumi.set(__self__, "file", file)
7636
+ if output_file_path is not None:
7637
+ pulumi.set(__self__, "output_file_path", output_file_path)
7638
+ if script is not None:
7639
+ pulumi.set(__self__, "script", script)
7640
+
7641
+ @property
7642
+ @pulumi.getter
7643
+ def interpreter(self) -> str:
7644
+ """
7645
+ Required. The script interpreter to use.
7646
+ Possible values:
7647
+ INTERPRETER_UNSPECIFIED
7648
+ NONE
7649
+ SHELL
7650
+ POWERSHELL
7651
+ """
7652
+ return pulumi.get(self, "interpreter")
7653
+
7654
+ @property
7655
+ @pulumi.getter
7656
+ def args(self) -> Optional[Sequence[str]]:
7657
+ """
7658
+ Optional arguments to pass to the source during execution.
7659
+ """
7660
+ return pulumi.get(self, "args")
7661
+
7662
+ @property
7663
+ @pulumi.getter
7664
+ def file(self) -> Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecEnforceFile']:
7665
+ """
7666
+ A remote or local file.
7667
+ Structure is documented below.
7668
+ """
7669
+ return pulumi.get(self, "file")
7670
+
7671
+ @property
7672
+ @pulumi.getter(name="outputFilePath")
7673
+ def output_file_path(self) -> Optional[str]:
7674
+ """
7675
+ Only recorded for enforce Exec.
7676
+ Path to an output file (that is created by this Exec) whose
7677
+ content will be recorded in OSPolicyResourceCompliance after a
7678
+ successful run. Absence or failure to read this file will result in
7679
+ this ExecResource being non-compliant. Output file size is limited to
7680
+ 500K bytes.
7681
+ """
7682
+ return pulumi.get(self, "output_file_path")
7683
+
7684
+ @property
7685
+ @pulumi.getter
7686
+ def script(self) -> Optional[str]:
7687
+ """
7688
+ An inline script.
7689
+ The size of the script is limited to 32KiB.
7690
+ """
7691
+ return pulumi.get(self, "script")
7692
+
7693
+
7694
+ @pulumi.output_type
7695
+ class V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecEnforceFile(dict):
7696
+ @staticmethod
7697
+ def __key_warning(key: str):
7698
+ suggest = None
7699
+ if key == "allowInsecure":
7700
+ suggest = "allow_insecure"
7701
+ elif key == "localPath":
7702
+ suggest = "local_path"
7703
+
7704
+ if suggest:
7705
+ pulumi.log.warn(f"Key '{key}' not found in V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecEnforceFile. Access the value via the '{suggest}' property getter instead.")
7706
+
7707
+ def __getitem__(self, key: str) -> Any:
7708
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecEnforceFile.__key_warning(key)
7709
+ return super().__getitem__(key)
7710
+
7711
+ def get(self, key: str, default = None) -> Any:
7712
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecEnforceFile.__key_warning(key)
7713
+ return super().get(key, default)
7714
+
7715
+ def __init__(__self__, *,
7716
+ allow_insecure: Optional[bool] = None,
7717
+ gcs: Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecEnforceFileGcs'] = None,
7718
+ local_path: Optional[str] = None,
7719
+ remote: Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecEnforceFileRemote'] = None):
7720
+ """
7721
+ :param bool allow_insecure: Defaults to false. When false, files are subject to validations
7722
+ based on the file type:
7723
+ Remote: A checksum must be specified.
7724
+ Cloud Storage: An object generation number must be specified.
7725
+ :param 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecEnforceFileGcsArgs' gcs: Specifies a file available as a Cloud Storage Object.
7726
+ Structure is documented below.
7727
+ :param str local_path: A local path within the VM to use.
7728
+ :param 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecEnforceFileRemoteArgs' remote: Specifies a file available via some URI.
7729
+ Structure is documented below.
7730
+ """
7731
+ if allow_insecure is not None:
7732
+ pulumi.set(__self__, "allow_insecure", allow_insecure)
7733
+ if gcs is not None:
7734
+ pulumi.set(__self__, "gcs", gcs)
7735
+ if local_path is not None:
7736
+ pulumi.set(__self__, "local_path", local_path)
7737
+ if remote is not None:
7738
+ pulumi.set(__self__, "remote", remote)
7739
+
7740
+ @property
7741
+ @pulumi.getter(name="allowInsecure")
7742
+ def allow_insecure(self) -> Optional[bool]:
7743
+ """
7744
+ Defaults to false. When false, files are subject to validations
7745
+ based on the file type:
7746
+ Remote: A checksum must be specified.
7747
+ Cloud Storage: An object generation number must be specified.
7748
+ """
7749
+ return pulumi.get(self, "allow_insecure")
7750
+
7751
+ @property
7752
+ @pulumi.getter
7753
+ def gcs(self) -> Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecEnforceFileGcs']:
7754
+ """
7755
+ Specifies a file available as a Cloud Storage Object.
7756
+ Structure is documented below.
7757
+ """
7758
+ return pulumi.get(self, "gcs")
7759
+
7760
+ @property
7761
+ @pulumi.getter(name="localPath")
7762
+ def local_path(self) -> Optional[str]:
7763
+ """
7764
+ A local path within the VM to use.
7765
+ """
7766
+ return pulumi.get(self, "local_path")
7767
+
7768
+ @property
7769
+ @pulumi.getter
7770
+ def remote(self) -> Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecEnforceFileRemote']:
7771
+ """
7772
+ Specifies a file available via some URI.
7773
+ Structure is documented below.
7774
+ """
7775
+ return pulumi.get(self, "remote")
7776
+
7777
+
7778
+ @pulumi.output_type
7779
+ class V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecEnforceFileGcs(dict):
7780
+ def __init__(__self__, *,
7781
+ bucket: str,
7782
+ object: str,
7783
+ generation: Optional[str] = None):
7784
+ """
7785
+ :param str bucket: Required. Bucket of the Cloud Storage object.
7786
+ :param str object: Required. Name of the Cloud Storage object.
7787
+ :param str generation: Generation number of the Cloud Storage object.
7788
+ """
7789
+ pulumi.set(__self__, "bucket", bucket)
7790
+ pulumi.set(__self__, "object", object)
7791
+ if generation is not None:
7792
+ pulumi.set(__self__, "generation", generation)
7793
+
7794
+ @property
7795
+ @pulumi.getter
7796
+ def bucket(self) -> str:
7797
+ """
7798
+ Required. Bucket of the Cloud Storage object.
7799
+ """
7800
+ return pulumi.get(self, "bucket")
7801
+
7802
+ @property
7803
+ @pulumi.getter
7804
+ def object(self) -> str:
7805
+ """
7806
+ Required. Name of the Cloud Storage object.
7807
+ """
7808
+ return pulumi.get(self, "object")
7809
+
7810
+ @property
7811
+ @pulumi.getter
7812
+ def generation(self) -> Optional[str]:
7813
+ """
7814
+ Generation number of the Cloud Storage object.
7815
+ """
7816
+ return pulumi.get(self, "generation")
7817
+
7818
+
7819
+ @pulumi.output_type
7820
+ class V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecEnforceFileRemote(dict):
7821
+ @staticmethod
7822
+ def __key_warning(key: str):
7823
+ suggest = None
7824
+ if key == "sha256Checksum":
7825
+ suggest = "sha256_checksum"
7826
+
7827
+ if suggest:
7828
+ pulumi.log.warn(f"Key '{key}' not found in V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecEnforceFileRemote. Access the value via the '{suggest}' property getter instead.")
7829
+
7830
+ def __getitem__(self, key: str) -> Any:
7831
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecEnforceFileRemote.__key_warning(key)
7832
+ return super().__getitem__(key)
7833
+
7834
+ def get(self, key: str, default = None) -> Any:
7835
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecEnforceFileRemote.__key_warning(key)
7836
+ return super().get(key, default)
7837
+
7838
+ def __init__(__self__, *,
7839
+ uri: str,
7840
+ sha256_checksum: Optional[str] = None):
7841
+ """
7842
+ :param str uri: Required. URI from which to fetch the object. It should contain both the
7843
+ protocol and path following the format `{protocol}://{location}`.
7844
+ :param str sha256_checksum: SHA256 checksum of the remote file.
7845
+ """
7846
+ pulumi.set(__self__, "uri", uri)
7847
+ if sha256_checksum is not None:
7848
+ pulumi.set(__self__, "sha256_checksum", sha256_checksum)
7849
+
7850
+ @property
7851
+ @pulumi.getter
7852
+ def uri(self) -> str:
7853
+ """
7854
+ Required. URI from which to fetch the object. It should contain both the
7855
+ protocol and path following the format `{protocol}://{location}`.
7856
+ """
7857
+ return pulumi.get(self, "uri")
7858
+
7859
+ @property
7860
+ @pulumi.getter(name="sha256Checksum")
7861
+ def sha256_checksum(self) -> Optional[str]:
7862
+ """
7863
+ SHA256 checksum of the remote file.
7864
+ """
7865
+ return pulumi.get(self, "sha256_checksum")
7866
+
7867
+
7868
+ @pulumi.output_type
7869
+ class V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecValidate(dict):
7870
+ @staticmethod
7871
+ def __key_warning(key: str):
7872
+ suggest = None
7873
+ if key == "outputFilePath":
7874
+ suggest = "output_file_path"
7875
+
7876
+ if suggest:
7877
+ pulumi.log.warn(f"Key '{key}' not found in V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecValidate. Access the value via the '{suggest}' property getter instead.")
7878
+
7879
+ def __getitem__(self, key: str) -> Any:
7880
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecValidate.__key_warning(key)
7881
+ return super().__getitem__(key)
7882
+
7883
+ def get(self, key: str, default = None) -> Any:
7884
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecValidate.__key_warning(key)
7885
+ return super().get(key, default)
7886
+
7887
+ def __init__(__self__, *,
7888
+ interpreter: str,
7889
+ args: Optional[Sequence[str]] = None,
7890
+ file: Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecValidateFile'] = None,
7891
+ output_file_path: Optional[str] = None,
7892
+ script: Optional[str] = None):
7893
+ """
7894
+ :param str interpreter: Required. The script interpreter to use.
7895
+ Possible values:
7896
+ INTERPRETER_UNSPECIFIED
7897
+ NONE
7898
+ SHELL
7899
+ POWERSHELL
7900
+ :param Sequence[str] args: Optional arguments to pass to the source during execution.
7901
+ :param 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecValidateFileArgs' file: A remote or local file.
7902
+ Structure is documented below.
7903
+ :param str output_file_path: Only recorded for enforce Exec.
7904
+ Path to an output file (that is created by this Exec) whose
7905
+ content will be recorded in OSPolicyResourceCompliance after a
7906
+ successful run. Absence or failure to read this file will result in
7907
+ this ExecResource being non-compliant. Output file size is limited to
7908
+ 500K bytes.
7909
+ :param str script: An inline script.
7910
+ The size of the script is limited to 32KiB.
7911
+ """
7912
+ pulumi.set(__self__, "interpreter", interpreter)
7913
+ if args is not None:
7914
+ pulumi.set(__self__, "args", args)
7915
+ if file is not None:
7916
+ pulumi.set(__self__, "file", file)
7917
+ if output_file_path is not None:
7918
+ pulumi.set(__self__, "output_file_path", output_file_path)
7919
+ if script is not None:
7920
+ pulumi.set(__self__, "script", script)
7921
+
7922
+ @property
7923
+ @pulumi.getter
7924
+ def interpreter(self) -> str:
7925
+ """
7926
+ Required. The script interpreter to use.
7927
+ Possible values:
7928
+ INTERPRETER_UNSPECIFIED
7929
+ NONE
7930
+ SHELL
7931
+ POWERSHELL
7932
+ """
7933
+ return pulumi.get(self, "interpreter")
7934
+
7935
+ @property
7936
+ @pulumi.getter
7937
+ def args(self) -> Optional[Sequence[str]]:
7938
+ """
7939
+ Optional arguments to pass to the source during execution.
7940
+ """
7941
+ return pulumi.get(self, "args")
7942
+
7943
+ @property
7944
+ @pulumi.getter
7945
+ def file(self) -> Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecValidateFile']:
7946
+ """
7947
+ A remote or local file.
7948
+ Structure is documented below.
7949
+ """
7950
+ return pulumi.get(self, "file")
7951
+
7952
+ @property
7953
+ @pulumi.getter(name="outputFilePath")
7954
+ def output_file_path(self) -> Optional[str]:
7955
+ """
7956
+ Only recorded for enforce Exec.
7957
+ Path to an output file (that is created by this Exec) whose
7958
+ content will be recorded in OSPolicyResourceCompliance after a
7959
+ successful run. Absence or failure to read this file will result in
7960
+ this ExecResource being non-compliant. Output file size is limited to
7961
+ 500K bytes.
7962
+ """
7963
+ return pulumi.get(self, "output_file_path")
7964
+
7965
+ @property
7966
+ @pulumi.getter
7967
+ def script(self) -> Optional[str]:
7968
+ """
7969
+ An inline script.
7970
+ The size of the script is limited to 32KiB.
7971
+ """
7972
+ return pulumi.get(self, "script")
7973
+
7974
+
7975
+ @pulumi.output_type
7976
+ class V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecValidateFile(dict):
7977
+ @staticmethod
7978
+ def __key_warning(key: str):
7979
+ suggest = None
7980
+ if key == "allowInsecure":
7981
+ suggest = "allow_insecure"
7982
+ elif key == "localPath":
7983
+ suggest = "local_path"
7984
+
7985
+ if suggest:
7986
+ pulumi.log.warn(f"Key '{key}' not found in V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecValidateFile. Access the value via the '{suggest}' property getter instead.")
7987
+
7988
+ def __getitem__(self, key: str) -> Any:
7989
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecValidateFile.__key_warning(key)
7990
+ return super().__getitem__(key)
7991
+
7992
+ def get(self, key: str, default = None) -> Any:
7993
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecValidateFile.__key_warning(key)
7994
+ return super().get(key, default)
7995
+
7996
+ def __init__(__self__, *,
7997
+ allow_insecure: Optional[bool] = None,
7998
+ gcs: Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecValidateFileGcs'] = None,
7999
+ local_path: Optional[str] = None,
8000
+ remote: Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecValidateFileRemote'] = None):
8001
+ """
8002
+ :param bool allow_insecure: Defaults to false. When false, files are subject to validations
8003
+ based on the file type:
8004
+ Remote: A checksum must be specified.
8005
+ Cloud Storage: An object generation number must be specified.
8006
+ :param 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecValidateFileGcsArgs' gcs: Specifies a file available as a Cloud Storage Object.
8007
+ Structure is documented below.
8008
+ :param str local_path: A local path within the VM to use.
8009
+ :param 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecValidateFileRemoteArgs' remote: Specifies a file available via some URI.
8010
+ Structure is documented below.
8011
+ """
8012
+ if allow_insecure is not None:
8013
+ pulumi.set(__self__, "allow_insecure", allow_insecure)
8014
+ if gcs is not None:
8015
+ pulumi.set(__self__, "gcs", gcs)
8016
+ if local_path is not None:
8017
+ pulumi.set(__self__, "local_path", local_path)
8018
+ if remote is not None:
8019
+ pulumi.set(__self__, "remote", remote)
8020
+
8021
+ @property
8022
+ @pulumi.getter(name="allowInsecure")
8023
+ def allow_insecure(self) -> Optional[bool]:
8024
+ """
8025
+ Defaults to false. When false, files are subject to validations
8026
+ based on the file type:
8027
+ Remote: A checksum must be specified.
8028
+ Cloud Storage: An object generation number must be specified.
8029
+ """
8030
+ return pulumi.get(self, "allow_insecure")
8031
+
8032
+ @property
8033
+ @pulumi.getter
8034
+ def gcs(self) -> Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecValidateFileGcs']:
8035
+ """
8036
+ Specifies a file available as a Cloud Storage Object.
8037
+ Structure is documented below.
8038
+ """
8039
+ return pulumi.get(self, "gcs")
8040
+
8041
+ @property
8042
+ @pulumi.getter(name="localPath")
8043
+ def local_path(self) -> Optional[str]:
8044
+ """
8045
+ A local path within the VM to use.
8046
+ """
8047
+ return pulumi.get(self, "local_path")
8048
+
8049
+ @property
8050
+ @pulumi.getter
8051
+ def remote(self) -> Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecValidateFileRemote']:
8052
+ """
8053
+ Specifies a file available via some URI.
8054
+ Structure is documented below.
8055
+ """
8056
+ return pulumi.get(self, "remote")
8057
+
8058
+
8059
+ @pulumi.output_type
8060
+ class V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecValidateFileGcs(dict):
8061
+ def __init__(__self__, *,
8062
+ bucket: str,
8063
+ object: str,
8064
+ generation: Optional[str] = None):
8065
+ """
8066
+ :param str bucket: Required. Bucket of the Cloud Storage object.
8067
+ :param str object: Required. Name of the Cloud Storage object.
8068
+ :param str generation: Generation number of the Cloud Storage object.
8069
+ """
8070
+ pulumi.set(__self__, "bucket", bucket)
8071
+ pulumi.set(__self__, "object", object)
8072
+ if generation is not None:
8073
+ pulumi.set(__self__, "generation", generation)
8074
+
8075
+ @property
8076
+ @pulumi.getter
8077
+ def bucket(self) -> str:
8078
+ """
8079
+ Required. Bucket of the Cloud Storage object.
8080
+ """
8081
+ return pulumi.get(self, "bucket")
8082
+
8083
+ @property
8084
+ @pulumi.getter
8085
+ def object(self) -> str:
8086
+ """
8087
+ Required. Name of the Cloud Storage object.
8088
+ """
8089
+ return pulumi.get(self, "object")
8090
+
8091
+ @property
8092
+ @pulumi.getter
8093
+ def generation(self) -> Optional[str]:
8094
+ """
8095
+ Generation number of the Cloud Storage object.
8096
+ """
8097
+ return pulumi.get(self, "generation")
8098
+
8099
+
8100
+ @pulumi.output_type
8101
+ class V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecValidateFileRemote(dict):
8102
+ @staticmethod
8103
+ def __key_warning(key: str):
8104
+ suggest = None
8105
+ if key == "sha256Checksum":
8106
+ suggest = "sha256_checksum"
8107
+
8108
+ if suggest:
8109
+ pulumi.log.warn(f"Key '{key}' not found in V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecValidateFileRemote. Access the value via the '{suggest}' property getter instead.")
8110
+
8111
+ def __getitem__(self, key: str) -> Any:
8112
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecValidateFileRemote.__key_warning(key)
8113
+ return super().__getitem__(key)
8114
+
8115
+ def get(self, key: str, default = None) -> Any:
8116
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceExecValidateFileRemote.__key_warning(key)
8117
+ return super().get(key, default)
8118
+
8119
+ def __init__(__self__, *,
8120
+ uri: str,
8121
+ sha256_checksum: Optional[str] = None):
8122
+ """
8123
+ :param str uri: Required. URI from which to fetch the object. It should contain both the
8124
+ protocol and path following the format `{protocol}://{location}`.
8125
+ :param str sha256_checksum: SHA256 checksum of the remote file.
8126
+ """
8127
+ pulumi.set(__self__, "uri", uri)
8128
+ if sha256_checksum is not None:
8129
+ pulumi.set(__self__, "sha256_checksum", sha256_checksum)
8130
+
8131
+ @property
8132
+ @pulumi.getter
8133
+ def uri(self) -> str:
8134
+ """
8135
+ Required. URI from which to fetch the object. It should contain both the
8136
+ protocol and path following the format `{protocol}://{location}`.
8137
+ """
8138
+ return pulumi.get(self, "uri")
8139
+
8140
+ @property
8141
+ @pulumi.getter(name="sha256Checksum")
8142
+ def sha256_checksum(self) -> Optional[str]:
8143
+ """
8144
+ SHA256 checksum of the remote file.
8145
+ """
8146
+ return pulumi.get(self, "sha256_checksum")
8147
+
8148
+
8149
+ @pulumi.output_type
8150
+ class V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceFile(dict):
8151
+ def __init__(__self__, *,
8152
+ path: str,
8153
+ state: str,
8154
+ content: Optional[str] = None,
8155
+ file: Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceFileFile'] = None,
8156
+ permissions: Optional[str] = None):
8157
+ """
8158
+ :param str path: Required. The absolute path of the file within the VM.
8159
+ :param str state: Required. Desired state of the file.
8160
+ Possible values:
8161
+ DESIRED_STATE_UNSPECIFIED
8162
+ PRESENT
8163
+ ABSENT
8164
+ CONTENTS_MATCH
8165
+ :param str content: A a file with this content.
8166
+ The size of the content is limited to 32KiB.
8167
+ :param 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceFileFileArgs' file: A remote or local file.
8168
+ Structure is documented below.
8169
+ :param str permissions: Consists of three octal digits which represent, in
8170
+ order, the permissions of the owner, group, and other users for the
8171
+ file (similarly to the numeric mode used in the linux chmod
8172
+ utility). Each digit represents a three bit number with the 4 bit
8173
+ corresponding to the read permissions, the 2 bit corresponds to the
8174
+ write bit, and the one bit corresponds to the execute permission.
8175
+ Default behavior is 755.
8176
+ Below are some examples of permissions and their associated values:
8177
+ read, write, and execute: 7
8178
+ read and execute: 5
8179
+ read and write: 6
8180
+ read only: 4
8181
+ """
8182
+ pulumi.set(__self__, "path", path)
8183
+ pulumi.set(__self__, "state", state)
8184
+ if content is not None:
8185
+ pulumi.set(__self__, "content", content)
8186
+ if file is not None:
8187
+ pulumi.set(__self__, "file", file)
8188
+ if permissions is not None:
8189
+ pulumi.set(__self__, "permissions", permissions)
8190
+
8191
+ @property
8192
+ @pulumi.getter
8193
+ def path(self) -> str:
8194
+ """
8195
+ Required. The absolute path of the file within the VM.
8196
+ """
8197
+ return pulumi.get(self, "path")
8198
+
8199
+ @property
8200
+ @pulumi.getter
8201
+ def state(self) -> str:
8202
+ """
8203
+ Required. Desired state of the file.
8204
+ Possible values:
8205
+ DESIRED_STATE_UNSPECIFIED
8206
+ PRESENT
8207
+ ABSENT
8208
+ CONTENTS_MATCH
8209
+ """
8210
+ return pulumi.get(self, "state")
8211
+
8212
+ @property
8213
+ @pulumi.getter
8214
+ def content(self) -> Optional[str]:
8215
+ """
8216
+ A a file with this content.
8217
+ The size of the content is limited to 32KiB.
8218
+ """
8219
+ return pulumi.get(self, "content")
8220
+
8221
+ @property
8222
+ @pulumi.getter
8223
+ def file(self) -> Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceFileFile']:
8224
+ """
8225
+ A remote or local file.
8226
+ Structure is documented below.
8227
+ """
8228
+ return pulumi.get(self, "file")
8229
+
8230
+ @property
8231
+ @pulumi.getter
8232
+ def permissions(self) -> Optional[str]:
8233
+ """
8234
+ Consists of three octal digits which represent, in
8235
+ order, the permissions of the owner, group, and other users for the
8236
+ file (similarly to the numeric mode used in the linux chmod
8237
+ utility). Each digit represents a three bit number with the 4 bit
8238
+ corresponding to the read permissions, the 2 bit corresponds to the
8239
+ write bit, and the one bit corresponds to the execute permission.
8240
+ Default behavior is 755.
8241
+ Below are some examples of permissions and their associated values:
8242
+ read, write, and execute: 7
8243
+ read and execute: 5
8244
+ read and write: 6
8245
+ read only: 4
8246
+ """
8247
+ return pulumi.get(self, "permissions")
8248
+
8249
+
8250
+ @pulumi.output_type
8251
+ class V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceFileFile(dict):
8252
+ @staticmethod
8253
+ def __key_warning(key: str):
8254
+ suggest = None
8255
+ if key == "allowInsecure":
8256
+ suggest = "allow_insecure"
8257
+ elif key == "localPath":
8258
+ suggest = "local_path"
8259
+
8260
+ if suggest:
8261
+ pulumi.log.warn(f"Key '{key}' not found in V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceFileFile. Access the value via the '{suggest}' property getter instead.")
8262
+
8263
+ def __getitem__(self, key: str) -> Any:
8264
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceFileFile.__key_warning(key)
8265
+ return super().__getitem__(key)
8266
+
8267
+ def get(self, key: str, default = None) -> Any:
8268
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceFileFile.__key_warning(key)
8269
+ return super().get(key, default)
8270
+
8271
+ def __init__(__self__, *,
8272
+ allow_insecure: Optional[bool] = None,
8273
+ gcs: Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceFileFileGcs'] = None,
8274
+ local_path: Optional[str] = None,
8275
+ remote: Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceFileFileRemote'] = None):
8276
+ """
8277
+ :param bool allow_insecure: Defaults to false. When false, files are subject to validations
8278
+ based on the file type:
8279
+ Remote: A checksum must be specified.
8280
+ Cloud Storage: An object generation number must be specified.
8281
+ :param 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceFileFileGcsArgs' gcs: Specifies a file available as a Cloud Storage Object.
8282
+ Structure is documented below.
8283
+ :param str local_path: A local path within the VM to use.
8284
+ :param 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceFileFileRemoteArgs' remote: Specifies a file available via some URI.
8285
+ Structure is documented below.
8286
+ """
8287
+ if allow_insecure is not None:
8288
+ pulumi.set(__self__, "allow_insecure", allow_insecure)
8289
+ if gcs is not None:
8290
+ pulumi.set(__self__, "gcs", gcs)
8291
+ if local_path is not None:
8292
+ pulumi.set(__self__, "local_path", local_path)
8293
+ if remote is not None:
8294
+ pulumi.set(__self__, "remote", remote)
8295
+
8296
+ @property
8297
+ @pulumi.getter(name="allowInsecure")
8298
+ def allow_insecure(self) -> Optional[bool]:
8299
+ """
8300
+ Defaults to false. When false, files are subject to validations
8301
+ based on the file type:
8302
+ Remote: A checksum must be specified.
8303
+ Cloud Storage: An object generation number must be specified.
8304
+ """
8305
+ return pulumi.get(self, "allow_insecure")
8306
+
8307
+ @property
8308
+ @pulumi.getter
8309
+ def gcs(self) -> Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceFileFileGcs']:
8310
+ """
8311
+ Specifies a file available as a Cloud Storage Object.
8312
+ Structure is documented below.
8313
+ """
8314
+ return pulumi.get(self, "gcs")
8315
+
8316
+ @property
8317
+ @pulumi.getter(name="localPath")
8318
+ def local_path(self) -> Optional[str]:
8319
+ """
8320
+ A local path within the VM to use.
8321
+ """
8322
+ return pulumi.get(self, "local_path")
8323
+
8324
+ @property
8325
+ @pulumi.getter
8326
+ def remote(self) -> Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceFileFileRemote']:
8327
+ """
8328
+ Specifies a file available via some URI.
8329
+ Structure is documented below.
8330
+ """
8331
+ return pulumi.get(self, "remote")
8332
+
8333
+
8334
+ @pulumi.output_type
8335
+ class V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceFileFileGcs(dict):
8336
+ def __init__(__self__, *,
8337
+ bucket: str,
8338
+ object: str,
8339
+ generation: Optional[str] = None):
8340
+ """
8341
+ :param str bucket: Required. Bucket of the Cloud Storage object.
8342
+ :param str object: Required. Name of the Cloud Storage object.
8343
+ :param str generation: Generation number of the Cloud Storage object.
8344
+ """
8345
+ pulumi.set(__self__, "bucket", bucket)
8346
+ pulumi.set(__self__, "object", object)
8347
+ if generation is not None:
8348
+ pulumi.set(__self__, "generation", generation)
8349
+
8350
+ @property
8351
+ @pulumi.getter
8352
+ def bucket(self) -> str:
8353
+ """
8354
+ Required. Bucket of the Cloud Storage object.
8355
+ """
8356
+ return pulumi.get(self, "bucket")
8357
+
8358
+ @property
8359
+ @pulumi.getter
8360
+ def object(self) -> str:
8361
+ """
8362
+ Required. Name of the Cloud Storage object.
8363
+ """
8364
+ return pulumi.get(self, "object")
8365
+
8366
+ @property
8367
+ @pulumi.getter
8368
+ def generation(self) -> Optional[str]:
8369
+ """
8370
+ Generation number of the Cloud Storage object.
8371
+ """
8372
+ return pulumi.get(self, "generation")
8373
+
8374
+
8375
+ @pulumi.output_type
8376
+ class V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceFileFileRemote(dict):
8377
+ @staticmethod
8378
+ def __key_warning(key: str):
8379
+ suggest = None
8380
+ if key == "sha256Checksum":
8381
+ suggest = "sha256_checksum"
8382
+
8383
+ if suggest:
8384
+ pulumi.log.warn(f"Key '{key}' not found in V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceFileFileRemote. Access the value via the '{suggest}' property getter instead.")
8385
+
8386
+ def __getitem__(self, key: str) -> Any:
8387
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceFileFileRemote.__key_warning(key)
8388
+ return super().__getitem__(key)
8389
+
8390
+ def get(self, key: str, default = None) -> Any:
8391
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceFileFileRemote.__key_warning(key)
8392
+ return super().get(key, default)
8393
+
8394
+ def __init__(__self__, *,
8395
+ uri: str,
8396
+ sha256_checksum: Optional[str] = None):
8397
+ """
8398
+ :param str uri: Required. URI from which to fetch the object. It should contain both the
8399
+ protocol and path following the format `{protocol}://{location}`.
8400
+ :param str sha256_checksum: SHA256 checksum of the remote file.
8401
+ """
8402
+ pulumi.set(__self__, "uri", uri)
8403
+ if sha256_checksum is not None:
8404
+ pulumi.set(__self__, "sha256_checksum", sha256_checksum)
8405
+
8406
+ @property
8407
+ @pulumi.getter
8408
+ def uri(self) -> str:
8409
+ """
8410
+ Required. URI from which to fetch the object. It should contain both the
8411
+ protocol and path following the format `{protocol}://{location}`.
8412
+ """
8413
+ return pulumi.get(self, "uri")
8414
+
8415
+ @property
8416
+ @pulumi.getter(name="sha256Checksum")
8417
+ def sha256_checksum(self) -> Optional[str]:
8418
+ """
8419
+ SHA256 checksum of the remote file.
8420
+ """
8421
+ return pulumi.get(self, "sha256_checksum")
8422
+
8423
+
8424
+ @pulumi.output_type
8425
+ class V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkg(dict):
8426
+ @staticmethod
8427
+ def __key_warning(key: str):
8428
+ suggest = None
8429
+ if key == "desiredState":
8430
+ suggest = "desired_state"
8431
+
8432
+ if suggest:
8433
+ pulumi.log.warn(f"Key '{key}' not found in V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkg. Access the value via the '{suggest}' property getter instead.")
8434
+
8435
+ def __getitem__(self, key: str) -> Any:
8436
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkg.__key_warning(key)
8437
+ return super().__getitem__(key)
8438
+
8439
+ def get(self, key: str, default = None) -> Any:
8440
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkg.__key_warning(key)
8441
+ return super().get(key, default)
8442
+
8443
+ def __init__(__self__, *,
8444
+ desired_state: str,
8445
+ apt: Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgApt'] = None,
8446
+ deb: Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgDeb'] = None,
8447
+ googet: Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgGooget'] = None,
8448
+ msi: Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgMsi'] = None,
8449
+ rpm: Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgRpm'] = None,
8450
+ yum: Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgYum'] = None,
8451
+ zypper: Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgZypper'] = None):
8452
+ """
8453
+ :param str desired_state: Required. The desired state the agent should maintain for this package.
8454
+ Possible values:
8455
+ DESIRED_STATE_UNSPECIFIED
8456
+ INSTALLED
8457
+ REMOVED
8458
+ :param 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgAptArgs' apt: A package managed by APT.
8459
+ - install: `apt-get update && apt-get -y install [name]`
8460
+ - remove: `apt-get -y remove [name]`
8461
+ Structure is documented below.
8462
+ :param 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgDebArgs' deb: A deb package file. dpkg packages only support INSTALLED state.
8463
+ Structure is documented below.
8464
+ :param 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgGoogetArgs' googet: A package managed by GooGet.
8465
+ - install: `googet -noconfirm install package`
8466
+ - remove: `googet -noconfirm remove package`
8467
+ Structure is documented below.
8468
+ :param 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgMsiArgs' msi: An MSI package. MSI packages only support INSTALLED state.
8469
+ Structure is documented below.
8470
+ :param 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgRpmArgs' rpm: An RPM package file. RPM packages only support INSTALLED state.
8471
+ Structure is documented below.
8472
+ :param 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgYumArgs' yum: A package managed by YUM.
8473
+ - install: `yum -y install package`
8474
+ - remove: `yum -y remove package`
8475
+ Structure is documented below.
8476
+ :param 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgZypperArgs' zypper: A package managed by Zypper.
8477
+ - install: `zypper -y install package`
8478
+ - remove: `zypper -y rm package`
8479
+ Structure is documented below.
8480
+ """
8481
+ pulumi.set(__self__, "desired_state", desired_state)
8482
+ if apt is not None:
8483
+ pulumi.set(__self__, "apt", apt)
8484
+ if deb is not None:
8485
+ pulumi.set(__self__, "deb", deb)
8486
+ if googet is not None:
8487
+ pulumi.set(__self__, "googet", googet)
8488
+ if msi is not None:
8489
+ pulumi.set(__self__, "msi", msi)
8490
+ if rpm is not None:
8491
+ pulumi.set(__self__, "rpm", rpm)
8492
+ if yum is not None:
8493
+ pulumi.set(__self__, "yum", yum)
8494
+ if zypper is not None:
8495
+ pulumi.set(__self__, "zypper", zypper)
8496
+
8497
+ @property
8498
+ @pulumi.getter(name="desiredState")
8499
+ def desired_state(self) -> str:
8500
+ """
8501
+ Required. The desired state the agent should maintain for this package.
8502
+ Possible values:
8503
+ DESIRED_STATE_UNSPECIFIED
8504
+ INSTALLED
8505
+ REMOVED
8506
+ """
8507
+ return pulumi.get(self, "desired_state")
8508
+
8509
+ @property
8510
+ @pulumi.getter
8511
+ def apt(self) -> Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgApt']:
8512
+ """
8513
+ A package managed by APT.
8514
+ - install: `apt-get update && apt-get -y install [name]`
8515
+ - remove: `apt-get -y remove [name]`
8516
+ Structure is documented below.
8517
+ """
8518
+ return pulumi.get(self, "apt")
8519
+
8520
+ @property
8521
+ @pulumi.getter
8522
+ def deb(self) -> Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgDeb']:
8523
+ """
8524
+ A deb package file. dpkg packages only support INSTALLED state.
8525
+ Structure is documented below.
8526
+ """
8527
+ return pulumi.get(self, "deb")
8528
+
8529
+ @property
8530
+ @pulumi.getter
8531
+ def googet(self) -> Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgGooget']:
8532
+ """
8533
+ A package managed by GooGet.
8534
+ - install: `googet -noconfirm install package`
8535
+ - remove: `googet -noconfirm remove package`
8536
+ Structure is documented below.
8537
+ """
8538
+ return pulumi.get(self, "googet")
8539
+
8540
+ @property
8541
+ @pulumi.getter
8542
+ def msi(self) -> Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgMsi']:
8543
+ """
8544
+ An MSI package. MSI packages only support INSTALLED state.
8545
+ Structure is documented below.
8546
+ """
8547
+ return pulumi.get(self, "msi")
8548
+
8549
+ @property
8550
+ @pulumi.getter
8551
+ def rpm(self) -> Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgRpm']:
8552
+ """
8553
+ An RPM package file. RPM packages only support INSTALLED state.
8554
+ Structure is documented below.
8555
+ """
8556
+ return pulumi.get(self, "rpm")
8557
+
8558
+ @property
8559
+ @pulumi.getter
8560
+ def yum(self) -> Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgYum']:
8561
+ """
8562
+ A package managed by YUM.
8563
+ - install: `yum -y install package`
8564
+ - remove: `yum -y remove package`
8565
+ Structure is documented below.
8566
+ """
8567
+ return pulumi.get(self, "yum")
8568
+
8569
+ @property
8570
+ @pulumi.getter
8571
+ def zypper(self) -> Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgZypper']:
8572
+ """
8573
+ A package managed by Zypper.
8574
+ - install: `zypper -y install package`
8575
+ - remove: `zypper -y rm package`
8576
+ Structure is documented below.
8577
+ """
8578
+ return pulumi.get(self, "zypper")
8579
+
8580
+
8581
+ @pulumi.output_type
8582
+ class V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgApt(dict):
8583
+ def __init__(__self__, *,
8584
+ name: str):
8585
+ """
8586
+ :param str name: Required. Package name.
8587
+ """
8588
+ pulumi.set(__self__, "name", name)
8589
+
8590
+ @property
8591
+ @pulumi.getter
8592
+ def name(self) -> str:
8593
+ """
8594
+ Required. Package name.
8595
+ """
8596
+ return pulumi.get(self, "name")
8597
+
8598
+
8599
+ @pulumi.output_type
8600
+ class V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgDeb(dict):
8601
+ @staticmethod
8602
+ def __key_warning(key: str):
8603
+ suggest = None
8604
+ if key == "pullDeps":
8605
+ suggest = "pull_deps"
8606
+
8607
+ if suggest:
8608
+ pulumi.log.warn(f"Key '{key}' not found in V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgDeb. Access the value via the '{suggest}' property getter instead.")
8609
+
8610
+ def __getitem__(self, key: str) -> Any:
8611
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgDeb.__key_warning(key)
8612
+ return super().__getitem__(key)
8613
+
8614
+ def get(self, key: str, default = None) -> Any:
8615
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgDeb.__key_warning(key)
8616
+ return super().get(key, default)
8617
+
8618
+ def __init__(__self__, *,
8619
+ source: 'outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgDebSource',
8620
+ pull_deps: Optional[bool] = None):
8621
+ """
8622
+ :param 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgDebSourceArgs' source: A remote or local file.
8623
+ Structure is documented below.
8624
+ :param bool pull_deps: Whether dependencies should also be installed.
8625
+ - install when false: `dpkg -i package`
8626
+ - install when true: `apt-get update && apt-get -y install
8627
+ package.deb`
8628
+ """
8629
+ pulumi.set(__self__, "source", source)
8630
+ if pull_deps is not None:
8631
+ pulumi.set(__self__, "pull_deps", pull_deps)
8632
+
8633
+ @property
8634
+ @pulumi.getter
8635
+ def source(self) -> 'outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgDebSource':
8636
+ """
8637
+ A remote or local file.
8638
+ Structure is documented below.
8639
+ """
8640
+ return pulumi.get(self, "source")
8641
+
8642
+ @property
8643
+ @pulumi.getter(name="pullDeps")
8644
+ def pull_deps(self) -> Optional[bool]:
8645
+ """
8646
+ Whether dependencies should also be installed.
8647
+ - install when false: `dpkg -i package`
8648
+ - install when true: `apt-get update && apt-get -y install
8649
+ package.deb`
8650
+ """
8651
+ return pulumi.get(self, "pull_deps")
8652
+
8653
+
8654
+ @pulumi.output_type
8655
+ class V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgDebSource(dict):
8656
+ @staticmethod
8657
+ def __key_warning(key: str):
8658
+ suggest = None
8659
+ if key == "allowInsecure":
8660
+ suggest = "allow_insecure"
8661
+ elif key == "localPath":
8662
+ suggest = "local_path"
8663
+
8664
+ if suggest:
8665
+ pulumi.log.warn(f"Key '{key}' not found in V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgDebSource. Access the value via the '{suggest}' property getter instead.")
8666
+
8667
+ def __getitem__(self, key: str) -> Any:
8668
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgDebSource.__key_warning(key)
8669
+ return super().__getitem__(key)
8670
+
8671
+ def get(self, key: str, default = None) -> Any:
8672
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgDebSource.__key_warning(key)
8673
+ return super().get(key, default)
8674
+
8675
+ def __init__(__self__, *,
8676
+ allow_insecure: Optional[bool] = None,
8677
+ gcs: Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgDebSourceGcs'] = None,
8678
+ local_path: Optional[str] = None,
8679
+ remote: Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgDebSourceRemote'] = None):
8680
+ """
8681
+ :param bool allow_insecure: Defaults to false. When false, files are subject to validations
8682
+ based on the file type:
8683
+ Remote: A checksum must be specified.
8684
+ Cloud Storage: An object generation number must be specified.
8685
+ :param 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgDebSourceGcsArgs' gcs: Specifies a file available as a Cloud Storage Object.
8686
+ Structure is documented below.
8687
+ :param str local_path: A local path within the VM to use.
8688
+ :param 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgDebSourceRemoteArgs' remote: Specifies a file available via some URI.
8689
+ Structure is documented below.
8690
+ """
8691
+ if allow_insecure is not None:
8692
+ pulumi.set(__self__, "allow_insecure", allow_insecure)
8693
+ if gcs is not None:
8694
+ pulumi.set(__self__, "gcs", gcs)
8695
+ if local_path is not None:
8696
+ pulumi.set(__self__, "local_path", local_path)
8697
+ if remote is not None:
8698
+ pulumi.set(__self__, "remote", remote)
8699
+
8700
+ @property
8701
+ @pulumi.getter(name="allowInsecure")
8702
+ def allow_insecure(self) -> Optional[bool]:
8703
+ """
8704
+ Defaults to false. When false, files are subject to validations
8705
+ based on the file type:
8706
+ Remote: A checksum must be specified.
8707
+ Cloud Storage: An object generation number must be specified.
8708
+ """
8709
+ return pulumi.get(self, "allow_insecure")
8710
+
8711
+ @property
8712
+ @pulumi.getter
8713
+ def gcs(self) -> Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgDebSourceGcs']:
8714
+ """
8715
+ Specifies a file available as a Cloud Storage Object.
8716
+ Structure is documented below.
8717
+ """
8718
+ return pulumi.get(self, "gcs")
8719
+
8720
+ @property
8721
+ @pulumi.getter(name="localPath")
8722
+ def local_path(self) -> Optional[str]:
8723
+ """
8724
+ A local path within the VM to use.
8725
+ """
8726
+ return pulumi.get(self, "local_path")
8727
+
8728
+ @property
8729
+ @pulumi.getter
8730
+ def remote(self) -> Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgDebSourceRemote']:
8731
+ """
8732
+ Specifies a file available via some URI.
8733
+ Structure is documented below.
8734
+ """
8735
+ return pulumi.get(self, "remote")
8736
+
8737
+
8738
+ @pulumi.output_type
8739
+ class V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgDebSourceGcs(dict):
8740
+ def __init__(__self__, *,
8741
+ bucket: str,
8742
+ object: str,
8743
+ generation: Optional[str] = None):
8744
+ """
8745
+ :param str bucket: Required. Bucket of the Cloud Storage object.
8746
+ :param str object: Required. Name of the Cloud Storage object.
8747
+ :param str generation: Generation number of the Cloud Storage object.
8748
+ """
8749
+ pulumi.set(__self__, "bucket", bucket)
8750
+ pulumi.set(__self__, "object", object)
8751
+ if generation is not None:
8752
+ pulumi.set(__self__, "generation", generation)
8753
+
8754
+ @property
8755
+ @pulumi.getter
8756
+ def bucket(self) -> str:
8757
+ """
8758
+ Required. Bucket of the Cloud Storage object.
8759
+ """
8760
+ return pulumi.get(self, "bucket")
8761
+
8762
+ @property
8763
+ @pulumi.getter
8764
+ def object(self) -> str:
8765
+ """
8766
+ Required. Name of the Cloud Storage object.
8767
+ """
8768
+ return pulumi.get(self, "object")
8769
+
8770
+ @property
8771
+ @pulumi.getter
8772
+ def generation(self) -> Optional[str]:
8773
+ """
8774
+ Generation number of the Cloud Storage object.
8775
+ """
8776
+ return pulumi.get(self, "generation")
8777
+
8778
+
8779
+ @pulumi.output_type
8780
+ class V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgDebSourceRemote(dict):
8781
+ @staticmethod
8782
+ def __key_warning(key: str):
8783
+ suggest = None
8784
+ if key == "sha256Checksum":
8785
+ suggest = "sha256_checksum"
8786
+
8787
+ if suggest:
8788
+ pulumi.log.warn(f"Key '{key}' not found in V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgDebSourceRemote. Access the value via the '{suggest}' property getter instead.")
8789
+
8790
+ def __getitem__(self, key: str) -> Any:
8791
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgDebSourceRemote.__key_warning(key)
8792
+ return super().__getitem__(key)
8793
+
8794
+ def get(self, key: str, default = None) -> Any:
8795
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgDebSourceRemote.__key_warning(key)
8796
+ return super().get(key, default)
8797
+
8798
+ def __init__(__self__, *,
8799
+ uri: str,
8800
+ sha256_checksum: Optional[str] = None):
8801
+ """
8802
+ :param str uri: Required. URI from which to fetch the object. It should contain both the
8803
+ protocol and path following the format `{protocol}://{location}`.
8804
+ :param str sha256_checksum: SHA256 checksum of the remote file.
8805
+ """
8806
+ pulumi.set(__self__, "uri", uri)
8807
+ if sha256_checksum is not None:
8808
+ pulumi.set(__self__, "sha256_checksum", sha256_checksum)
8809
+
8810
+ @property
8811
+ @pulumi.getter
8812
+ def uri(self) -> str:
8813
+ """
8814
+ Required. URI from which to fetch the object. It should contain both the
8815
+ protocol and path following the format `{protocol}://{location}`.
8816
+ """
8817
+ return pulumi.get(self, "uri")
8818
+
8819
+ @property
8820
+ @pulumi.getter(name="sha256Checksum")
8821
+ def sha256_checksum(self) -> Optional[str]:
8822
+ """
8823
+ SHA256 checksum of the remote file.
8824
+ """
8825
+ return pulumi.get(self, "sha256_checksum")
8826
+
8827
+
8828
+ @pulumi.output_type
8829
+ class V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgGooget(dict):
8830
+ def __init__(__self__, *,
8831
+ name: str):
8832
+ """
8833
+ :param str name: Required. Package name.
8834
+ """
8835
+ pulumi.set(__self__, "name", name)
8836
+
8837
+ @property
8838
+ @pulumi.getter
8839
+ def name(self) -> str:
8840
+ """
8841
+ Required. Package name.
8842
+ """
8843
+ return pulumi.get(self, "name")
8844
+
8845
+
8846
+ @pulumi.output_type
8847
+ class V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgMsi(dict):
8848
+ def __init__(__self__, *,
8849
+ source: 'outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgMsiSource',
8850
+ properties: Optional[Sequence[str]] = None):
8851
+ """
8852
+ :param 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgMsiSourceArgs' source: A remote or local file.
8853
+ Structure is documented below.
8854
+ :param Sequence[str] properties: Additional properties to use during installation.
8855
+ This should be in the format of Property=Setting.
8856
+ Appended to the defaults of `ACTION=INSTALL
8857
+ REBOOT=ReallySuppress`.
8858
+ """
8859
+ pulumi.set(__self__, "source", source)
8860
+ if properties is not None:
8861
+ pulumi.set(__self__, "properties", properties)
8862
+
8863
+ @property
8864
+ @pulumi.getter
8865
+ def source(self) -> 'outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgMsiSource':
8866
+ """
8867
+ A remote or local file.
8868
+ Structure is documented below.
8869
+ """
8870
+ return pulumi.get(self, "source")
8871
+
8872
+ @property
8873
+ @pulumi.getter
8874
+ def properties(self) -> Optional[Sequence[str]]:
8875
+ """
8876
+ Additional properties to use during installation.
8877
+ This should be in the format of Property=Setting.
8878
+ Appended to the defaults of `ACTION=INSTALL
8879
+ REBOOT=ReallySuppress`.
8880
+ """
8881
+ return pulumi.get(self, "properties")
8882
+
8883
+
8884
+ @pulumi.output_type
8885
+ class V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgMsiSource(dict):
8886
+ @staticmethod
8887
+ def __key_warning(key: str):
8888
+ suggest = None
8889
+ if key == "allowInsecure":
8890
+ suggest = "allow_insecure"
8891
+ elif key == "localPath":
8892
+ suggest = "local_path"
8893
+
8894
+ if suggest:
8895
+ pulumi.log.warn(f"Key '{key}' not found in V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgMsiSource. Access the value via the '{suggest}' property getter instead.")
8896
+
8897
+ def __getitem__(self, key: str) -> Any:
8898
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgMsiSource.__key_warning(key)
8899
+ return super().__getitem__(key)
8900
+
8901
+ def get(self, key: str, default = None) -> Any:
8902
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgMsiSource.__key_warning(key)
8903
+ return super().get(key, default)
8904
+
8905
+ def __init__(__self__, *,
8906
+ allow_insecure: Optional[bool] = None,
8907
+ gcs: Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgMsiSourceGcs'] = None,
8908
+ local_path: Optional[str] = None,
8909
+ remote: Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgMsiSourceRemote'] = None):
8910
+ """
8911
+ :param bool allow_insecure: Defaults to false. When false, files are subject to validations
8912
+ based on the file type:
8913
+ Remote: A checksum must be specified.
8914
+ Cloud Storage: An object generation number must be specified.
8915
+ :param 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgMsiSourceGcsArgs' gcs: Specifies a file available as a Cloud Storage Object.
8916
+ Structure is documented below.
8917
+ :param str local_path: A local path within the VM to use.
8918
+ :param 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgMsiSourceRemoteArgs' remote: Specifies a file available via some URI.
8919
+ Structure is documented below.
8920
+ """
8921
+ if allow_insecure is not None:
8922
+ pulumi.set(__self__, "allow_insecure", allow_insecure)
8923
+ if gcs is not None:
8924
+ pulumi.set(__self__, "gcs", gcs)
8925
+ if local_path is not None:
8926
+ pulumi.set(__self__, "local_path", local_path)
8927
+ if remote is not None:
8928
+ pulumi.set(__self__, "remote", remote)
8929
+
8930
+ @property
8931
+ @pulumi.getter(name="allowInsecure")
8932
+ def allow_insecure(self) -> Optional[bool]:
8933
+ """
8934
+ Defaults to false. When false, files are subject to validations
8935
+ based on the file type:
8936
+ Remote: A checksum must be specified.
8937
+ Cloud Storage: An object generation number must be specified.
8938
+ """
8939
+ return pulumi.get(self, "allow_insecure")
8940
+
8941
+ @property
8942
+ @pulumi.getter
8943
+ def gcs(self) -> Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgMsiSourceGcs']:
8944
+ """
8945
+ Specifies a file available as a Cloud Storage Object.
8946
+ Structure is documented below.
8947
+ """
8948
+ return pulumi.get(self, "gcs")
8949
+
8950
+ @property
8951
+ @pulumi.getter(name="localPath")
8952
+ def local_path(self) -> Optional[str]:
8953
+ """
8954
+ A local path within the VM to use.
8955
+ """
8956
+ return pulumi.get(self, "local_path")
8957
+
8958
+ @property
8959
+ @pulumi.getter
8960
+ def remote(self) -> Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgMsiSourceRemote']:
8961
+ """
8962
+ Specifies a file available via some URI.
8963
+ Structure is documented below.
8964
+ """
8965
+ return pulumi.get(self, "remote")
8966
+
8967
+
8968
+ @pulumi.output_type
8969
+ class V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgMsiSourceGcs(dict):
8970
+ def __init__(__self__, *,
8971
+ bucket: str,
8972
+ object: str,
8973
+ generation: Optional[str] = None):
8974
+ """
8975
+ :param str bucket: Required. Bucket of the Cloud Storage object.
8976
+ :param str object: Required. Name of the Cloud Storage object.
8977
+ :param str generation: Generation number of the Cloud Storage object.
8978
+ """
8979
+ pulumi.set(__self__, "bucket", bucket)
8980
+ pulumi.set(__self__, "object", object)
8981
+ if generation is not None:
8982
+ pulumi.set(__self__, "generation", generation)
8983
+
8984
+ @property
8985
+ @pulumi.getter
8986
+ def bucket(self) -> str:
8987
+ """
8988
+ Required. Bucket of the Cloud Storage object.
8989
+ """
8990
+ return pulumi.get(self, "bucket")
8991
+
8992
+ @property
8993
+ @pulumi.getter
8994
+ def object(self) -> str:
8995
+ """
8996
+ Required. Name of the Cloud Storage object.
8997
+ """
8998
+ return pulumi.get(self, "object")
8999
+
9000
+ @property
9001
+ @pulumi.getter
9002
+ def generation(self) -> Optional[str]:
9003
+ """
9004
+ Generation number of the Cloud Storage object.
9005
+ """
9006
+ return pulumi.get(self, "generation")
9007
+
9008
+
9009
+ @pulumi.output_type
9010
+ class V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgMsiSourceRemote(dict):
9011
+ @staticmethod
9012
+ def __key_warning(key: str):
9013
+ suggest = None
9014
+ if key == "sha256Checksum":
9015
+ suggest = "sha256_checksum"
9016
+
9017
+ if suggest:
9018
+ pulumi.log.warn(f"Key '{key}' not found in V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgMsiSourceRemote. Access the value via the '{suggest}' property getter instead.")
9019
+
9020
+ def __getitem__(self, key: str) -> Any:
9021
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgMsiSourceRemote.__key_warning(key)
9022
+ return super().__getitem__(key)
9023
+
9024
+ def get(self, key: str, default = None) -> Any:
9025
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgMsiSourceRemote.__key_warning(key)
9026
+ return super().get(key, default)
9027
+
9028
+ def __init__(__self__, *,
9029
+ uri: str,
9030
+ sha256_checksum: Optional[str] = None):
9031
+ """
9032
+ :param str uri: Required. URI from which to fetch the object. It should contain both the
9033
+ protocol and path following the format `{protocol}://{location}`.
9034
+ :param str sha256_checksum: SHA256 checksum of the remote file.
9035
+ """
9036
+ pulumi.set(__self__, "uri", uri)
9037
+ if sha256_checksum is not None:
9038
+ pulumi.set(__self__, "sha256_checksum", sha256_checksum)
9039
+
9040
+ @property
9041
+ @pulumi.getter
9042
+ def uri(self) -> str:
9043
+ """
9044
+ Required. URI from which to fetch the object. It should contain both the
9045
+ protocol and path following the format `{protocol}://{location}`.
9046
+ """
9047
+ return pulumi.get(self, "uri")
9048
+
9049
+ @property
9050
+ @pulumi.getter(name="sha256Checksum")
9051
+ def sha256_checksum(self) -> Optional[str]:
9052
+ """
9053
+ SHA256 checksum of the remote file.
9054
+ """
9055
+ return pulumi.get(self, "sha256_checksum")
9056
+
9057
+
9058
+ @pulumi.output_type
9059
+ class V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgRpm(dict):
9060
+ @staticmethod
9061
+ def __key_warning(key: str):
9062
+ suggest = None
9063
+ if key == "pullDeps":
9064
+ suggest = "pull_deps"
9065
+
9066
+ if suggest:
9067
+ pulumi.log.warn(f"Key '{key}' not found in V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgRpm. Access the value via the '{suggest}' property getter instead.")
9068
+
9069
+ def __getitem__(self, key: str) -> Any:
9070
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgRpm.__key_warning(key)
9071
+ return super().__getitem__(key)
9072
+
9073
+ def get(self, key: str, default = None) -> Any:
9074
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgRpm.__key_warning(key)
9075
+ return super().get(key, default)
9076
+
9077
+ def __init__(__self__, *,
9078
+ source: 'outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgRpmSource',
9079
+ pull_deps: Optional[bool] = None):
9080
+ """
9081
+ :param 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgRpmSourceArgs' source: A remote or local file.
9082
+ Structure is documented below.
9083
+ :param bool pull_deps: Whether dependencies should also be installed.
9084
+ - install when false: `rpm --upgrade --replacepkgs package.rpm`
9085
+ - install when true: `yum -y install package.rpm` or
9086
+ `zypper -y install package.rpm`
9087
+ """
9088
+ pulumi.set(__self__, "source", source)
9089
+ if pull_deps is not None:
9090
+ pulumi.set(__self__, "pull_deps", pull_deps)
9091
+
9092
+ @property
9093
+ @pulumi.getter
9094
+ def source(self) -> 'outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgRpmSource':
9095
+ """
9096
+ A remote or local file.
9097
+ Structure is documented below.
9098
+ """
9099
+ return pulumi.get(self, "source")
9100
+
9101
+ @property
9102
+ @pulumi.getter(name="pullDeps")
9103
+ def pull_deps(self) -> Optional[bool]:
9104
+ """
9105
+ Whether dependencies should also be installed.
9106
+ - install when false: `rpm --upgrade --replacepkgs package.rpm`
9107
+ - install when true: `yum -y install package.rpm` or
9108
+ `zypper -y install package.rpm`
9109
+ """
9110
+ return pulumi.get(self, "pull_deps")
9111
+
9112
+
9113
+ @pulumi.output_type
9114
+ class V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgRpmSource(dict):
9115
+ @staticmethod
9116
+ def __key_warning(key: str):
9117
+ suggest = None
9118
+ if key == "allowInsecure":
9119
+ suggest = "allow_insecure"
9120
+ elif key == "localPath":
9121
+ suggest = "local_path"
9122
+
9123
+ if suggest:
9124
+ pulumi.log.warn(f"Key '{key}' not found in V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgRpmSource. Access the value via the '{suggest}' property getter instead.")
9125
+
9126
+ def __getitem__(self, key: str) -> Any:
9127
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgRpmSource.__key_warning(key)
9128
+ return super().__getitem__(key)
9129
+
9130
+ def get(self, key: str, default = None) -> Any:
9131
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgRpmSource.__key_warning(key)
9132
+ return super().get(key, default)
9133
+
9134
+ def __init__(__self__, *,
9135
+ allow_insecure: Optional[bool] = None,
9136
+ gcs: Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgRpmSourceGcs'] = None,
9137
+ local_path: Optional[str] = None,
9138
+ remote: Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgRpmSourceRemote'] = None):
9139
+ """
9140
+ :param bool allow_insecure: Defaults to false. When false, files are subject to validations
9141
+ based on the file type:
9142
+ Remote: A checksum must be specified.
9143
+ Cloud Storage: An object generation number must be specified.
9144
+ :param 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgRpmSourceGcsArgs' gcs: Specifies a file available as a Cloud Storage Object.
9145
+ Structure is documented below.
9146
+ :param str local_path: A local path within the VM to use.
9147
+ :param 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgRpmSourceRemoteArgs' remote: Specifies a file available via some URI.
9148
+ Structure is documented below.
9149
+ """
9150
+ if allow_insecure is not None:
9151
+ pulumi.set(__self__, "allow_insecure", allow_insecure)
9152
+ if gcs is not None:
9153
+ pulumi.set(__self__, "gcs", gcs)
9154
+ if local_path is not None:
9155
+ pulumi.set(__self__, "local_path", local_path)
9156
+ if remote is not None:
9157
+ pulumi.set(__self__, "remote", remote)
9158
+
9159
+ @property
9160
+ @pulumi.getter(name="allowInsecure")
9161
+ def allow_insecure(self) -> Optional[bool]:
9162
+ """
9163
+ Defaults to false. When false, files are subject to validations
9164
+ based on the file type:
9165
+ Remote: A checksum must be specified.
9166
+ Cloud Storage: An object generation number must be specified.
9167
+ """
9168
+ return pulumi.get(self, "allow_insecure")
9169
+
9170
+ @property
9171
+ @pulumi.getter
9172
+ def gcs(self) -> Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgRpmSourceGcs']:
9173
+ """
9174
+ Specifies a file available as a Cloud Storage Object.
9175
+ Structure is documented below.
9176
+ """
9177
+ return pulumi.get(self, "gcs")
9178
+
9179
+ @property
9180
+ @pulumi.getter(name="localPath")
9181
+ def local_path(self) -> Optional[str]:
9182
+ """
9183
+ A local path within the VM to use.
9184
+ """
9185
+ return pulumi.get(self, "local_path")
9186
+
9187
+ @property
9188
+ @pulumi.getter
9189
+ def remote(self) -> Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgRpmSourceRemote']:
9190
+ """
9191
+ Specifies a file available via some URI.
9192
+ Structure is documented below.
9193
+ """
9194
+ return pulumi.get(self, "remote")
9195
+
9196
+
9197
+ @pulumi.output_type
9198
+ class V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgRpmSourceGcs(dict):
9199
+ def __init__(__self__, *,
9200
+ bucket: str,
9201
+ object: str,
9202
+ generation: Optional[str] = None):
9203
+ """
9204
+ :param str bucket: Required. Bucket of the Cloud Storage object.
9205
+ :param str object: Required. Name of the Cloud Storage object.
9206
+ :param str generation: Generation number of the Cloud Storage object.
9207
+ """
9208
+ pulumi.set(__self__, "bucket", bucket)
9209
+ pulumi.set(__self__, "object", object)
9210
+ if generation is not None:
9211
+ pulumi.set(__self__, "generation", generation)
9212
+
9213
+ @property
9214
+ @pulumi.getter
9215
+ def bucket(self) -> str:
9216
+ """
9217
+ Required. Bucket of the Cloud Storage object.
9218
+ """
9219
+ return pulumi.get(self, "bucket")
9220
+
9221
+ @property
9222
+ @pulumi.getter
9223
+ def object(self) -> str:
9224
+ """
9225
+ Required. Name of the Cloud Storage object.
9226
+ """
9227
+ return pulumi.get(self, "object")
9228
+
9229
+ @property
9230
+ @pulumi.getter
9231
+ def generation(self) -> Optional[str]:
9232
+ """
9233
+ Generation number of the Cloud Storage object.
9234
+ """
9235
+ return pulumi.get(self, "generation")
9236
+
9237
+
9238
+ @pulumi.output_type
9239
+ class V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgRpmSourceRemote(dict):
9240
+ @staticmethod
9241
+ def __key_warning(key: str):
9242
+ suggest = None
9243
+ if key == "sha256Checksum":
9244
+ suggest = "sha256_checksum"
9245
+
9246
+ if suggest:
9247
+ pulumi.log.warn(f"Key '{key}' not found in V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgRpmSourceRemote. Access the value via the '{suggest}' property getter instead.")
9248
+
9249
+ def __getitem__(self, key: str) -> Any:
9250
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgRpmSourceRemote.__key_warning(key)
9251
+ return super().__getitem__(key)
9252
+
9253
+ def get(self, key: str, default = None) -> Any:
9254
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgRpmSourceRemote.__key_warning(key)
9255
+ return super().get(key, default)
9256
+
9257
+ def __init__(__self__, *,
9258
+ uri: str,
9259
+ sha256_checksum: Optional[str] = None):
9260
+ """
9261
+ :param str uri: Required. URI from which to fetch the object. It should contain both the
9262
+ protocol and path following the format `{protocol}://{location}`.
9263
+ :param str sha256_checksum: SHA256 checksum of the remote file.
9264
+ """
9265
+ pulumi.set(__self__, "uri", uri)
9266
+ if sha256_checksum is not None:
9267
+ pulumi.set(__self__, "sha256_checksum", sha256_checksum)
9268
+
9269
+ @property
9270
+ @pulumi.getter
9271
+ def uri(self) -> str:
9272
+ """
9273
+ Required. URI from which to fetch the object. It should contain both the
9274
+ protocol and path following the format `{protocol}://{location}`.
9275
+ """
9276
+ return pulumi.get(self, "uri")
9277
+
9278
+ @property
9279
+ @pulumi.getter(name="sha256Checksum")
9280
+ def sha256_checksum(self) -> Optional[str]:
9281
+ """
9282
+ SHA256 checksum of the remote file.
9283
+ """
9284
+ return pulumi.get(self, "sha256_checksum")
9285
+
9286
+
9287
+ @pulumi.output_type
9288
+ class V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgYum(dict):
9289
+ def __init__(__self__, *,
9290
+ name: str):
9291
+ """
9292
+ :param str name: Required. Package name.
9293
+ """
9294
+ pulumi.set(__self__, "name", name)
9295
+
9296
+ @property
9297
+ @pulumi.getter
9298
+ def name(self) -> str:
9299
+ """
9300
+ Required. Package name.
9301
+ """
9302
+ return pulumi.get(self, "name")
9303
+
9304
+
9305
+ @pulumi.output_type
9306
+ class V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourcePkgZypper(dict):
9307
+ def __init__(__self__, *,
9308
+ name: str):
9309
+ """
9310
+ :param str name: Required. Package name.
9311
+ """
9312
+ pulumi.set(__self__, "name", name)
9313
+
9314
+ @property
9315
+ @pulumi.getter
9316
+ def name(self) -> str:
9317
+ """
9318
+ Required. Package name.
9319
+ """
9320
+ return pulumi.get(self, "name")
9321
+
9322
+
9323
+ @pulumi.output_type
9324
+ class V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceRepository(dict):
9325
+ def __init__(__self__, *,
9326
+ apt: Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceRepositoryApt'] = None,
9327
+ goo: Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceRepositoryGoo'] = None,
9328
+ yum: Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceRepositoryYum'] = None,
9329
+ zypper: Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceRepositoryZypper'] = None):
9330
+ """
9331
+ :param 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceRepositoryAptArgs' apt: Represents a single apt package repository. These will be added to
9332
+ a repo file that will be managed at
9333
+ `/etc/apt/sources.list.d/google_osconfig.list`.
9334
+ Structure is documented below.
9335
+ :param 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceRepositoryGooArgs' goo: Represents a Goo package repository. These are added to a repo file
9336
+ that is managed at
9337
+ `C:/ProgramData/GooGet/repos/google_osconfig.repo`.
9338
+ Structure is documented below.
9339
+ :param 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceRepositoryYumArgs' yum: Represents a single yum package repository. These are added to a
9340
+ repo file that is managed at
9341
+ `/etc/yum.repos.d/google_osconfig.repo`.
9342
+ Structure is documented below.
9343
+ :param 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceRepositoryZypperArgs' zypper: Represents a single zypper package repository. These are added to a
9344
+ repo file that is managed at
9345
+ `/etc/zypp/repos.d/google_osconfig.repo`.
9346
+ Structure is documented below.
9347
+ """
9348
+ if apt is not None:
9349
+ pulumi.set(__self__, "apt", apt)
9350
+ if goo is not None:
9351
+ pulumi.set(__self__, "goo", goo)
9352
+ if yum is not None:
9353
+ pulumi.set(__self__, "yum", yum)
9354
+ if zypper is not None:
9355
+ pulumi.set(__self__, "zypper", zypper)
9356
+
9357
+ @property
9358
+ @pulumi.getter
9359
+ def apt(self) -> Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceRepositoryApt']:
9360
+ """
9361
+ Represents a single apt package repository. These will be added to
9362
+ a repo file that will be managed at
9363
+ `/etc/apt/sources.list.d/google_osconfig.list`.
9364
+ Structure is documented below.
9365
+ """
9366
+ return pulumi.get(self, "apt")
9367
+
9368
+ @property
9369
+ @pulumi.getter
9370
+ def goo(self) -> Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceRepositoryGoo']:
9371
+ """
9372
+ Represents a Goo package repository. These are added to a repo file
9373
+ that is managed at
9374
+ `C:/ProgramData/GooGet/repos/google_osconfig.repo`.
9375
+ Structure is documented below.
9376
+ """
9377
+ return pulumi.get(self, "goo")
9378
+
9379
+ @property
9380
+ @pulumi.getter
9381
+ def yum(self) -> Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceRepositoryYum']:
9382
+ """
9383
+ Represents a single yum package repository. These are added to a
9384
+ repo file that is managed at
9385
+ `/etc/yum.repos.d/google_osconfig.repo`.
9386
+ Structure is documented below.
9387
+ """
9388
+ return pulumi.get(self, "yum")
9389
+
9390
+ @property
9391
+ @pulumi.getter
9392
+ def zypper(self) -> Optional['outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceRepositoryZypper']:
9393
+ """
9394
+ Represents a single zypper package repository. These are added to a
9395
+ repo file that is managed at
9396
+ `/etc/zypp/repos.d/google_osconfig.repo`.
9397
+ Structure is documented below.
9398
+ """
9399
+ return pulumi.get(self, "zypper")
9400
+
9401
+
9402
+ @pulumi.output_type
9403
+ class V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceRepositoryApt(dict):
9404
+ @staticmethod
9405
+ def __key_warning(key: str):
9406
+ suggest = None
9407
+ if key == "archiveType":
9408
+ suggest = "archive_type"
9409
+ elif key == "gpgKey":
9410
+ suggest = "gpg_key"
9411
+
9412
+ if suggest:
9413
+ pulumi.log.warn(f"Key '{key}' not found in V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceRepositoryApt. Access the value via the '{suggest}' property getter instead.")
9414
+
9415
+ def __getitem__(self, key: str) -> Any:
9416
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceRepositoryApt.__key_warning(key)
9417
+ return super().__getitem__(key)
9418
+
9419
+ def get(self, key: str, default = None) -> Any:
9420
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceRepositoryApt.__key_warning(key)
9421
+ return super().get(key, default)
9422
+
9423
+ def __init__(__self__, *,
9424
+ archive_type: str,
9425
+ components: Sequence[str],
9426
+ distribution: str,
9427
+ uri: str,
9428
+ gpg_key: Optional[str] = None):
9429
+ """
9430
+ :param str archive_type: Required. Type of archive files in this repository.
9431
+ Possible values:
9432
+ ARCHIVE_TYPE_UNSPECIFIED
9433
+ DEB
9434
+ DEB_SRC
9435
+ :param Sequence[str] components: Required. List of components for this repository. Must contain at least one
9436
+ item.
9437
+ :param str distribution: Required. Distribution of this repository.
9438
+ :param str uri: Required. URI for this repository.
9439
+ :param str gpg_key: URI of the key file for this repository. The agent maintains a
9440
+ keyring at `/etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg`.
9441
+ """
9442
+ pulumi.set(__self__, "archive_type", archive_type)
9443
+ pulumi.set(__self__, "components", components)
9444
+ pulumi.set(__self__, "distribution", distribution)
9445
+ pulumi.set(__self__, "uri", uri)
9446
+ if gpg_key is not None:
9447
+ pulumi.set(__self__, "gpg_key", gpg_key)
9448
+
9449
+ @property
9450
+ @pulumi.getter(name="archiveType")
9451
+ def archive_type(self) -> str:
9452
+ """
9453
+ Required. Type of archive files in this repository.
9454
+ Possible values:
9455
+ ARCHIVE_TYPE_UNSPECIFIED
9456
+ DEB
9457
+ DEB_SRC
9458
+ """
9459
+ return pulumi.get(self, "archive_type")
9460
+
9461
+ @property
9462
+ @pulumi.getter
9463
+ def components(self) -> Sequence[str]:
9464
+ """
9465
+ Required. List of components for this repository. Must contain at least one
9466
+ item.
9467
+ """
9468
+ return pulumi.get(self, "components")
9469
+
9470
+ @property
9471
+ @pulumi.getter
9472
+ def distribution(self) -> str:
9473
+ """
9474
+ Required. Distribution of this repository.
9475
+ """
9476
+ return pulumi.get(self, "distribution")
9477
+
9478
+ @property
9479
+ @pulumi.getter
9480
+ def uri(self) -> str:
9481
+ """
9482
+ Required. URI for this repository.
9483
+ """
9484
+ return pulumi.get(self, "uri")
9485
+
9486
+ @property
9487
+ @pulumi.getter(name="gpgKey")
9488
+ def gpg_key(self) -> Optional[str]:
9489
+ """
9490
+ URI of the key file for this repository. The agent maintains a
9491
+ keyring at `/etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg`.
9492
+ """
9493
+ return pulumi.get(self, "gpg_key")
9494
+
9495
+
9496
+ @pulumi.output_type
9497
+ class V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceRepositoryGoo(dict):
9498
+ def __init__(__self__, *,
9499
+ name: str,
9500
+ url: str):
9501
+ """
9502
+ :param str name: Required. The name of the repository.
9503
+ :param str url: Required. The url of the repository.
9504
+ """
9505
+ pulumi.set(__self__, "name", name)
9506
+ pulumi.set(__self__, "url", url)
9507
+
9508
+ @property
9509
+ @pulumi.getter
9510
+ def name(self) -> str:
9511
+ """
9512
+ Required. The name of the repository.
9513
+ """
9514
+ return pulumi.get(self, "name")
9515
+
9516
+ @property
9517
+ @pulumi.getter
9518
+ def url(self) -> str:
9519
+ """
9520
+ Required. The url of the repository.
9521
+ """
9522
+ return pulumi.get(self, "url")
9523
+
9524
+
9525
+ @pulumi.output_type
9526
+ class V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceRepositoryYum(dict):
9527
+ @staticmethod
9528
+ def __key_warning(key: str):
9529
+ suggest = None
9530
+ if key == "baseUrl":
9531
+ suggest = "base_url"
9532
+ elif key == "displayName":
9533
+ suggest = "display_name"
9534
+ elif key == "gpgKeys":
9535
+ suggest = "gpg_keys"
9536
+
9537
+ if suggest:
9538
+ pulumi.log.warn(f"Key '{key}' not found in V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceRepositoryYum. Access the value via the '{suggest}' property getter instead.")
9539
+
9540
+ def __getitem__(self, key: str) -> Any:
9541
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceRepositoryYum.__key_warning(key)
9542
+ return super().__getitem__(key)
9543
+
9544
+ def get(self, key: str, default = None) -> Any:
9545
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceRepositoryYum.__key_warning(key)
9546
+ return super().get(key, default)
9547
+
9548
+ def __init__(__self__, *,
9549
+ base_url: str,
9550
+ id: str,
9551
+ display_name: Optional[str] = None,
9552
+ gpg_keys: Optional[Sequence[str]] = None):
9553
+ """
9554
+ :param str base_url: Required. The location of the repository directory.
9555
+ :param str id: Required. A one word, unique name for this repository. This is the `repo
9556
+ id` in the yum config file and also the `display_name` if
9557
+ `display_name` is omitted. This id is also used as the unique
9558
+ identifier when checking for resource conflicts.
9559
+ :param str display_name: The display name of the repository.
9560
+ :param Sequence[str] gpg_keys: URIs of GPG keys.
9561
+ """
9562
+ pulumi.set(__self__, "base_url", base_url)
9563
+ pulumi.set(__self__, "id", id)
9564
+ if display_name is not None:
9565
+ pulumi.set(__self__, "display_name", display_name)
9566
+ if gpg_keys is not None:
9567
+ pulumi.set(__self__, "gpg_keys", gpg_keys)
9568
+
9569
+ @property
9570
+ @pulumi.getter(name="baseUrl")
9571
+ def base_url(self) -> str:
9572
+ """
9573
+ Required. The location of the repository directory.
9574
+ """
9575
+ return pulumi.get(self, "base_url")
9576
+
9577
+ @property
9578
+ @pulumi.getter
9579
+ def id(self) -> str:
9580
+ """
9581
+ Required. A one word, unique name for this repository. This is the `repo
9582
+ id` in the yum config file and also the `display_name` if
9583
+ `display_name` is omitted. This id is also used as the unique
9584
+ identifier when checking for resource conflicts.
9585
+ """
9586
+ return pulumi.get(self, "id")
9587
+
9588
+ @property
9589
+ @pulumi.getter(name="displayName")
9590
+ def display_name(self) -> Optional[str]:
9591
+ """
9592
+ The display name of the repository.
9593
+ """
9594
+ return pulumi.get(self, "display_name")
9595
+
9596
+ @property
9597
+ @pulumi.getter(name="gpgKeys")
9598
+ def gpg_keys(self) -> Optional[Sequence[str]]:
9599
+ """
9600
+ URIs of GPG keys.
9601
+ """
9602
+ return pulumi.get(self, "gpg_keys")
9603
+
9604
+
9605
+ @pulumi.output_type
9606
+ class V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceRepositoryZypper(dict):
9607
+ @staticmethod
9608
+ def __key_warning(key: str):
9609
+ suggest = None
9610
+ if key == "baseUrl":
9611
+ suggest = "base_url"
9612
+ elif key == "displayName":
9613
+ suggest = "display_name"
9614
+ elif key == "gpgKeys":
9615
+ suggest = "gpg_keys"
9616
+
9617
+ if suggest:
9618
+ pulumi.log.warn(f"Key '{key}' not found in V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceRepositoryZypper. Access the value via the '{suggest}' property getter instead.")
9619
+
9620
+ def __getitem__(self, key: str) -> Any:
9621
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceRepositoryZypper.__key_warning(key)
9622
+ return super().__getitem__(key)
9623
+
9624
+ def get(self, key: str, default = None) -> Any:
9625
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadOsPolicyResourceGroupResourceRepositoryZypper.__key_warning(key)
9626
+ return super().get(key, default)
9627
+
9628
+ def __init__(__self__, *,
9629
+ base_url: str,
9630
+ id: str,
9631
+ display_name: Optional[str] = None,
9632
+ gpg_keys: Optional[Sequence[str]] = None):
9633
+ """
9634
+ :param str base_url: Required. The location of the repository directory.
9635
+ :param str id: Required. A one word, unique name for this repository. This is the `repo
9636
+ id` in the zypper config file and also the `display_name` if
9637
+ `display_name` is omitted. This id is also used as the unique
9638
+ identifier when checking for GuestPolicy conflicts.
9639
+ :param str display_name: The display name of the repository.
9640
+ :param Sequence[str] gpg_keys: URIs of GPG keys.
9641
+ """
9642
+ pulumi.set(__self__, "base_url", base_url)
9643
+ pulumi.set(__self__, "id", id)
9644
+ if display_name is not None:
9645
+ pulumi.set(__self__, "display_name", display_name)
9646
+ if gpg_keys is not None:
9647
+ pulumi.set(__self__, "gpg_keys", gpg_keys)
9648
+
9649
+ @property
9650
+ @pulumi.getter(name="baseUrl")
9651
+ def base_url(self) -> str:
9652
+ """
9653
+ Required. The location of the repository directory.
9654
+ """
9655
+ return pulumi.get(self, "base_url")
9656
+
9657
+ @property
9658
+ @pulumi.getter
9659
+ def id(self) -> str:
9660
+ """
9661
+ Required. A one word, unique name for this repository. This is the `repo
9662
+ id` in the zypper config file and also the `display_name` if
9663
+ `display_name` is omitted. This id is also used as the unique
9664
+ identifier when checking for GuestPolicy conflicts.
9665
+ """
9666
+ return pulumi.get(self, "id")
9667
+
9668
+ @property
9669
+ @pulumi.getter(name="displayName")
9670
+ def display_name(self) -> Optional[str]:
9671
+ """
9672
+ The display name of the repository.
9673
+ """
9674
+ return pulumi.get(self, "display_name")
9675
+
9676
+ @property
9677
+ @pulumi.getter(name="gpgKeys")
9678
+ def gpg_keys(self) -> Optional[Sequence[str]]:
9679
+ """
9680
+ URIs of GPG keys.
9681
+ """
9682
+ return pulumi.get(self, "gpg_keys")
9683
+
9684
+
9685
+ @pulumi.output_type
9686
+ class V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadRollout(dict):
9687
+ @staticmethod
9688
+ def __key_warning(key: str):
9689
+ suggest = None
9690
+ if key == "disruptionBudget":
9691
+ suggest = "disruption_budget"
9692
+ elif key == "minWaitDuration":
9693
+ suggest = "min_wait_duration"
9694
+
9695
+ if suggest:
9696
+ pulumi.log.warn(f"Key '{key}' not found in V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadRollout. Access the value via the '{suggest}' property getter instead.")
9697
+
9698
+ def __getitem__(self, key: str) -> Any:
9699
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadRollout.__key_warning(key)
9700
+ return super().__getitem__(key)
9701
+
9702
+ def get(self, key: str, default = None) -> Any:
9703
+ V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadRollout.__key_warning(key)
9704
+ return super().get(key, default)
9705
+
9706
+ def __init__(__self__, *,
9707
+ disruption_budget: 'outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadRolloutDisruptionBudget',
9708
+ min_wait_duration: str):
9709
+ """
9710
+ :param 'V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadRolloutDisruptionBudgetArgs' disruption_budget: Message encapsulating a value that can be either absolute ("fixed") or
9711
+ relative ("percent") to a value.
9712
+ Structure is documented below.
9713
+ :param str min_wait_duration: Required. This determines the minimum duration of time to wait after the
9714
+ configuration changes are applied through the current rollout. A
9715
+ VM continues to count towards the `disruption_budget` at least
9716
+ until this duration of time has passed after configuration changes are
9717
+ applied.
9718
+ """
9719
+ pulumi.set(__self__, "disruption_budget", disruption_budget)
9720
+ pulumi.set(__self__, "min_wait_duration", min_wait_duration)
9721
+
9722
+ @property
9723
+ @pulumi.getter(name="disruptionBudget")
9724
+ def disruption_budget(self) -> 'outputs.V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadRolloutDisruptionBudget':
9725
+ """
9726
+ Message encapsulating a value that can be either absolute ("fixed") or
9727
+ relative ("percent") to a value.
9728
+ Structure is documented below.
9729
+ """
9730
+ return pulumi.get(self, "disruption_budget")
9731
+
9732
+ @property
9733
+ @pulumi.getter(name="minWaitDuration")
9734
+ def min_wait_duration(self) -> str:
9735
+ """
9736
+ Required. This determines the minimum duration of time to wait after the
9737
+ configuration changes are applied through the current rollout. A
9738
+ VM continues to count towards the `disruption_budget` at least
9739
+ until this duration of time has passed after configuration changes are
9740
+ applied.
9741
+ """
9742
+ return pulumi.get(self, "min_wait_duration")
9743
+
9744
+
9745
+ @pulumi.output_type
9746
+ class V2PolicyOrchestratorOrchestratedResourceOsPolicyAssignmentV1PayloadRolloutDisruptionBudget(dict):
9747
+ def __init__(__self__, *,
9748
+ fixed: Optional[int] = None,
9749
+ percent: Optional[int] = None):
9750
+ """
9751
+ :param int fixed: Specifies a fixed value.
9752
+ :param int percent: Specifies the relative value defined as a percentage, which will be
9753
+ multiplied by a reference value.
9754
+
9755
+ - - -
9756
+ """
9757
+ if fixed is not None:
9758
+ pulumi.set(__self__, "fixed", fixed)
9759
+ if percent is not None:
9760
+ pulumi.set(__self__, "percent", percent)
9761
+
9762
+ @property
9763
+ @pulumi.getter
9764
+ def fixed(self) -> Optional[int]:
9765
+ """
9766
+ Specifies a fixed value.
9767
+ """
9768
+ return pulumi.get(self, "fixed")
9769
+
9770
+ @property
9771
+ @pulumi.getter
9772
+ def percent(self) -> Optional[int]:
9773
+ """
9774
+ Specifies the relative value defined as a percentage, which will be
9775
+ multiplied by a reference value.
9776
+
9777
+ - - -
9778
+ """
9779
+ return pulumi.get(self, "percent")
9780
+
9781
+
9782
+ @pulumi.output_type
9783
+ class V2PolicyOrchestratorOrchestrationScope(dict):
9784
+ def __init__(__self__, *,
9785
+ selectors: Optional[Sequence['outputs.V2PolicyOrchestratorOrchestrationScopeSelector']] = None):
9786
+ """
9787
+ :param Sequence['V2PolicyOrchestratorOrchestrationScopeSelectorArgs'] selectors: Optional. Selectors of the orchestration scope. There is a logical AND between each
9788
+ selector defined.
9789
+ When there is no explicit `ResourceHierarchySelector` selector specified,
9790
+ the scope is by default bounded to the parent of the policy orchestrator
9791
+ resource.
9792
+ Structure is documented below.
9793
+ """
9794
+ if selectors is not None:
9795
+ pulumi.set(__self__, "selectors", selectors)
9796
+
9797
+ @property
9798
+ @pulumi.getter
9799
+ def selectors(self) -> Optional[Sequence['outputs.V2PolicyOrchestratorOrchestrationScopeSelector']]:
9800
+ """
9801
+ Optional. Selectors of the orchestration scope. There is a logical AND between each
9802
+ selector defined.
9803
+ When there is no explicit `ResourceHierarchySelector` selector specified,
9804
+ the scope is by default bounded to the parent of the policy orchestrator
9805
+ resource.
9806
+ Structure is documented below.
9807
+ """
9808
+ return pulumi.get(self, "selectors")
9809
+
9810
+
9811
+ @pulumi.output_type
9812
+ class V2PolicyOrchestratorOrchestrationScopeSelector(dict):
9813
+ @staticmethod
9814
+ def __key_warning(key: str):
9815
+ suggest = None
9816
+ if key == "locationSelector":
9817
+ suggest = "location_selector"
9818
+ elif key == "resourceHierarchySelector":
9819
+ suggest = "resource_hierarchy_selector"
9820
+
9821
+ if suggest:
9822
+ pulumi.log.warn(f"Key '{key}' not found in V2PolicyOrchestratorOrchestrationScopeSelector. Access the value via the '{suggest}' property getter instead.")
9823
+
9824
+ def __getitem__(self, key: str) -> Any:
9825
+ V2PolicyOrchestratorOrchestrationScopeSelector.__key_warning(key)
9826
+ return super().__getitem__(key)
9827
+
9828
+ def get(self, key: str, default = None) -> Any:
9829
+ V2PolicyOrchestratorOrchestrationScopeSelector.__key_warning(key)
9830
+ return super().get(key, default)
9831
+
9832
+ def __init__(__self__, *,
9833
+ location_selector: Optional['outputs.V2PolicyOrchestratorOrchestrationScopeSelectorLocationSelector'] = None,
9834
+ resource_hierarchy_selector: Optional['outputs.V2PolicyOrchestratorOrchestrationScopeSelectorResourceHierarchySelector'] = None):
9835
+ """
9836
+ :param 'V2PolicyOrchestratorOrchestrationScopeSelectorLocationSelectorArgs' location_selector: Selector containing locations in scope.
9837
+ Structure is documented below.
9838
+ :param 'V2PolicyOrchestratorOrchestrationScopeSelectorResourceHierarchySelectorArgs' resource_hierarchy_selector: Selector containing Cloud Resource Manager resource hierarchy nodes.
9839
+ Structure is documented below.
9840
+ """
9841
+ if location_selector is not None:
9842
+ pulumi.set(__self__, "location_selector", location_selector)
9843
+ if resource_hierarchy_selector is not None:
9844
+ pulumi.set(__self__, "resource_hierarchy_selector", resource_hierarchy_selector)
9845
+
9846
+ @property
9847
+ @pulumi.getter(name="locationSelector")
9848
+ def location_selector(self) -> Optional['outputs.V2PolicyOrchestratorOrchestrationScopeSelectorLocationSelector']:
9849
+ """
9850
+ Selector containing locations in scope.
9851
+ Structure is documented below.
9852
+ """
9853
+ return pulumi.get(self, "location_selector")
9854
+
9855
+ @property
9856
+ @pulumi.getter(name="resourceHierarchySelector")
9857
+ def resource_hierarchy_selector(self) -> Optional['outputs.V2PolicyOrchestratorOrchestrationScopeSelectorResourceHierarchySelector']:
9858
+ """
9859
+ Selector containing Cloud Resource Manager resource hierarchy nodes.
9860
+ Structure is documented below.
9861
+ """
9862
+ return pulumi.get(self, "resource_hierarchy_selector")
9863
+
9864
+
9865
+ @pulumi.output_type
9866
+ class V2PolicyOrchestratorOrchestrationScopeSelectorLocationSelector(dict):
9867
+ @staticmethod
9868
+ def __key_warning(key: str):
9869
+ suggest = None
9870
+ if key == "includedLocations":
9871
+ suggest = "included_locations"
9872
+
9873
+ if suggest:
9874
+ pulumi.log.warn(f"Key '{key}' not found in V2PolicyOrchestratorOrchestrationScopeSelectorLocationSelector. Access the value via the '{suggest}' property getter instead.")
9875
+
9876
+ def __getitem__(self, key: str) -> Any:
9877
+ V2PolicyOrchestratorOrchestrationScopeSelectorLocationSelector.__key_warning(key)
9878
+ return super().__getitem__(key)
9879
+
9880
+ def get(self, key: str, default = None) -> Any:
9881
+ V2PolicyOrchestratorOrchestrationScopeSelectorLocationSelector.__key_warning(key)
9882
+ return super().get(key, default)
9883
+
9884
+ def __init__(__self__, *,
9885
+ included_locations: Optional[Sequence[str]] = None):
9886
+ """
9887
+ :param Sequence[str] included_locations: Optional. Names of the locations in scope.
9888
+ Format: `us-central1-a`
9889
+ """
9890
+ if included_locations is not None:
9891
+ pulumi.set(__self__, "included_locations", included_locations)
9892
+
9893
+ @property
9894
+ @pulumi.getter(name="includedLocations")
9895
+ def included_locations(self) -> Optional[Sequence[str]]:
9896
+ """
9897
+ Optional. Names of the locations in scope.
9898
+ Format: `us-central1-a`
9899
+ """
9900
+ return pulumi.get(self, "included_locations")
9901
+
9902
+
9903
+ @pulumi.output_type
9904
+ class V2PolicyOrchestratorOrchestrationScopeSelectorResourceHierarchySelector(dict):
9905
+ @staticmethod
9906
+ def __key_warning(key: str):
9907
+ suggest = None
9908
+ if key == "includedFolders":
9909
+ suggest = "included_folders"
9910
+ elif key == "includedProjects":
9911
+ suggest = "included_projects"
9912
+
9913
+ if suggest:
9914
+ pulumi.log.warn(f"Key '{key}' not found in V2PolicyOrchestratorOrchestrationScopeSelectorResourceHierarchySelector. Access the value via the '{suggest}' property getter instead.")
9915
+
9916
+ def __getitem__(self, key: str) -> Any:
9917
+ V2PolicyOrchestratorOrchestrationScopeSelectorResourceHierarchySelector.__key_warning(key)
9918
+ return super().__getitem__(key)
9919
+
9920
+ def get(self, key: str, default = None) -> Any:
9921
+ V2PolicyOrchestratorOrchestrationScopeSelectorResourceHierarchySelector.__key_warning(key)
9922
+ return super().get(key, default)
9923
+
9924
+ def __init__(__self__, *,
9925
+ included_folders: Optional[Sequence[str]] = None,
9926
+ included_projects: Optional[Sequence[str]] = None):
9927
+ """
9928
+ :param Sequence[str] included_folders: Optional. Names of the folders in scope.
9929
+ Format: `folders/{folder_id}`
9930
+ :param Sequence[str] included_projects: Optional. Names of the projects in scope.
9931
+ Format: `projects/{project_number}`
9932
+ """
9933
+ if included_folders is not None:
9934
+ pulumi.set(__self__, "included_folders", included_folders)
9935
+ if included_projects is not None:
9936
+ pulumi.set(__self__, "included_projects", included_projects)
9937
+
9938
+ @property
9939
+ @pulumi.getter(name="includedFolders")
9940
+ def included_folders(self) -> Optional[Sequence[str]]:
9941
+ """
9942
+ Optional. Names of the folders in scope.
9943
+ Format: `folders/{folder_id}`
9944
+ """
9945
+ return pulumi.get(self, "included_folders")
9946
+
9947
+ @property
9948
+ @pulumi.getter(name="includedProjects")
9949
+ def included_projects(self) -> Optional[Sequence[str]]:
9950
+ """
9951
+ Optional. Names of the projects in scope.
9952
+ Format: `projects/{project_number}`
9953
+ """
9954
+ return pulumi.get(self, "included_projects")
9955
+
9956
+
9957
+ @pulumi.output_type
9958
+ class V2PolicyOrchestratorOrchestrationState(dict):
9959
+ @staticmethod
9960
+ def __key_warning(key: str):
9961
+ suggest = None
9962
+ if key == "currentIterationStates":
9963
+ suggest = "current_iteration_states"
9964
+ elif key == "previousIterationState":
9965
+ suggest = "previous_iteration_state"
9966
+
9967
+ if suggest:
9968
+ pulumi.log.warn(f"Key '{key}' not found in V2PolicyOrchestratorOrchestrationState. Access the value via the '{suggest}' property getter instead.")
9969
+
9970
+ def __getitem__(self, key: str) -> Any:
9971
+ V2PolicyOrchestratorOrchestrationState.__key_warning(key)
9972
+ return super().__getitem__(key)
9973
+
9974
+ def get(self, key: str, default = None) -> Any:
9975
+ V2PolicyOrchestratorOrchestrationState.__key_warning(key)
9976
+ return super().get(key, default)
9977
+
9978
+ def __init__(__self__, *,
9979
+ current_iteration_states: Optional[Sequence['outputs.V2PolicyOrchestratorOrchestrationStateCurrentIterationState']] = None,
9980
+ previous_iteration_state: Optional['outputs.V2PolicyOrchestratorOrchestrationStatePreviousIterationState'] = None):
9981
+ """
9982
+ :param Sequence['V2PolicyOrchestratorOrchestrationStateCurrentIterationStateArgs'] current_iteration_states: (Output)
9983
+ Describes the state of a single iteration of the orchestrator.
9984
+ Structure is documented below.
9985
+ :param 'V2PolicyOrchestratorOrchestrationStatePreviousIterationStateArgs' previous_iteration_state: Describes the state of a single iteration of the orchestrator.
9986
+ Structure is documented below.
9987
+ """
9988
+ if current_iteration_states is not None:
9989
+ pulumi.set(__self__, "current_iteration_states", current_iteration_states)
9990
+ if previous_iteration_state is not None:
9991
+ pulumi.set(__self__, "previous_iteration_state", previous_iteration_state)
9992
+
9993
+ @property
9994
+ @pulumi.getter(name="currentIterationStates")
9995
+ def current_iteration_states(self) -> Optional[Sequence['outputs.V2PolicyOrchestratorOrchestrationStateCurrentIterationState']]:
9996
+ """
9997
+ (Output)
9998
+ Describes the state of a single iteration of the orchestrator.
9999
+ Structure is documented below.
10000
+ """
10001
+ return pulumi.get(self, "current_iteration_states")
10002
+
10003
+ @property
10004
+ @pulumi.getter(name="previousIterationState")
10005
+ def previous_iteration_state(self) -> Optional['outputs.V2PolicyOrchestratorOrchestrationStatePreviousIterationState']:
10006
+ """
10007
+ Describes the state of a single iteration of the orchestrator.
10008
+ Structure is documented below.
10009
+ """
10010
+ return pulumi.get(self, "previous_iteration_state")
10011
+
10012
+
10013
+ @pulumi.output_type
10014
+ class V2PolicyOrchestratorOrchestrationStateCurrentIterationState(dict):
10015
+ @staticmethod
10016
+ def __key_warning(key: str):
10017
+ suggest = None
10018
+ if key == "failedActions":
10019
+ suggest = "failed_actions"
10020
+ elif key == "finishTime":
10021
+ suggest = "finish_time"
10022
+ elif key == "performedActions":
10023
+ suggest = "performed_actions"
10024
+ elif key == "rolloutResource":
10025
+ suggest = "rollout_resource"
10026
+ elif key == "startTime":
10027
+ suggest = "start_time"
10028
+
10029
+ if suggest:
10030
+ pulumi.log.warn(f"Key '{key}' not found in V2PolicyOrchestratorOrchestrationStateCurrentIterationState. Access the value via the '{suggest}' property getter instead.")
10031
+
10032
+ def __getitem__(self, key: str) -> Any:
10033
+ V2PolicyOrchestratorOrchestrationStateCurrentIterationState.__key_warning(key)
10034
+ return super().__getitem__(key)
10035
+
10036
+ def get(self, key: str, default = None) -> Any:
10037
+ V2PolicyOrchestratorOrchestrationStateCurrentIterationState.__key_warning(key)
10038
+ return super().get(key, default)
10039
+
10040
+ def __init__(__self__, *,
10041
+ error: Optional['outputs.V2PolicyOrchestratorOrchestrationStateCurrentIterationStateError'] = None,
10042
+ failed_actions: Optional[str] = None,
10043
+ finish_time: Optional[str] = None,
10044
+ performed_actions: Optional[str] = None,
10045
+ progress: Optional[float] = None,
10046
+ rollout_resource: Optional[str] = None,
10047
+ start_time: Optional[str] = None,
10048
+ state: Optional[str] = None):
10049
+ """
10050
+ :param 'V2PolicyOrchestratorOrchestrationStateCurrentIterationStateErrorArgs' error: The `Status` type defines a logical error model that is suitable for
10051
+ different programming environments, including REST APIs and RPC APIs. It is
10052
+ used by [gRPC](https://github.com/grpc). Each `Status` message contains
10053
+ three pieces of data: error code, error message, and error details.
10054
+ You can find out more about this error model and how to work with it in the
10055
+ [API Design Guide](https://cloud.google.com/apis/design/errors).
10056
+ Structure is documented below.
10057
+ :param str failed_actions: (Output)
10058
+ Output only. Number of orchestration actions which failed so far. For more details,
10059
+ query the Cloud Logs.
10060
+ :param str finish_time: (Output)
10061
+ Output only. Finish time of the wave iteration.
10062
+ :param str performed_actions: (Output)
10063
+ Output only. Overall number of actions done by the orchestrator so far.
10064
+ :param float progress: (Output)
10065
+ Output only. An estimated percentage of the progress. Number between 0 and 100.
10066
+ :param str rollout_resource: (Output)
10067
+ Output only. Handle to the Progressive Rollouts API rollout resource, which contains
10068
+ detailed information about a particular orchestration iteration.
10069
+ :param str start_time: (Output)
10070
+ Output only. Start time of the wave iteration.
10071
+ :param str state: (Output)
10072
+ Output only. State of the iteration.
10073
+ Possible values:
10074
+ STATE_UNSPECIFIED
10075
+ PROCESSING
10076
+ COMPLETED
10077
+ FAILED
10078
+ CANCELLED
10079
+ UNKNOWN
10080
+ """
10081
+ if error is not None:
10082
+ pulumi.set(__self__, "error", error)
10083
+ if failed_actions is not None:
10084
+ pulumi.set(__self__, "failed_actions", failed_actions)
10085
+ if finish_time is not None:
10086
+ pulumi.set(__self__, "finish_time", finish_time)
10087
+ if performed_actions is not None:
10088
+ pulumi.set(__self__, "performed_actions", performed_actions)
10089
+ if progress is not None:
10090
+ pulumi.set(__self__, "progress", progress)
10091
+ if rollout_resource is not None:
10092
+ pulumi.set(__self__, "rollout_resource", rollout_resource)
10093
+ if start_time is not None:
10094
+ pulumi.set(__self__, "start_time", start_time)
10095
+ if state is not None:
10096
+ pulumi.set(__self__, "state", state)
10097
+
10098
+ @property
10099
+ @pulumi.getter
10100
+ def error(self) -> Optional['outputs.V2PolicyOrchestratorOrchestrationStateCurrentIterationStateError']:
10101
+ """
10102
+ The `Status` type defines a logical error model that is suitable for
10103
+ different programming environments, including REST APIs and RPC APIs. It is
10104
+ used by [gRPC](https://github.com/grpc). Each `Status` message contains
10105
+ three pieces of data: error code, error message, and error details.
10106
+ You can find out more about this error model and how to work with it in the
10107
+ [API Design Guide](https://cloud.google.com/apis/design/errors).
10108
+ Structure is documented below.
10109
+ """
10110
+ return pulumi.get(self, "error")
10111
+
10112
+ @property
10113
+ @pulumi.getter(name="failedActions")
10114
+ def failed_actions(self) -> Optional[str]:
10115
+ """
10116
+ (Output)
10117
+ Output only. Number of orchestration actions which failed so far. For more details,
10118
+ query the Cloud Logs.
10119
+ """
10120
+ return pulumi.get(self, "failed_actions")
10121
+
10122
+ @property
10123
+ @pulumi.getter(name="finishTime")
10124
+ def finish_time(self) -> Optional[str]:
10125
+ """
10126
+ (Output)
10127
+ Output only. Finish time of the wave iteration.
10128
+ """
10129
+ return pulumi.get(self, "finish_time")
10130
+
10131
+ @property
10132
+ @pulumi.getter(name="performedActions")
10133
+ def performed_actions(self) -> Optional[str]:
10134
+ """
10135
+ (Output)
10136
+ Output only. Overall number of actions done by the orchestrator so far.
10137
+ """
10138
+ return pulumi.get(self, "performed_actions")
10139
+
10140
+ @property
10141
+ @pulumi.getter
10142
+ def progress(self) -> Optional[float]:
10143
+ """
10144
+ (Output)
10145
+ Output only. An estimated percentage of the progress. Number between 0 and 100.
10146
+ """
10147
+ return pulumi.get(self, "progress")
10148
+
10149
+ @property
10150
+ @pulumi.getter(name="rolloutResource")
10151
+ def rollout_resource(self) -> Optional[str]:
10152
+ """
10153
+ (Output)
10154
+ Output only. Handle to the Progressive Rollouts API rollout resource, which contains
10155
+ detailed information about a particular orchestration iteration.
10156
+ """
10157
+ return pulumi.get(self, "rollout_resource")
10158
+
10159
+ @property
10160
+ @pulumi.getter(name="startTime")
10161
+ def start_time(self) -> Optional[str]:
10162
+ """
10163
+ (Output)
10164
+ Output only. Start time of the wave iteration.
10165
+ """
10166
+ return pulumi.get(self, "start_time")
10167
+
10168
+ @property
10169
+ @pulumi.getter
10170
+ def state(self) -> Optional[str]:
10171
+ """
10172
+ (Output)
10173
+ Output only. State of the iteration.
10174
+ Possible values:
10175
+ STATE_UNSPECIFIED
10176
+ PROCESSING
10177
+ COMPLETED
10178
+ FAILED
10179
+ CANCELLED
10180
+ UNKNOWN
10181
+ """
10182
+ return pulumi.get(self, "state")
10183
+
10184
+
10185
+ @pulumi.output_type
10186
+ class V2PolicyOrchestratorOrchestrationStateCurrentIterationStateError(dict):
10187
+ def __init__(__self__, *,
10188
+ code: Optional[int] = None,
10189
+ details: Optional[Sequence['outputs.V2PolicyOrchestratorOrchestrationStateCurrentIterationStateErrorDetail']] = None,
10190
+ message: Optional[str] = None):
10191
+ """
10192
+ :param int code: The status code, which should be an enum value of google.rpc.Code.
10193
+ :param Sequence['V2PolicyOrchestratorOrchestrationStateCurrentIterationStateErrorDetailArgs'] details: A list of messages that carry the error details. There is a common set of
10194
+ message types for APIs to use.
10195
+ Structure is documented below.
10196
+ :param str message: A developer-facing error message, which should be in English. Any
10197
+ user-facing error message should be localized and sent in the
10198
+ google.rpc.Status.details field, or localized by the client.
10199
+ """
10200
+ if code is not None:
10201
+ pulumi.set(__self__, "code", code)
10202
+ if details is not None:
10203
+ pulumi.set(__self__, "details", details)
10204
+ if message is not None:
10205
+ pulumi.set(__self__, "message", message)
10206
+
10207
+ @property
10208
+ @pulumi.getter
10209
+ def code(self) -> Optional[int]:
10210
+ """
10211
+ The status code, which should be an enum value of google.rpc.Code.
10212
+ """
10213
+ return pulumi.get(self, "code")
10214
+
10215
+ @property
10216
+ @pulumi.getter
10217
+ def details(self) -> Optional[Sequence['outputs.V2PolicyOrchestratorOrchestrationStateCurrentIterationStateErrorDetail']]:
10218
+ """
10219
+ A list of messages that carry the error details. There is a common set of
10220
+ message types for APIs to use.
10221
+ Structure is documented below.
10222
+ """
10223
+ return pulumi.get(self, "details")
10224
+
10225
+ @property
10226
+ @pulumi.getter
10227
+ def message(self) -> Optional[str]:
10228
+ """
10229
+ A developer-facing error message, which should be in English. Any
10230
+ user-facing error message should be localized and sent in the
10231
+ google.rpc.Status.details field, or localized by the client.
10232
+ """
10233
+ return pulumi.get(self, "message")
10234
+
10235
+
10236
+ @pulumi.output_type
10237
+ class V2PolicyOrchestratorOrchestrationStateCurrentIterationStateErrorDetail(dict):
10238
+ @staticmethod
10239
+ def __key_warning(key: str):
10240
+ suggest = None
10241
+ if key == "typeUrl":
10242
+ suggest = "type_url"
10243
+
10244
+ if suggest:
10245
+ pulumi.log.warn(f"Key '{key}' not found in V2PolicyOrchestratorOrchestrationStateCurrentIterationStateErrorDetail. Access the value via the '{suggest}' property getter instead.")
10246
+
10247
+ def __getitem__(self, key: str) -> Any:
10248
+ V2PolicyOrchestratorOrchestrationStateCurrentIterationStateErrorDetail.__key_warning(key)
10249
+ return super().__getitem__(key)
10250
+
10251
+ def get(self, key: str, default = None) -> Any:
10252
+ V2PolicyOrchestratorOrchestrationStateCurrentIterationStateErrorDetail.__key_warning(key)
10253
+ return super().get(key, default)
10254
+
10255
+ def __init__(__self__, *,
10256
+ type_url: Optional[str] = None,
10257
+ value: Optional[str] = None):
10258
+ """
10259
+ :param str type_url: A URL/resource name that uniquely identifies the type of the serialized protocol buffer message
10260
+ :param str value: (Optional)
10261
+ """
10262
+ if type_url is not None:
10263
+ pulumi.set(__self__, "type_url", type_url)
10264
+ if value is not None:
10265
+ pulumi.set(__self__, "value", value)
10266
+
10267
+ @property
10268
+ @pulumi.getter(name="typeUrl")
10269
+ def type_url(self) -> Optional[str]:
10270
+ """
10271
+ A URL/resource name that uniquely identifies the type of the serialized protocol buffer message
10272
+ """
10273
+ return pulumi.get(self, "type_url")
10274
+
10275
+ @property
10276
+ @pulumi.getter
10277
+ def value(self) -> Optional[str]:
10278
+ """
10279
+ (Optional)
10280
+ """
10281
+ return pulumi.get(self, "value")
10282
+
10283
+
10284
+ @pulumi.output_type
10285
+ class V2PolicyOrchestratorOrchestrationStatePreviousIterationState(dict):
10286
+ @staticmethod
10287
+ def __key_warning(key: str):
10288
+ suggest = None
10289
+ if key == "failedActions":
10290
+ suggest = "failed_actions"
10291
+ elif key == "finishTime":
10292
+ suggest = "finish_time"
10293
+ elif key == "performedActions":
10294
+ suggest = "performed_actions"
10295
+ elif key == "rolloutResource":
10296
+ suggest = "rollout_resource"
10297
+ elif key == "startTime":
10298
+ suggest = "start_time"
10299
+
10300
+ if suggest:
10301
+ pulumi.log.warn(f"Key '{key}' not found in V2PolicyOrchestratorOrchestrationStatePreviousIterationState. Access the value via the '{suggest}' property getter instead.")
10302
+
10303
+ def __getitem__(self, key: str) -> Any:
10304
+ V2PolicyOrchestratorOrchestrationStatePreviousIterationState.__key_warning(key)
10305
+ return super().__getitem__(key)
10306
+
10307
+ def get(self, key: str, default = None) -> Any:
10308
+ V2PolicyOrchestratorOrchestrationStatePreviousIterationState.__key_warning(key)
10309
+ return super().get(key, default)
10310
+
10311
+ def __init__(__self__, *,
10312
+ error: Optional['outputs.V2PolicyOrchestratorOrchestrationStatePreviousIterationStateError'] = None,
10313
+ failed_actions: Optional[str] = None,
10314
+ finish_time: Optional[str] = None,
10315
+ performed_actions: Optional[str] = None,
10316
+ progress: Optional[float] = None,
10317
+ rollout_resource: Optional[str] = None,
10318
+ start_time: Optional[str] = None,
10319
+ state: Optional[str] = None):
10320
+ """
10321
+ :param 'V2PolicyOrchestratorOrchestrationStatePreviousIterationStateErrorArgs' error: The `Status` type defines a logical error model that is suitable for
10322
+ different programming environments, including REST APIs and RPC APIs. It is
10323
+ used by [gRPC](https://github.com/grpc). Each `Status` message contains
10324
+ three pieces of data: error code, error message, and error details.
10325
+ You can find out more about this error model and how to work with it in the
10326
+ [API Design Guide](https://cloud.google.com/apis/design/errors).
10327
+ Structure is documented below.
10328
+ :param str failed_actions: (Output)
10329
+ Output only. Number of orchestration actions which failed so far. For more details,
10330
+ query the Cloud Logs.
10331
+ :param str finish_time: (Output)
10332
+ Output only. Finish time of the wave iteration.
10333
+ :param str performed_actions: (Output)
10334
+ Output only. Overall number of actions done by the orchestrator so far.
10335
+ :param float progress: (Output)
10336
+ Output only. An estimated percentage of the progress. Number between 0 and 100.
10337
+ :param str rollout_resource: (Output)
10338
+ Output only. Handle to the Progressive Rollouts API rollout resource, which contains
10339
+ detailed information about a particular orchestration iteration.
10340
+ :param str start_time: (Output)
10341
+ Output only. Start time of the wave iteration.
10342
+ :param str state: (Output)
10343
+ Output only. State of the iteration.
10344
+ Possible values:
10345
+ STATE_UNSPECIFIED
10346
+ PROCESSING
10347
+ COMPLETED
10348
+ FAILED
10349
+ CANCELLED
10350
+ UNKNOWN
10351
+ """
10352
+ if error is not None:
10353
+ pulumi.set(__self__, "error", error)
10354
+ if failed_actions is not None:
10355
+ pulumi.set(__self__, "failed_actions", failed_actions)
10356
+ if finish_time is not None:
10357
+ pulumi.set(__self__, "finish_time", finish_time)
10358
+ if performed_actions is not None:
10359
+ pulumi.set(__self__, "performed_actions", performed_actions)
10360
+ if progress is not None:
10361
+ pulumi.set(__self__, "progress", progress)
10362
+ if rollout_resource is not None:
10363
+ pulumi.set(__self__, "rollout_resource", rollout_resource)
10364
+ if start_time is not None:
10365
+ pulumi.set(__self__, "start_time", start_time)
10366
+ if state is not None:
10367
+ pulumi.set(__self__, "state", state)
10368
+
10369
+ @property
10370
+ @pulumi.getter
10371
+ def error(self) -> Optional['outputs.V2PolicyOrchestratorOrchestrationStatePreviousIterationStateError']:
10372
+ """
10373
+ The `Status` type defines a logical error model that is suitable for
10374
+ different programming environments, including REST APIs and RPC APIs. It is
10375
+ used by [gRPC](https://github.com/grpc). Each `Status` message contains
10376
+ three pieces of data: error code, error message, and error details.
10377
+ You can find out more about this error model and how to work with it in the
10378
+ [API Design Guide](https://cloud.google.com/apis/design/errors).
10379
+ Structure is documented below.
10380
+ """
10381
+ return pulumi.get(self, "error")
10382
+
10383
+ @property
10384
+ @pulumi.getter(name="failedActions")
10385
+ def failed_actions(self) -> Optional[str]:
10386
+ """
10387
+ (Output)
10388
+ Output only. Number of orchestration actions which failed so far. For more details,
10389
+ query the Cloud Logs.
10390
+ """
10391
+ return pulumi.get(self, "failed_actions")
10392
+
10393
+ @property
10394
+ @pulumi.getter(name="finishTime")
10395
+ def finish_time(self) -> Optional[str]:
10396
+ """
10397
+ (Output)
10398
+ Output only. Finish time of the wave iteration.
10399
+ """
10400
+ return pulumi.get(self, "finish_time")
10401
+
10402
+ @property
10403
+ @pulumi.getter(name="performedActions")
10404
+ def performed_actions(self) -> Optional[str]:
10405
+ """
10406
+ (Output)
10407
+ Output only. Overall number of actions done by the orchestrator so far.
10408
+ """
10409
+ return pulumi.get(self, "performed_actions")
10410
+
10411
+ @property
10412
+ @pulumi.getter
10413
+ def progress(self) -> Optional[float]:
10414
+ """
10415
+ (Output)
10416
+ Output only. An estimated percentage of the progress. Number between 0 and 100.
10417
+ """
10418
+ return pulumi.get(self, "progress")
10419
+
10420
+ @property
10421
+ @pulumi.getter(name="rolloutResource")
10422
+ def rollout_resource(self) -> Optional[str]:
10423
+ """
10424
+ (Output)
10425
+ Output only. Handle to the Progressive Rollouts API rollout resource, which contains
10426
+ detailed information about a particular orchestration iteration.
10427
+ """
10428
+ return pulumi.get(self, "rollout_resource")
10429
+
10430
+ @property
10431
+ @pulumi.getter(name="startTime")
10432
+ def start_time(self) -> Optional[str]:
10433
+ """
10434
+ (Output)
10435
+ Output only. Start time of the wave iteration.
10436
+ """
10437
+ return pulumi.get(self, "start_time")
10438
+
10439
+ @property
10440
+ @pulumi.getter
10441
+ def state(self) -> Optional[str]:
10442
+ """
10443
+ (Output)
10444
+ Output only. State of the iteration.
10445
+ Possible values:
10446
+ STATE_UNSPECIFIED
10447
+ PROCESSING
10448
+ COMPLETED
10449
+ FAILED
10450
+ CANCELLED
10451
+ UNKNOWN
10452
+ """
10453
+ return pulumi.get(self, "state")
10454
+
10455
+
10456
+ @pulumi.output_type
10457
+ class V2PolicyOrchestratorOrchestrationStatePreviousIterationStateError(dict):
10458
+ def __init__(__self__, *,
10459
+ code: Optional[int] = None,
10460
+ details: Optional[Sequence['outputs.V2PolicyOrchestratorOrchestrationStatePreviousIterationStateErrorDetail']] = None,
10461
+ message: Optional[str] = None):
10462
+ """
10463
+ :param int code: The status code, which should be an enum value of google.rpc.Code.
10464
+ :param Sequence['V2PolicyOrchestratorOrchestrationStatePreviousIterationStateErrorDetailArgs'] details: A list of messages that carry the error details. There is a common set of
10465
+ message types for APIs to use.
10466
+ Structure is documented below.
10467
+ :param str message: A developer-facing error message, which should be in English. Any
10468
+ user-facing error message should be localized and sent in the
10469
+ google.rpc.Status.details field, or localized by the client.
10470
+ """
10471
+ if code is not None:
10472
+ pulumi.set(__self__, "code", code)
10473
+ if details is not None:
10474
+ pulumi.set(__self__, "details", details)
10475
+ if message is not None:
10476
+ pulumi.set(__self__, "message", message)
10477
+
10478
+ @property
10479
+ @pulumi.getter
10480
+ def code(self) -> Optional[int]:
10481
+ """
10482
+ The status code, which should be an enum value of google.rpc.Code.
10483
+ """
10484
+ return pulumi.get(self, "code")
10485
+
10486
+ @property
10487
+ @pulumi.getter
10488
+ def details(self) -> Optional[Sequence['outputs.V2PolicyOrchestratorOrchestrationStatePreviousIterationStateErrorDetail']]:
10489
+ """
10490
+ A list of messages that carry the error details. There is a common set of
10491
+ message types for APIs to use.
10492
+ Structure is documented below.
10493
+ """
10494
+ return pulumi.get(self, "details")
10495
+
10496
+ @property
10497
+ @pulumi.getter
10498
+ def message(self) -> Optional[str]:
10499
+ """
10500
+ A developer-facing error message, which should be in English. Any
10501
+ user-facing error message should be localized and sent in the
10502
+ google.rpc.Status.details field, or localized by the client.
10503
+ """
10504
+ return pulumi.get(self, "message")
10505
+
10506
+
10507
+ @pulumi.output_type
10508
+ class V2PolicyOrchestratorOrchestrationStatePreviousIterationStateErrorDetail(dict):
10509
+ @staticmethod
10510
+ def __key_warning(key: str):
10511
+ suggest = None
10512
+ if key == "typeUrl":
10513
+ suggest = "type_url"
10514
+
10515
+ if suggest:
10516
+ pulumi.log.warn(f"Key '{key}' not found in V2PolicyOrchestratorOrchestrationStatePreviousIterationStateErrorDetail. Access the value via the '{suggest}' property getter instead.")
10517
+
10518
+ def __getitem__(self, key: str) -> Any:
10519
+ V2PolicyOrchestratorOrchestrationStatePreviousIterationStateErrorDetail.__key_warning(key)
10520
+ return super().__getitem__(key)
10521
+
10522
+ def get(self, key: str, default = None) -> Any:
10523
+ V2PolicyOrchestratorOrchestrationStatePreviousIterationStateErrorDetail.__key_warning(key)
10524
+ return super().get(key, default)
10525
+
10526
+ def __init__(__self__, *,
10527
+ type_url: Optional[str] = None,
10528
+ value: Optional[str] = None):
10529
+ """
10530
+ :param str type_url: A URL/resource name that uniquely identifies the type of the serialized protocol buffer message
10531
+ :param str value: (Optional)
10532
+ """
10533
+ if type_url is not None:
10534
+ pulumi.set(__self__, "type_url", type_url)
10535
+ if value is not None:
10536
+ pulumi.set(__self__, "value", value)
10537
+
10538
+ @property
10539
+ @pulumi.getter(name="typeUrl")
10540
+ def type_url(self) -> Optional[str]:
10541
+ """
10542
+ A URL/resource name that uniquely identifies the type of the serialized protocol buffer message
10543
+ """
10544
+ return pulumi.get(self, "type_url")
10545
+
10546
+ @property
10547
+ @pulumi.getter
10548
+ def value(self) -> Optional[str]:
10549
+ """
10550
+ (Optional)
10551
+ """
10552
+ return pulumi.get(self, "value")
10553
+
10554
+