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