pulumi-harness 0.5.0a1736833425__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.
Potentially problematic release.
This version of pulumi-harness might be problematic. Click here for more details.
- pulumi_harness/__init__.py +1257 -0
- pulumi_harness/_inputs.py +4025 -0
- pulumi_harness/_utilities.py +327 -0
- pulumi_harness/add_user_to_group.py +241 -0
- pulumi_harness/application.py +393 -0
- pulumi_harness/application_git_sync.py +411 -0
- pulumi_harness/autostopping/__init__.py +27 -0
- pulumi_harness/autostopping/_inputs.py +2688 -0
- pulumi_harness/autostopping/aws_alb.py +640 -0
- pulumi_harness/autostopping/aws_proxy.py +760 -0
- pulumi_harness/autostopping/azure_gateway.py +798 -0
- pulumi_harness/autostopping/azure_proxy.py +855 -0
- pulumi_harness/autostopping/gcp_proxy.py +779 -0
- pulumi_harness/autostopping/get_aws_alb.py +278 -0
- pulumi_harness/autostopping/get_aws_proxy.py +335 -0
- pulumi_harness/autostopping/get_azure_gateway.py +343 -0
- pulumi_harness/autostopping/get_azure_proxy.py +375 -0
- pulumi_harness/autostopping/get_gcp_proxy.py +340 -0
- pulumi_harness/autostopping/get_rule_ecs.py +225 -0
- pulumi_harness/autostopping/get_rule_rds.py +205 -0
- pulumi_harness/autostopping/get_rule_vm.py +265 -0
- pulumi_harness/autostopping/get_schedule.py +193 -0
- pulumi_harness/autostopping/outputs.py +1971 -0
- pulumi_harness/autostopping/rule_ecs.py +450 -0
- pulumi_harness/autostopping/rule_rds.py +448 -0
- pulumi_harness/autostopping/rule_vm.py +663 -0
- pulumi_harness/autostopping/schedule.py +465 -0
- pulumi_harness/cloudprovider/__init__.py +17 -0
- pulumi_harness/cloudprovider/_inputs.py +777 -0
- pulumi_harness/cloudprovider/aws.py +586 -0
- pulumi_harness/cloudprovider/azure.py +393 -0
- pulumi_harness/cloudprovider/datacenter.py +233 -0
- pulumi_harness/cloudprovider/gcp.py +340 -0
- pulumi_harness/cloudprovider/get_delegate_ids.py +148 -0
- pulumi_harness/cloudprovider/kubernetes.py +310 -0
- pulumi_harness/cloudprovider/outputs.py +657 -0
- pulumi_harness/cloudprovider/spot.py +296 -0
- pulumi_harness/cloudprovider/tanzu.py +441 -0
- pulumi_harness/cluster/__init__.py +9 -0
- pulumi_harness/cluster/get_orchestrator.py +134 -0
- pulumi_harness/cluster/orchestrator.py +286 -0
- pulumi_harness/config/__init__.py +8 -0
- pulumi_harness/config/__init__.pyi +40 -0
- pulumi_harness/config/vars.py +54 -0
- pulumi_harness/delegate_approval.py +267 -0
- pulumi_harness/encrypted_text.py +499 -0
- pulumi_harness/environment.py +446 -0
- pulumi_harness/get_application.py +180 -0
- pulumi_harness/get_current_account.py +108 -0
- pulumi_harness/get_delegate.py +280 -0
- pulumi_harness/get_encrypted_text.py +136 -0
- pulumi_harness/get_environment.py +184 -0
- pulumi_harness/get_git_connector.py +255 -0
- pulumi_harness/get_secret_manager.py +142 -0
- pulumi_harness/get_service.py +198 -0
- pulumi_harness/get_ssh_credential.py +122 -0
- pulumi_harness/get_sso_provider.py +114 -0
- pulumi_harness/get_trigger.py +177 -0
- pulumi_harness/get_user.py +184 -0
- pulumi_harness/get_user_group.py +100 -0
- pulumi_harness/get_yaml_config.py +142 -0
- pulumi_harness/git_connector.py +738 -0
- pulumi_harness/governance/__init__.py +13 -0
- pulumi_harness/governance/get_rule.py +168 -0
- pulumi_harness/governance/get_rule_enforcement.py +266 -0
- pulumi_harness/governance/get_rule_set.py +150 -0
- pulumi_harness/governance/rule.py +337 -0
- pulumi_harness/governance/rule_enforcement.py +668 -0
- pulumi_harness/governance/rule_set.py +321 -0
- pulumi_harness/infrastructure_definition.py +1246 -0
- pulumi_harness/outputs.py +3306 -0
- pulumi_harness/platform/__init__.py +220 -0
- pulumi_harness/platform/_inputs.py +22314 -0
- pulumi_harness/platform/app_dynamics_connector.py +733 -0
- pulumi_harness/platform/artifactory_connector.py +748 -0
- pulumi_harness/platform/aws_cc_connector.py +716 -0
- pulumi_harness/platform/aws_connector.py +851 -0
- pulumi_harness/platform/aws_kms_connector.py +619 -0
- pulumi_harness/platform/aws_secret_manager_connector.py +712 -0
- pulumi_harness/platform/azure_cloud_cost_connector.py +675 -0
- pulumi_harness/platform/azure_cloud_provider_connector.py +826 -0
- pulumi_harness/platform/azure_key_vault_connector.py +843 -0
- pulumi_harness/platform/bitbucket_connector.py +713 -0
- pulumi_harness/platform/connector_azure_artifacts.py +529 -0
- pulumi_harness/platform/connector_custom_secret_manager.py +887 -0
- pulumi_harness/platform/connector_customhealthsource.py +807 -0
- pulumi_harness/platform/connector_jdbc.py +609 -0
- pulumi_harness/platform/connector_pdc.py +527 -0
- pulumi_harness/platform/connector_rancher.py +617 -0
- pulumi_harness/platform/datadog_connector.py +651 -0
- pulumi_harness/platform/db_instance.py +636 -0
- pulumi_harness/platform/db_schema.py +547 -0
- pulumi_harness/platform/delegatetoken.py +520 -0
- pulumi_harness/platform/docker_connector.py +669 -0
- pulumi_harness/platform/dynatrace_connector.py +601 -0
- pulumi_harness/platform/elasticsearch_connector.py +744 -0
- pulumi_harness/platform/environment.py +1173 -0
- pulumi_harness/platform/environment_clusters_mapping.py +454 -0
- pulumi_harness/platform/environment_group.py +560 -0
- pulumi_harness/platform/environment_service_overrides.py +688 -0
- pulumi_harness/platform/feature_flag.py +724 -0
- pulumi_harness/platform/feature_flag_api_key.py +550 -0
- pulumi_harness/platform/feature_flag_target.py +473 -0
- pulumi_harness/platform/feature_flag_target_group.py +577 -0
- pulumi_harness/platform/file_store_file.py +822 -0
- pulumi_harness/platform/file_store_folder.py +628 -0
- pulumi_harness/platform/filters.py +511 -0
- pulumi_harness/platform/gcp_cloud_cost_connector.py +669 -0
- pulumi_harness/platform/gcp_connector.py +663 -0
- pulumi_harness/platform/gcp_secret_manager_connector.py +594 -0
- pulumi_harness/platform/get_api_key.py +292 -0
- pulumi_harness/platform/get_app_dynamics_connector.py +271 -0
- pulumi_harness/platform/get_artifactory_connector.py +243 -0
- pulumi_harness/platform/get_aws_cc_connector.py +271 -0
- pulumi_harness/platform/get_aws_connector.py +313 -0
- pulumi_harness/platform/get_aws_kms_connector.py +253 -0
- pulumi_harness/platform/get_aws_secret_manager_connector.py +267 -0
- pulumi_harness/platform/get_azure_cloud_cost_connector.py +257 -0
- pulumi_harness/platform/get_azure_cloud_provider_connector.py +257 -0
- pulumi_harness/platform/get_azure_key_vault_connector.py +308 -0
- pulumi_harness/platform/get_bitbucket_connector.py +285 -0
- pulumi_harness/platform/get_ccm_filters.py +221 -0
- pulumi_harness/platform/get_connector_custom_secret_manager.py +330 -0
- pulumi_harness/platform/get_connector_customhealthsource.py +281 -0
- pulumi_harness/platform/get_connector_jdbc.py +243 -0
- pulumi_harness/platform/get_connector_pdc.py +229 -0
- pulumi_harness/platform/get_connector_rancher.py +236 -0
- pulumi_harness/platform/get_current_account.py +126 -0
- pulumi_harness/platform/get_current_user.py +252 -0
- pulumi_harness/platform/get_datadog_connector.py +262 -0
- pulumi_harness/platform/get_db_instance.py +268 -0
- pulumi_harness/platform/get_db_schema.py +233 -0
- pulumi_harness/platform/get_delegatetoken.py +214 -0
- pulumi_harness/platform/get_docker_connector.py +257 -0
- pulumi_harness/platform/get_dynatrace_connector.py +242 -0
- pulumi_harness/platform/get_elasticsearch_connector.py +257 -0
- pulumi_harness/platform/get_environment.py +263 -0
- pulumi_harness/platform/get_environment_clusters_mapping.py +262 -0
- pulumi_harness/platform/get_environment_group.py +190 -0
- pulumi_harness/platform/get_environment_list.py +172 -0
- pulumi_harness/platform/get_environment_service_overrides.py +212 -0
- pulumi_harness/platform/get_file_store_file.py +327 -0
- pulumi_harness/platform/get_file_store_folder.py +271 -0
- pulumi_harness/platform/get_filters.py +217 -0
- pulumi_harness/platform/get_gcp_cloud_cost_connector.py +257 -0
- pulumi_harness/platform/get_gcp_connector.py +243 -0
- pulumi_harness/platform/get_gcp_secret_manager_connector.py +238 -0
- pulumi_harness/platform/get_git_connector.py +271 -0
- pulumi_harness/platform/get_github_connector.py +296 -0
- pulumi_harness/platform/get_gitlab_connector.py +285 -0
- pulumi_harness/platform/get_gitops_agent.py +303 -0
- pulumi_harness/platform/get_gitops_agent_deploy_yaml.py +257 -0
- pulumi_harness/platform/get_gitops_app_project.py +191 -0
- pulumi_harness/platform/get_gitops_app_project_mapping.py +189 -0
- pulumi_harness/platform/get_gitops_applications.py +351 -0
- pulumi_harness/platform/get_gitops_cluster.py +216 -0
- pulumi_harness/platform/get_gitops_gnupg.py +219 -0
- pulumi_harness/platform/get_gitops_repo_cert.py +155 -0
- pulumi_harness/platform/get_gitops_repo_cred.py +223 -0
- pulumi_harness/platform/get_gitops_repository.py +230 -0
- pulumi_harness/platform/get_gitx_webhook.py +194 -0
- pulumi_harness/platform/get_helm_connector.py +243 -0
- pulumi_harness/platform/get_iacm_default_pipeline.py +168 -0
- pulumi_harness/platform/get_infra_module.py +320 -0
- pulumi_harness/platform/get_infrastructure.py +287 -0
- pulumi_harness/platform/get_input_set.py +238 -0
- pulumi_harness/platform/get_jenkins_connector.py +243 -0
- pulumi_harness/platform/get_jira_connector.py +285 -0
- pulumi_harness/platform/get_kubernetes_cloud_cost_connector.py +228 -0
- pulumi_harness/platform/get_kubernetes_connector.py +285 -0
- pulumi_harness/platform/get_manual_freeze.py +305 -0
- pulumi_harness/platform/get_monitored_service.py +134 -0
- pulumi_harness/platform/get_nexus_connector.py +257 -0
- pulumi_harness/platform/get_notification_rule.py +156 -0
- pulumi_harness/platform/get_oci_helm_connector.py +243 -0
- pulumi_harness/platform/get_organization.py +156 -0
- pulumi_harness/platform/get_overrides.py +198 -0
- pulumi_harness/platform/get_pagerduty_connector.py +224 -0
- pulumi_harness/platform/get_permissions.py +149 -0
- pulumi_harness/platform/get_pipeline.py +268 -0
- pulumi_harness/platform/get_pipeline_filters.py +197 -0
- pulumi_harness/platform/get_pipeline_list.py +269 -0
- pulumi_harness/platform/get_policy.py +220 -0
- pulumi_harness/platform/get_policy_set.py +298 -0
- pulumi_harness/platform/get_project.py +210 -0
- pulumi_harness/platform/get_project_list.py +249 -0
- pulumi_harness/platform/get_prometheus_connector.py +271 -0
- pulumi_harness/platform/get_provider.py +85 -0
- pulumi_harness/platform/get_repo.py +362 -0
- pulumi_harness/platform/get_repo_rule_branch.py +312 -0
- pulumi_harness/platform/get_repo_webhook.py +316 -0
- pulumi_harness/platform/get_resource_group.py +267 -0
- pulumi_harness/platform/get_role_assignments.py +223 -0
- pulumi_harness/platform/get_roles.py +240 -0
- pulumi_harness/platform/get_secret_file.py +224 -0
- pulumi_harness/platform/get_secret_sshkey.py +239 -0
- pulumi_harness/platform/get_secret_text.py +264 -0
- pulumi_harness/platform/get_service.py +235 -0
- pulumi_harness/platform/get_service_account.py +224 -0
- pulumi_harness/platform/get_service_list.py +172 -0
- pulumi_harness/platform/get_service_now_connector.py +285 -0
- pulumi_harness/platform/get_service_overrides_v2.py +220 -0
- pulumi_harness/platform/get_slo.py +134 -0
- pulumi_harness/platform/get_splunk_connector.py +270 -0
- pulumi_harness/platform/get_spot_connector.py +215 -0
- pulumi_harness/platform/get_sumologic_connector.py +256 -0
- pulumi_harness/platform/get_tas_connector.py +243 -0
- pulumi_harness/platform/get_template.py +386 -0
- pulumi_harness/platform/get_template_filters.py +221 -0
- pulumi_harness/platform/get_terraform_cloud_connector.py +233 -0
- pulumi_harness/platform/get_token.py +430 -0
- pulumi_harness/platform/get_triggers.py +260 -0
- pulumi_harness/platform/get_user.py +222 -0
- pulumi_harness/platform/get_usergroup.py +340 -0
- pulumi_harness/platform/get_variables.py +209 -0
- pulumi_harness/platform/get_vault_connector.py +574 -0
- pulumi_harness/platform/get_workspace.py +411 -0
- pulumi_harness/platform/get_workspace_output_value.py +168 -0
- pulumi_harness/platform/git_connector.py +713 -0
- pulumi_harness/platform/git_ops_agent.py +727 -0
- pulumi_harness/platform/git_ops_applications.py +1090 -0
- pulumi_harness/platform/git_ops_cluster.py +438 -0
- pulumi_harness/platform/git_ops_gnupg.py +453 -0
- pulumi_harness/platform/git_ops_repo_cert.py +437 -0
- pulumi_harness/platform/git_ops_repo_cred.py +533 -0
- pulumi_harness/platform/git_ops_repository.py +831 -0
- pulumi_harness/platform/github_connector.py +807 -0
- pulumi_harness/platform/gitlab_connector.py +713 -0
- pulumi_harness/platform/gitops_app_project.py +485 -0
- pulumi_harness/platform/gitops_app_project_mapping.py +423 -0
- pulumi_harness/platform/gitx_webhook.py +616 -0
- pulumi_harness/platform/helm_connector.py +617 -0
- pulumi_harness/platform/iacm_default_pipeline.py +343 -0
- pulumi_harness/platform/infra_module.py +755 -0
- pulumi_harness/platform/infrastructure.py +937 -0
- pulumi_harness/platform/input_set.py +689 -0
- pulumi_harness/platform/jenkins_connector.py +566 -0
- pulumi_harness/platform/jira_connector.py +714 -0
- pulumi_harness/platform/kubernetes_cloud_cost_connector.py +558 -0
- pulumi_harness/platform/kubernetes_connector.py +895 -0
- pulumi_harness/platform/manual_freeze.py +835 -0
- pulumi_harness/platform/monitored_service.py +1984 -0
- pulumi_harness/platform/newrelic_connector.py +651 -0
- pulumi_harness/platform/nexus_connector.py +622 -0
- pulumi_harness/platform/notification_rule.py +526 -0
- pulumi_harness/platform/oci_helm_connector.py +617 -0
- pulumi_harness/platform/organization.py +336 -0
- pulumi_harness/platform/outputs.py +23361 -0
- pulumi_harness/platform/overrides.py +669 -0
- pulumi_harness/platform/pagerduty_connector.py +547 -0
- pulumi_harness/platform/pipeline.py +991 -0
- pulumi_harness/platform/pipeline_filters.py +711 -0
- pulumi_harness/platform/policy.py +944 -0
- pulumi_harness/platform/policy_set.py +594 -0
- pulumi_harness/platform/project.py +453 -0
- pulumi_harness/platform/prometheus_connector.py +710 -0
- pulumi_harness/platform/provider.py +349 -0
- pulumi_harness/platform/repo.py +737 -0
- pulumi_harness/platform/repo_rule_branch.py +645 -0
- pulumi_harness/platform/repo_webhook.py +664 -0
- pulumi_harness/platform/resource_group.py +718 -0
- pulumi_harness/platform/role_assignments.py +524 -0
- pulumi_harness/platform/roles.py +546 -0
- pulumi_harness/platform/secret_file.py +548 -0
- pulumi_harness/platform/secret_sshkey.py +569 -0
- pulumi_harness/platform/secret_text.py +620 -0
- pulumi_harness/platform/service.py +1195 -0
- pulumi_harness/platform/service_account.py +548 -0
- pulumi_harness/platform/service_now_connector.py +714 -0
- pulumi_harness/platform/service_overrides_v2.py +915 -0
- pulumi_harness/platform/slo.py +462 -0
- pulumi_harness/platform/splunk_connector.py +701 -0
- pulumi_harness/platform/spot_connector.py +452 -0
- pulumi_harness/platform/sumologic_connector.py +651 -0
- pulumi_harness/platform/tas_connector.py +570 -0
- pulumi_harness/platform/template.py +861 -0
- pulumi_harness/platform/template_filters.py +515 -0
- pulumi_harness/platform/terraform_cloud_connector.py +545 -0
- pulumi_harness/platform/token.py +977 -0
- pulumi_harness/platform/triggers.py +680 -0
- pulumi_harness/platform/user.py +522 -0
- pulumi_harness/platform/usergroup.py +1104 -0
- pulumi_harness/platform/variables.py +509 -0
- pulumi_harness/platform/vault_connector.py +1919 -0
- pulumi_harness/platform/workspace.py +1145 -0
- pulumi_harness/platform_api_key.py +617 -0
- pulumi_harness/platform_ccm_filters.py +515 -0
- pulumi_harness/provider.py +227 -0
- pulumi_harness/pulumi-plugin.json +6 -0
- pulumi_harness/py.typed +0 -0
- pulumi_harness/service/__init__.py +18 -0
- pulumi_harness/service/_inputs.py +660 -0
- pulumi_harness/service/ami.py +336 -0
- pulumi_harness/service/codedeploy.py +336 -0
- pulumi_harness/service/ecs.py +336 -0
- pulumi_harness/service/helm.py +336 -0
- pulumi_harness/service/kubernetes.py +409 -0
- pulumi_harness/service/lambda_.py +336 -0
- pulumi_harness/service/outputs.py +388 -0
- pulumi_harness/service/ssh.py +386 -0
- pulumi_harness/service/tanzu.py +336 -0
- pulumi_harness/service/winrm.py +386 -0
- pulumi_harness/ssh_credential.py +361 -0
- pulumi_harness/user.py +423 -0
- pulumi_harness/user_group.py +713 -0
- pulumi_harness/user_group_permissions.py +247 -0
- pulumi_harness/yaml_config.py +336 -0
- pulumi_harness-0.5.0a1736833425.dist-info/METADATA +69 -0
- pulumi_harness-0.5.0a1736833425.dist-info/RECORD +311 -0
- pulumi_harness-0.5.0a1736833425.dist-info/WHEEL +5 -0
- pulumi_harness-0.5.0a1736833425.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,668 @@
|
|
|
1
|
+
# coding=utf-8
|
|
2
|
+
# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
|
|
3
|
+
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
|
+
|
|
5
|
+
import copy
|
|
6
|
+
import warnings
|
|
7
|
+
import sys
|
|
8
|
+
import pulumi
|
|
9
|
+
import pulumi.runtime
|
|
10
|
+
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
|
11
|
+
if sys.version_info >= (3, 11):
|
|
12
|
+
from typing import NotRequired, TypedDict, TypeAlias
|
|
13
|
+
else:
|
|
14
|
+
from typing_extensions import NotRequired, TypedDict, TypeAlias
|
|
15
|
+
from .. import _utilities
|
|
16
|
+
|
|
17
|
+
__all__ = ['RuleEnforcementArgs', 'RuleEnforcement']
|
|
18
|
+
|
|
19
|
+
@pulumi.input_type
|
|
20
|
+
class RuleEnforcementArgs:
|
|
21
|
+
def __init__(__self__, *,
|
|
22
|
+
cloud_provider: pulumi.Input[str],
|
|
23
|
+
execution_schedule: pulumi.Input[str],
|
|
24
|
+
execution_timezone: pulumi.Input[str],
|
|
25
|
+
target_accounts: pulumi.Input[Sequence[pulumi.Input[str]]],
|
|
26
|
+
description: Optional[pulumi.Input[str]] = None,
|
|
27
|
+
is_dry_run: Optional[pulumi.Input[bool]] = None,
|
|
28
|
+
is_enabled: Optional[pulumi.Input[bool]] = None,
|
|
29
|
+
name: Optional[pulumi.Input[str]] = None,
|
|
30
|
+
rule_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
31
|
+
rule_set_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
32
|
+
target_regions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
|
|
33
|
+
"""
|
|
34
|
+
The set of arguments for constructing a RuleEnforcement resource.
|
|
35
|
+
:param pulumi.Input[str] cloud_provider: The cloud provider for the rule enforcement. It should be either AWS, AZURE or GCP.
|
|
36
|
+
:param pulumi.Input[str] execution_schedule: Execution schedule in cron format.
|
|
37
|
+
:param pulumi.Input[str] execution_timezone: Timezone for the execution schedule.
|
|
38
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] target_accounts: List of target account which can be either AWS Account Ids or Azure Subscription Ids or Gcp Project Ids.
|
|
39
|
+
:param pulumi.Input[str] description: Description for rule enforcement.
|
|
40
|
+
:param pulumi.Input[bool] is_dry_run: Indicates if the rule enforcement is a dry run. This by default is set to false.
|
|
41
|
+
:param pulumi.Input[bool] is_enabled: Indicates if the rule enforcement is enabled. This by default is set to true.
|
|
42
|
+
:param pulumi.Input[str] name: Name of the rule enforcement.
|
|
43
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] rule_ids: List of rule IDs. Either rule*ids or rule*set_ids should be provided.
|
|
44
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] rule_set_ids: List of rule set IDs. Either rule*ids or rule*set_ids should be provided.
|
|
45
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] target_regions: List of target regions. For GCP it should be left empty but is required in case of AWS or Azure.
|
|
46
|
+
"""
|
|
47
|
+
pulumi.set(__self__, "cloud_provider", cloud_provider)
|
|
48
|
+
pulumi.set(__self__, "execution_schedule", execution_schedule)
|
|
49
|
+
pulumi.set(__self__, "execution_timezone", execution_timezone)
|
|
50
|
+
pulumi.set(__self__, "target_accounts", target_accounts)
|
|
51
|
+
if description is not None:
|
|
52
|
+
pulumi.set(__self__, "description", description)
|
|
53
|
+
if is_dry_run is not None:
|
|
54
|
+
pulumi.set(__self__, "is_dry_run", is_dry_run)
|
|
55
|
+
if is_enabled is not None:
|
|
56
|
+
pulumi.set(__self__, "is_enabled", is_enabled)
|
|
57
|
+
if name is not None:
|
|
58
|
+
pulumi.set(__self__, "name", name)
|
|
59
|
+
if rule_ids is not None:
|
|
60
|
+
pulumi.set(__self__, "rule_ids", rule_ids)
|
|
61
|
+
if rule_set_ids is not None:
|
|
62
|
+
pulumi.set(__self__, "rule_set_ids", rule_set_ids)
|
|
63
|
+
if target_regions is not None:
|
|
64
|
+
pulumi.set(__self__, "target_regions", target_regions)
|
|
65
|
+
|
|
66
|
+
@property
|
|
67
|
+
@pulumi.getter(name="cloudProvider")
|
|
68
|
+
def cloud_provider(self) -> pulumi.Input[str]:
|
|
69
|
+
"""
|
|
70
|
+
The cloud provider for the rule enforcement. It should be either AWS, AZURE or GCP.
|
|
71
|
+
"""
|
|
72
|
+
return pulumi.get(self, "cloud_provider")
|
|
73
|
+
|
|
74
|
+
@cloud_provider.setter
|
|
75
|
+
def cloud_provider(self, value: pulumi.Input[str]):
|
|
76
|
+
pulumi.set(self, "cloud_provider", value)
|
|
77
|
+
|
|
78
|
+
@property
|
|
79
|
+
@pulumi.getter(name="executionSchedule")
|
|
80
|
+
def execution_schedule(self) -> pulumi.Input[str]:
|
|
81
|
+
"""
|
|
82
|
+
Execution schedule in cron format.
|
|
83
|
+
"""
|
|
84
|
+
return pulumi.get(self, "execution_schedule")
|
|
85
|
+
|
|
86
|
+
@execution_schedule.setter
|
|
87
|
+
def execution_schedule(self, value: pulumi.Input[str]):
|
|
88
|
+
pulumi.set(self, "execution_schedule", value)
|
|
89
|
+
|
|
90
|
+
@property
|
|
91
|
+
@pulumi.getter(name="executionTimezone")
|
|
92
|
+
def execution_timezone(self) -> pulumi.Input[str]:
|
|
93
|
+
"""
|
|
94
|
+
Timezone for the execution schedule.
|
|
95
|
+
"""
|
|
96
|
+
return pulumi.get(self, "execution_timezone")
|
|
97
|
+
|
|
98
|
+
@execution_timezone.setter
|
|
99
|
+
def execution_timezone(self, value: pulumi.Input[str]):
|
|
100
|
+
pulumi.set(self, "execution_timezone", value)
|
|
101
|
+
|
|
102
|
+
@property
|
|
103
|
+
@pulumi.getter(name="targetAccounts")
|
|
104
|
+
def target_accounts(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
|
|
105
|
+
"""
|
|
106
|
+
List of target account which can be either AWS Account Ids or Azure Subscription Ids or Gcp Project Ids.
|
|
107
|
+
"""
|
|
108
|
+
return pulumi.get(self, "target_accounts")
|
|
109
|
+
|
|
110
|
+
@target_accounts.setter
|
|
111
|
+
def target_accounts(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]):
|
|
112
|
+
pulumi.set(self, "target_accounts", value)
|
|
113
|
+
|
|
114
|
+
@property
|
|
115
|
+
@pulumi.getter
|
|
116
|
+
def description(self) -> Optional[pulumi.Input[str]]:
|
|
117
|
+
"""
|
|
118
|
+
Description for rule enforcement.
|
|
119
|
+
"""
|
|
120
|
+
return pulumi.get(self, "description")
|
|
121
|
+
|
|
122
|
+
@description.setter
|
|
123
|
+
def description(self, value: Optional[pulumi.Input[str]]):
|
|
124
|
+
pulumi.set(self, "description", value)
|
|
125
|
+
|
|
126
|
+
@property
|
|
127
|
+
@pulumi.getter(name="isDryRun")
|
|
128
|
+
def is_dry_run(self) -> Optional[pulumi.Input[bool]]:
|
|
129
|
+
"""
|
|
130
|
+
Indicates if the rule enforcement is a dry run. This by default is set to false.
|
|
131
|
+
"""
|
|
132
|
+
return pulumi.get(self, "is_dry_run")
|
|
133
|
+
|
|
134
|
+
@is_dry_run.setter
|
|
135
|
+
def is_dry_run(self, value: Optional[pulumi.Input[bool]]):
|
|
136
|
+
pulumi.set(self, "is_dry_run", value)
|
|
137
|
+
|
|
138
|
+
@property
|
|
139
|
+
@pulumi.getter(name="isEnabled")
|
|
140
|
+
def is_enabled(self) -> Optional[pulumi.Input[bool]]:
|
|
141
|
+
"""
|
|
142
|
+
Indicates if the rule enforcement is enabled. This by default is set to true.
|
|
143
|
+
"""
|
|
144
|
+
return pulumi.get(self, "is_enabled")
|
|
145
|
+
|
|
146
|
+
@is_enabled.setter
|
|
147
|
+
def is_enabled(self, value: Optional[pulumi.Input[bool]]):
|
|
148
|
+
pulumi.set(self, "is_enabled", value)
|
|
149
|
+
|
|
150
|
+
@property
|
|
151
|
+
@pulumi.getter
|
|
152
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
|
153
|
+
"""
|
|
154
|
+
Name of the rule enforcement.
|
|
155
|
+
"""
|
|
156
|
+
return pulumi.get(self, "name")
|
|
157
|
+
|
|
158
|
+
@name.setter
|
|
159
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
|
160
|
+
pulumi.set(self, "name", value)
|
|
161
|
+
|
|
162
|
+
@property
|
|
163
|
+
@pulumi.getter(name="ruleIds")
|
|
164
|
+
def rule_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
|
165
|
+
"""
|
|
166
|
+
List of rule IDs. Either rule*ids or rule*set_ids should be provided.
|
|
167
|
+
"""
|
|
168
|
+
return pulumi.get(self, "rule_ids")
|
|
169
|
+
|
|
170
|
+
@rule_ids.setter
|
|
171
|
+
def rule_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
|
172
|
+
pulumi.set(self, "rule_ids", value)
|
|
173
|
+
|
|
174
|
+
@property
|
|
175
|
+
@pulumi.getter(name="ruleSetIds")
|
|
176
|
+
def rule_set_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
|
177
|
+
"""
|
|
178
|
+
List of rule set IDs. Either rule*ids or rule*set_ids should be provided.
|
|
179
|
+
"""
|
|
180
|
+
return pulumi.get(self, "rule_set_ids")
|
|
181
|
+
|
|
182
|
+
@rule_set_ids.setter
|
|
183
|
+
def rule_set_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
|
184
|
+
pulumi.set(self, "rule_set_ids", value)
|
|
185
|
+
|
|
186
|
+
@property
|
|
187
|
+
@pulumi.getter(name="targetRegions")
|
|
188
|
+
def target_regions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
|
189
|
+
"""
|
|
190
|
+
List of target regions. For GCP it should be left empty but is required in case of AWS or Azure.
|
|
191
|
+
"""
|
|
192
|
+
return pulumi.get(self, "target_regions")
|
|
193
|
+
|
|
194
|
+
@target_regions.setter
|
|
195
|
+
def target_regions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
|
196
|
+
pulumi.set(self, "target_regions", value)
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
@pulumi.input_type
|
|
200
|
+
class _RuleEnforcementState:
|
|
201
|
+
def __init__(__self__, *,
|
|
202
|
+
cloud_provider: Optional[pulumi.Input[str]] = None,
|
|
203
|
+
description: Optional[pulumi.Input[str]] = None,
|
|
204
|
+
enforcement_id: Optional[pulumi.Input[str]] = None,
|
|
205
|
+
execution_schedule: Optional[pulumi.Input[str]] = None,
|
|
206
|
+
execution_timezone: Optional[pulumi.Input[str]] = None,
|
|
207
|
+
is_dry_run: Optional[pulumi.Input[bool]] = None,
|
|
208
|
+
is_enabled: Optional[pulumi.Input[bool]] = None,
|
|
209
|
+
name: Optional[pulumi.Input[str]] = None,
|
|
210
|
+
rule_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
211
|
+
rule_set_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
212
|
+
target_accounts: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
213
|
+
target_regions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
|
|
214
|
+
"""
|
|
215
|
+
Input properties used for looking up and filtering RuleEnforcement resources.
|
|
216
|
+
:param pulumi.Input[str] cloud_provider: The cloud provider for the rule enforcement. It should be either AWS, AZURE or GCP.
|
|
217
|
+
:param pulumi.Input[str] description: Description for rule enforcement.
|
|
218
|
+
:param pulumi.Input[str] enforcement_id: Id of the rule enforcement.
|
|
219
|
+
:param pulumi.Input[str] execution_schedule: Execution schedule in cron format.
|
|
220
|
+
:param pulumi.Input[str] execution_timezone: Timezone for the execution schedule.
|
|
221
|
+
:param pulumi.Input[bool] is_dry_run: Indicates if the rule enforcement is a dry run. This by default is set to false.
|
|
222
|
+
:param pulumi.Input[bool] is_enabled: Indicates if the rule enforcement is enabled. This by default is set to true.
|
|
223
|
+
:param pulumi.Input[str] name: Name of the rule enforcement.
|
|
224
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] rule_ids: List of rule IDs. Either rule*ids or rule*set_ids should be provided.
|
|
225
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] rule_set_ids: List of rule set IDs. Either rule*ids or rule*set_ids should be provided.
|
|
226
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] target_accounts: List of target account which can be either AWS Account Ids or Azure Subscription Ids or Gcp Project Ids.
|
|
227
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] target_regions: List of target regions. For GCP it should be left empty but is required in case of AWS or Azure.
|
|
228
|
+
"""
|
|
229
|
+
if cloud_provider is not None:
|
|
230
|
+
pulumi.set(__self__, "cloud_provider", cloud_provider)
|
|
231
|
+
if description is not None:
|
|
232
|
+
pulumi.set(__self__, "description", description)
|
|
233
|
+
if enforcement_id is not None:
|
|
234
|
+
pulumi.set(__self__, "enforcement_id", enforcement_id)
|
|
235
|
+
if execution_schedule is not None:
|
|
236
|
+
pulumi.set(__self__, "execution_schedule", execution_schedule)
|
|
237
|
+
if execution_timezone is not None:
|
|
238
|
+
pulumi.set(__self__, "execution_timezone", execution_timezone)
|
|
239
|
+
if is_dry_run is not None:
|
|
240
|
+
pulumi.set(__self__, "is_dry_run", is_dry_run)
|
|
241
|
+
if is_enabled is not None:
|
|
242
|
+
pulumi.set(__self__, "is_enabled", is_enabled)
|
|
243
|
+
if name is not None:
|
|
244
|
+
pulumi.set(__self__, "name", name)
|
|
245
|
+
if rule_ids is not None:
|
|
246
|
+
pulumi.set(__self__, "rule_ids", rule_ids)
|
|
247
|
+
if rule_set_ids is not None:
|
|
248
|
+
pulumi.set(__self__, "rule_set_ids", rule_set_ids)
|
|
249
|
+
if target_accounts is not None:
|
|
250
|
+
pulumi.set(__self__, "target_accounts", target_accounts)
|
|
251
|
+
if target_regions is not None:
|
|
252
|
+
pulumi.set(__self__, "target_regions", target_regions)
|
|
253
|
+
|
|
254
|
+
@property
|
|
255
|
+
@pulumi.getter(name="cloudProvider")
|
|
256
|
+
def cloud_provider(self) -> Optional[pulumi.Input[str]]:
|
|
257
|
+
"""
|
|
258
|
+
The cloud provider for the rule enforcement. It should be either AWS, AZURE or GCP.
|
|
259
|
+
"""
|
|
260
|
+
return pulumi.get(self, "cloud_provider")
|
|
261
|
+
|
|
262
|
+
@cloud_provider.setter
|
|
263
|
+
def cloud_provider(self, value: Optional[pulumi.Input[str]]):
|
|
264
|
+
pulumi.set(self, "cloud_provider", value)
|
|
265
|
+
|
|
266
|
+
@property
|
|
267
|
+
@pulumi.getter
|
|
268
|
+
def description(self) -> Optional[pulumi.Input[str]]:
|
|
269
|
+
"""
|
|
270
|
+
Description for rule enforcement.
|
|
271
|
+
"""
|
|
272
|
+
return pulumi.get(self, "description")
|
|
273
|
+
|
|
274
|
+
@description.setter
|
|
275
|
+
def description(self, value: Optional[pulumi.Input[str]]):
|
|
276
|
+
pulumi.set(self, "description", value)
|
|
277
|
+
|
|
278
|
+
@property
|
|
279
|
+
@pulumi.getter(name="enforcementId")
|
|
280
|
+
def enforcement_id(self) -> Optional[pulumi.Input[str]]:
|
|
281
|
+
"""
|
|
282
|
+
Id of the rule enforcement.
|
|
283
|
+
"""
|
|
284
|
+
return pulumi.get(self, "enforcement_id")
|
|
285
|
+
|
|
286
|
+
@enforcement_id.setter
|
|
287
|
+
def enforcement_id(self, value: Optional[pulumi.Input[str]]):
|
|
288
|
+
pulumi.set(self, "enforcement_id", value)
|
|
289
|
+
|
|
290
|
+
@property
|
|
291
|
+
@pulumi.getter(name="executionSchedule")
|
|
292
|
+
def execution_schedule(self) -> Optional[pulumi.Input[str]]:
|
|
293
|
+
"""
|
|
294
|
+
Execution schedule in cron format.
|
|
295
|
+
"""
|
|
296
|
+
return pulumi.get(self, "execution_schedule")
|
|
297
|
+
|
|
298
|
+
@execution_schedule.setter
|
|
299
|
+
def execution_schedule(self, value: Optional[pulumi.Input[str]]):
|
|
300
|
+
pulumi.set(self, "execution_schedule", value)
|
|
301
|
+
|
|
302
|
+
@property
|
|
303
|
+
@pulumi.getter(name="executionTimezone")
|
|
304
|
+
def execution_timezone(self) -> Optional[pulumi.Input[str]]:
|
|
305
|
+
"""
|
|
306
|
+
Timezone for the execution schedule.
|
|
307
|
+
"""
|
|
308
|
+
return pulumi.get(self, "execution_timezone")
|
|
309
|
+
|
|
310
|
+
@execution_timezone.setter
|
|
311
|
+
def execution_timezone(self, value: Optional[pulumi.Input[str]]):
|
|
312
|
+
pulumi.set(self, "execution_timezone", value)
|
|
313
|
+
|
|
314
|
+
@property
|
|
315
|
+
@pulumi.getter(name="isDryRun")
|
|
316
|
+
def is_dry_run(self) -> Optional[pulumi.Input[bool]]:
|
|
317
|
+
"""
|
|
318
|
+
Indicates if the rule enforcement is a dry run. This by default is set to false.
|
|
319
|
+
"""
|
|
320
|
+
return pulumi.get(self, "is_dry_run")
|
|
321
|
+
|
|
322
|
+
@is_dry_run.setter
|
|
323
|
+
def is_dry_run(self, value: Optional[pulumi.Input[bool]]):
|
|
324
|
+
pulumi.set(self, "is_dry_run", value)
|
|
325
|
+
|
|
326
|
+
@property
|
|
327
|
+
@pulumi.getter(name="isEnabled")
|
|
328
|
+
def is_enabled(self) -> Optional[pulumi.Input[bool]]:
|
|
329
|
+
"""
|
|
330
|
+
Indicates if the rule enforcement is enabled. This by default is set to true.
|
|
331
|
+
"""
|
|
332
|
+
return pulumi.get(self, "is_enabled")
|
|
333
|
+
|
|
334
|
+
@is_enabled.setter
|
|
335
|
+
def is_enabled(self, value: Optional[pulumi.Input[bool]]):
|
|
336
|
+
pulumi.set(self, "is_enabled", value)
|
|
337
|
+
|
|
338
|
+
@property
|
|
339
|
+
@pulumi.getter
|
|
340
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
|
341
|
+
"""
|
|
342
|
+
Name of the rule enforcement.
|
|
343
|
+
"""
|
|
344
|
+
return pulumi.get(self, "name")
|
|
345
|
+
|
|
346
|
+
@name.setter
|
|
347
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
|
348
|
+
pulumi.set(self, "name", value)
|
|
349
|
+
|
|
350
|
+
@property
|
|
351
|
+
@pulumi.getter(name="ruleIds")
|
|
352
|
+
def rule_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
|
353
|
+
"""
|
|
354
|
+
List of rule IDs. Either rule*ids or rule*set_ids should be provided.
|
|
355
|
+
"""
|
|
356
|
+
return pulumi.get(self, "rule_ids")
|
|
357
|
+
|
|
358
|
+
@rule_ids.setter
|
|
359
|
+
def rule_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
|
360
|
+
pulumi.set(self, "rule_ids", value)
|
|
361
|
+
|
|
362
|
+
@property
|
|
363
|
+
@pulumi.getter(name="ruleSetIds")
|
|
364
|
+
def rule_set_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
|
365
|
+
"""
|
|
366
|
+
List of rule set IDs. Either rule*ids or rule*set_ids should be provided.
|
|
367
|
+
"""
|
|
368
|
+
return pulumi.get(self, "rule_set_ids")
|
|
369
|
+
|
|
370
|
+
@rule_set_ids.setter
|
|
371
|
+
def rule_set_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
|
372
|
+
pulumi.set(self, "rule_set_ids", value)
|
|
373
|
+
|
|
374
|
+
@property
|
|
375
|
+
@pulumi.getter(name="targetAccounts")
|
|
376
|
+
def target_accounts(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
|
377
|
+
"""
|
|
378
|
+
List of target account which can be either AWS Account Ids or Azure Subscription Ids or Gcp Project Ids.
|
|
379
|
+
"""
|
|
380
|
+
return pulumi.get(self, "target_accounts")
|
|
381
|
+
|
|
382
|
+
@target_accounts.setter
|
|
383
|
+
def target_accounts(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
|
384
|
+
pulumi.set(self, "target_accounts", value)
|
|
385
|
+
|
|
386
|
+
@property
|
|
387
|
+
@pulumi.getter(name="targetRegions")
|
|
388
|
+
def target_regions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
|
389
|
+
"""
|
|
390
|
+
List of target regions. For GCP it should be left empty but is required in case of AWS or Azure.
|
|
391
|
+
"""
|
|
392
|
+
return pulumi.get(self, "target_regions")
|
|
393
|
+
|
|
394
|
+
@target_regions.setter
|
|
395
|
+
def target_regions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
|
396
|
+
pulumi.set(self, "target_regions", value)
|
|
397
|
+
|
|
398
|
+
|
|
399
|
+
class RuleEnforcement(pulumi.CustomResource):
|
|
400
|
+
@overload
|
|
401
|
+
def __init__(__self__,
|
|
402
|
+
resource_name: str,
|
|
403
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
404
|
+
cloud_provider: Optional[pulumi.Input[str]] = None,
|
|
405
|
+
description: Optional[pulumi.Input[str]] = None,
|
|
406
|
+
execution_schedule: Optional[pulumi.Input[str]] = None,
|
|
407
|
+
execution_timezone: Optional[pulumi.Input[str]] = None,
|
|
408
|
+
is_dry_run: Optional[pulumi.Input[bool]] = None,
|
|
409
|
+
is_enabled: Optional[pulumi.Input[bool]] = None,
|
|
410
|
+
name: Optional[pulumi.Input[str]] = None,
|
|
411
|
+
rule_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
412
|
+
rule_set_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
413
|
+
target_accounts: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
414
|
+
target_regions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
415
|
+
__props__=None):
|
|
416
|
+
"""
|
|
417
|
+
Resource for creating, updating, and managing rule enforcement.
|
|
418
|
+
|
|
419
|
+
## Import
|
|
420
|
+
|
|
421
|
+
Import governance enforcement
|
|
422
|
+
|
|
423
|
+
```sh
|
|
424
|
+
$ pulumi import harness:governance/ruleEnforcement:RuleEnforcement example <enforcement_id>
|
|
425
|
+
```
|
|
426
|
+
|
|
427
|
+
:param str resource_name: The name of the resource.
|
|
428
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
429
|
+
:param pulumi.Input[str] cloud_provider: The cloud provider for the rule enforcement. It should be either AWS, AZURE or GCP.
|
|
430
|
+
:param pulumi.Input[str] description: Description for rule enforcement.
|
|
431
|
+
:param pulumi.Input[str] execution_schedule: Execution schedule in cron format.
|
|
432
|
+
:param pulumi.Input[str] execution_timezone: Timezone for the execution schedule.
|
|
433
|
+
:param pulumi.Input[bool] is_dry_run: Indicates if the rule enforcement is a dry run. This by default is set to false.
|
|
434
|
+
:param pulumi.Input[bool] is_enabled: Indicates if the rule enforcement is enabled. This by default is set to true.
|
|
435
|
+
:param pulumi.Input[str] name: Name of the rule enforcement.
|
|
436
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] rule_ids: List of rule IDs. Either rule*ids or rule*set_ids should be provided.
|
|
437
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] rule_set_ids: List of rule set IDs. Either rule*ids or rule*set_ids should be provided.
|
|
438
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] target_accounts: List of target account which can be either AWS Account Ids or Azure Subscription Ids or Gcp Project Ids.
|
|
439
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] target_regions: List of target regions. For GCP it should be left empty but is required in case of AWS or Azure.
|
|
440
|
+
"""
|
|
441
|
+
...
|
|
442
|
+
@overload
|
|
443
|
+
def __init__(__self__,
|
|
444
|
+
resource_name: str,
|
|
445
|
+
args: RuleEnforcementArgs,
|
|
446
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
|
447
|
+
"""
|
|
448
|
+
Resource for creating, updating, and managing rule enforcement.
|
|
449
|
+
|
|
450
|
+
## Import
|
|
451
|
+
|
|
452
|
+
Import governance enforcement
|
|
453
|
+
|
|
454
|
+
```sh
|
|
455
|
+
$ pulumi import harness:governance/ruleEnforcement:RuleEnforcement example <enforcement_id>
|
|
456
|
+
```
|
|
457
|
+
|
|
458
|
+
:param str resource_name: The name of the resource.
|
|
459
|
+
:param RuleEnforcementArgs args: The arguments to use to populate this resource's properties.
|
|
460
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
461
|
+
"""
|
|
462
|
+
...
|
|
463
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
|
464
|
+
resource_args, opts = _utilities.get_resource_args_opts(RuleEnforcementArgs, pulumi.ResourceOptions, *args, **kwargs)
|
|
465
|
+
if resource_args is not None:
|
|
466
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
|
467
|
+
else:
|
|
468
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
|
469
|
+
|
|
470
|
+
def _internal_init(__self__,
|
|
471
|
+
resource_name: str,
|
|
472
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
473
|
+
cloud_provider: Optional[pulumi.Input[str]] = None,
|
|
474
|
+
description: Optional[pulumi.Input[str]] = None,
|
|
475
|
+
execution_schedule: Optional[pulumi.Input[str]] = None,
|
|
476
|
+
execution_timezone: Optional[pulumi.Input[str]] = None,
|
|
477
|
+
is_dry_run: Optional[pulumi.Input[bool]] = None,
|
|
478
|
+
is_enabled: Optional[pulumi.Input[bool]] = None,
|
|
479
|
+
name: Optional[pulumi.Input[str]] = None,
|
|
480
|
+
rule_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
481
|
+
rule_set_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
482
|
+
target_accounts: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
483
|
+
target_regions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
484
|
+
__props__=None):
|
|
485
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
|
486
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
|
487
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
|
488
|
+
if opts.id is None:
|
|
489
|
+
if __props__ is not None:
|
|
490
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
|
491
|
+
__props__ = RuleEnforcementArgs.__new__(RuleEnforcementArgs)
|
|
492
|
+
|
|
493
|
+
if cloud_provider is None and not opts.urn:
|
|
494
|
+
raise TypeError("Missing required property 'cloud_provider'")
|
|
495
|
+
__props__.__dict__["cloud_provider"] = cloud_provider
|
|
496
|
+
__props__.__dict__["description"] = description
|
|
497
|
+
if execution_schedule is None and not opts.urn:
|
|
498
|
+
raise TypeError("Missing required property 'execution_schedule'")
|
|
499
|
+
__props__.__dict__["execution_schedule"] = execution_schedule
|
|
500
|
+
if execution_timezone is None and not opts.urn:
|
|
501
|
+
raise TypeError("Missing required property 'execution_timezone'")
|
|
502
|
+
__props__.__dict__["execution_timezone"] = execution_timezone
|
|
503
|
+
__props__.__dict__["is_dry_run"] = is_dry_run
|
|
504
|
+
__props__.__dict__["is_enabled"] = is_enabled
|
|
505
|
+
__props__.__dict__["name"] = name
|
|
506
|
+
__props__.__dict__["rule_ids"] = rule_ids
|
|
507
|
+
__props__.__dict__["rule_set_ids"] = rule_set_ids
|
|
508
|
+
if target_accounts is None and not opts.urn:
|
|
509
|
+
raise TypeError("Missing required property 'target_accounts'")
|
|
510
|
+
__props__.__dict__["target_accounts"] = target_accounts
|
|
511
|
+
__props__.__dict__["target_regions"] = target_regions
|
|
512
|
+
__props__.__dict__["enforcement_id"] = None
|
|
513
|
+
super(RuleEnforcement, __self__).__init__(
|
|
514
|
+
'harness:governance/ruleEnforcement:RuleEnforcement',
|
|
515
|
+
resource_name,
|
|
516
|
+
__props__,
|
|
517
|
+
opts)
|
|
518
|
+
|
|
519
|
+
@staticmethod
|
|
520
|
+
def get(resource_name: str,
|
|
521
|
+
id: pulumi.Input[str],
|
|
522
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
523
|
+
cloud_provider: Optional[pulumi.Input[str]] = None,
|
|
524
|
+
description: Optional[pulumi.Input[str]] = None,
|
|
525
|
+
enforcement_id: Optional[pulumi.Input[str]] = None,
|
|
526
|
+
execution_schedule: Optional[pulumi.Input[str]] = None,
|
|
527
|
+
execution_timezone: Optional[pulumi.Input[str]] = None,
|
|
528
|
+
is_dry_run: Optional[pulumi.Input[bool]] = None,
|
|
529
|
+
is_enabled: Optional[pulumi.Input[bool]] = None,
|
|
530
|
+
name: Optional[pulumi.Input[str]] = None,
|
|
531
|
+
rule_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
532
|
+
rule_set_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
533
|
+
target_accounts: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
534
|
+
target_regions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None) -> 'RuleEnforcement':
|
|
535
|
+
"""
|
|
536
|
+
Get an existing RuleEnforcement resource's state with the given name, id, and optional extra
|
|
537
|
+
properties used to qualify the lookup.
|
|
538
|
+
|
|
539
|
+
:param str resource_name: The unique name of the resulting resource.
|
|
540
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
|
541
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
542
|
+
:param pulumi.Input[str] cloud_provider: The cloud provider for the rule enforcement. It should be either AWS, AZURE or GCP.
|
|
543
|
+
:param pulumi.Input[str] description: Description for rule enforcement.
|
|
544
|
+
:param pulumi.Input[str] enforcement_id: Id of the rule enforcement.
|
|
545
|
+
:param pulumi.Input[str] execution_schedule: Execution schedule in cron format.
|
|
546
|
+
:param pulumi.Input[str] execution_timezone: Timezone for the execution schedule.
|
|
547
|
+
:param pulumi.Input[bool] is_dry_run: Indicates if the rule enforcement is a dry run. This by default is set to false.
|
|
548
|
+
:param pulumi.Input[bool] is_enabled: Indicates if the rule enforcement is enabled. This by default is set to true.
|
|
549
|
+
:param pulumi.Input[str] name: Name of the rule enforcement.
|
|
550
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] rule_ids: List of rule IDs. Either rule*ids or rule*set_ids should be provided.
|
|
551
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] rule_set_ids: List of rule set IDs. Either rule*ids or rule*set_ids should be provided.
|
|
552
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] target_accounts: List of target account which can be either AWS Account Ids or Azure Subscription Ids or Gcp Project Ids.
|
|
553
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] target_regions: List of target regions. For GCP it should be left empty but is required in case of AWS or Azure.
|
|
554
|
+
"""
|
|
555
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
|
556
|
+
|
|
557
|
+
__props__ = _RuleEnforcementState.__new__(_RuleEnforcementState)
|
|
558
|
+
|
|
559
|
+
__props__.__dict__["cloud_provider"] = cloud_provider
|
|
560
|
+
__props__.__dict__["description"] = description
|
|
561
|
+
__props__.__dict__["enforcement_id"] = enforcement_id
|
|
562
|
+
__props__.__dict__["execution_schedule"] = execution_schedule
|
|
563
|
+
__props__.__dict__["execution_timezone"] = execution_timezone
|
|
564
|
+
__props__.__dict__["is_dry_run"] = is_dry_run
|
|
565
|
+
__props__.__dict__["is_enabled"] = is_enabled
|
|
566
|
+
__props__.__dict__["name"] = name
|
|
567
|
+
__props__.__dict__["rule_ids"] = rule_ids
|
|
568
|
+
__props__.__dict__["rule_set_ids"] = rule_set_ids
|
|
569
|
+
__props__.__dict__["target_accounts"] = target_accounts
|
|
570
|
+
__props__.__dict__["target_regions"] = target_regions
|
|
571
|
+
return RuleEnforcement(resource_name, opts=opts, __props__=__props__)
|
|
572
|
+
|
|
573
|
+
@property
|
|
574
|
+
@pulumi.getter(name="cloudProvider")
|
|
575
|
+
def cloud_provider(self) -> pulumi.Output[str]:
|
|
576
|
+
"""
|
|
577
|
+
The cloud provider for the rule enforcement. It should be either AWS, AZURE or GCP.
|
|
578
|
+
"""
|
|
579
|
+
return pulumi.get(self, "cloud_provider")
|
|
580
|
+
|
|
581
|
+
@property
|
|
582
|
+
@pulumi.getter
|
|
583
|
+
def description(self) -> pulumi.Output[Optional[str]]:
|
|
584
|
+
"""
|
|
585
|
+
Description for rule enforcement.
|
|
586
|
+
"""
|
|
587
|
+
return pulumi.get(self, "description")
|
|
588
|
+
|
|
589
|
+
@property
|
|
590
|
+
@pulumi.getter(name="enforcementId")
|
|
591
|
+
def enforcement_id(self) -> pulumi.Output[str]:
|
|
592
|
+
"""
|
|
593
|
+
Id of the rule enforcement.
|
|
594
|
+
"""
|
|
595
|
+
return pulumi.get(self, "enforcement_id")
|
|
596
|
+
|
|
597
|
+
@property
|
|
598
|
+
@pulumi.getter(name="executionSchedule")
|
|
599
|
+
def execution_schedule(self) -> pulumi.Output[str]:
|
|
600
|
+
"""
|
|
601
|
+
Execution schedule in cron format.
|
|
602
|
+
"""
|
|
603
|
+
return pulumi.get(self, "execution_schedule")
|
|
604
|
+
|
|
605
|
+
@property
|
|
606
|
+
@pulumi.getter(name="executionTimezone")
|
|
607
|
+
def execution_timezone(self) -> pulumi.Output[str]:
|
|
608
|
+
"""
|
|
609
|
+
Timezone for the execution schedule.
|
|
610
|
+
"""
|
|
611
|
+
return pulumi.get(self, "execution_timezone")
|
|
612
|
+
|
|
613
|
+
@property
|
|
614
|
+
@pulumi.getter(name="isDryRun")
|
|
615
|
+
def is_dry_run(self) -> pulumi.Output[Optional[bool]]:
|
|
616
|
+
"""
|
|
617
|
+
Indicates if the rule enforcement is a dry run. This by default is set to false.
|
|
618
|
+
"""
|
|
619
|
+
return pulumi.get(self, "is_dry_run")
|
|
620
|
+
|
|
621
|
+
@property
|
|
622
|
+
@pulumi.getter(name="isEnabled")
|
|
623
|
+
def is_enabled(self) -> pulumi.Output[Optional[bool]]:
|
|
624
|
+
"""
|
|
625
|
+
Indicates if the rule enforcement is enabled. This by default is set to true.
|
|
626
|
+
"""
|
|
627
|
+
return pulumi.get(self, "is_enabled")
|
|
628
|
+
|
|
629
|
+
@property
|
|
630
|
+
@pulumi.getter
|
|
631
|
+
def name(self) -> pulumi.Output[str]:
|
|
632
|
+
"""
|
|
633
|
+
Name of the rule enforcement.
|
|
634
|
+
"""
|
|
635
|
+
return pulumi.get(self, "name")
|
|
636
|
+
|
|
637
|
+
@property
|
|
638
|
+
@pulumi.getter(name="ruleIds")
|
|
639
|
+
def rule_ids(self) -> pulumi.Output[Optional[Sequence[str]]]:
|
|
640
|
+
"""
|
|
641
|
+
List of rule IDs. Either rule*ids or rule*set_ids should be provided.
|
|
642
|
+
"""
|
|
643
|
+
return pulumi.get(self, "rule_ids")
|
|
644
|
+
|
|
645
|
+
@property
|
|
646
|
+
@pulumi.getter(name="ruleSetIds")
|
|
647
|
+
def rule_set_ids(self) -> pulumi.Output[Optional[Sequence[str]]]:
|
|
648
|
+
"""
|
|
649
|
+
List of rule set IDs. Either rule*ids or rule*set_ids should be provided.
|
|
650
|
+
"""
|
|
651
|
+
return pulumi.get(self, "rule_set_ids")
|
|
652
|
+
|
|
653
|
+
@property
|
|
654
|
+
@pulumi.getter(name="targetAccounts")
|
|
655
|
+
def target_accounts(self) -> pulumi.Output[Sequence[str]]:
|
|
656
|
+
"""
|
|
657
|
+
List of target account which can be either AWS Account Ids or Azure Subscription Ids or Gcp Project Ids.
|
|
658
|
+
"""
|
|
659
|
+
return pulumi.get(self, "target_accounts")
|
|
660
|
+
|
|
661
|
+
@property
|
|
662
|
+
@pulumi.getter(name="targetRegions")
|
|
663
|
+
def target_regions(self) -> pulumi.Output[Optional[Sequence[str]]]:
|
|
664
|
+
"""
|
|
665
|
+
List of target regions. For GCP it should be left empty but is required in case of AWS or Azure.
|
|
666
|
+
"""
|
|
667
|
+
return pulumi.get(self, "target_regions")
|
|
668
|
+
|