All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.googlenative.assuredworkloads.v1.Workload Maven / Gradle / Ivy

// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.googlenative.assuredworkloads.v1;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Export;
import com.pulumi.core.annotations.ResourceType;
import com.pulumi.core.internal.Codegen;
import com.pulumi.googlenative.Utilities;
import com.pulumi.googlenative.assuredworkloads.v1.WorkloadArgs;
import com.pulumi.googlenative.assuredworkloads.v1.outputs.GoogleCloudAssuredworkloadsV1WorkloadComplianceStatusResponse;
import com.pulumi.googlenative.assuredworkloads.v1.outputs.GoogleCloudAssuredworkloadsV1WorkloadEkmProvisioningResponseResponse;
import com.pulumi.googlenative.assuredworkloads.v1.outputs.GoogleCloudAssuredworkloadsV1WorkloadKMSSettingsResponse;
import com.pulumi.googlenative.assuredworkloads.v1.outputs.GoogleCloudAssuredworkloadsV1WorkloadPartnerPermissionsResponse;
import com.pulumi.googlenative.assuredworkloads.v1.outputs.GoogleCloudAssuredworkloadsV1WorkloadResourceInfoResponse;
import com.pulumi.googlenative.assuredworkloads.v1.outputs.GoogleCloudAssuredworkloadsV1WorkloadResourceSettingsResponse;
import com.pulumi.googlenative.assuredworkloads.v1.outputs.GoogleCloudAssuredworkloadsV1WorkloadSaaEnrollmentResponseResponse;
import java.lang.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import javax.annotation.Nullable;

/**
 * Creates Assured Workload.
 * 
 */
@ResourceType(type="google-native:assuredworkloads/v1:Workload")
public class Workload extends com.pulumi.resources.CustomResource {
    /**
     * Optional. The billing account used for the resources which are direct children of workload. This billing account is initially associated with the resources created as part of Workload creation. After the initial creation of these resources, the customer can change the assigned billing account. The resource name has the form `billingAccounts/{billing_account_id}`. For example, `billingAccounts/012345-567890-ABCDEF`.
     * 
     */
    @Export(name="billingAccount", type=String.class, parameters={})
    private Output billingAccount;

    /**
     * @return Optional. The billing account used for the resources which are direct children of workload. This billing account is initially associated with the resources created as part of Workload creation. After the initial creation of these resources, the customer can change the assigned billing account. The resource name has the form `billingAccounts/{billing_account_id}`. For example, `billingAccounts/012345-567890-ABCDEF`.
     * 
     */
    public Output billingAccount() {
        return this.billingAccount;
    }
    /**
     * Immutable. Compliance Regime associated with this workload.
     * 
     */
    @Export(name="complianceRegime", type=String.class, parameters={})
    private Output complianceRegime;

    /**
     * @return Immutable. Compliance Regime associated with this workload.
     * 
     */
    public Output complianceRegime() {
        return this.complianceRegime;
    }
    /**
     * Count of active Violations in the Workload.
     * 
     */
    @Export(name="complianceStatus", type=GoogleCloudAssuredworkloadsV1WorkloadComplianceStatusResponse.class, parameters={})
    private Output complianceStatus;

    /**
     * @return Count of active Violations in the Workload.
     * 
     */
    public Output complianceStatus() {
        return this.complianceStatus;
    }
    /**
     * Urls for services which are compliant for this Assured Workload, but which are currently disallowed by the ResourceUsageRestriction org policy. Invoke RestrictAllowedResources endpoint to allow your project developers to use these services in their environment."
     * 
     */
    @Export(name="compliantButDisallowedServices", type=List.class, parameters={String.class})
    private Output> compliantButDisallowedServices;

    /**
     * @return Urls for services which are compliant for this Assured Workload, but which are currently disallowed by the ResourceUsageRestriction org policy. Invoke RestrictAllowedResources endpoint to allow your project developers to use these services in their environment."
     * 
     */
    public Output> compliantButDisallowedServices() {
        return this.compliantButDisallowedServices;
    }
    /**
     * Immutable. The Workload creation timestamp.
     * 
     */
    @Export(name="createTime", type=String.class, parameters={})
    private Output createTime;

    /**
     * @return Immutable. The Workload creation timestamp.
     * 
     */
    public Output createTime() {
        return this.createTime;
    }
    /**
     * The user-assigned display name of the Workload. When present it must be between 4 to 30 characters. Allowed characters are: lowercase and uppercase letters, numbers, hyphen, and spaces. Example: My Workload
     * 
     */
    @Export(name="displayName", type=String.class, parameters={})
    private Output displayName;

    /**
     * @return The user-assigned display name of the Workload. When present it must be between 4 to 30 characters. Allowed characters are: lowercase and uppercase letters, numbers, hyphen, and spaces. Example: My Workload
     * 
     */
    public Output displayName() {
        return this.displayName;
    }
    /**
     * Optional. Represents the Ekm Provisioning State of the given workload.
     * 
     */
    @Export(name="ekmProvisioningResponse", type=GoogleCloudAssuredworkloadsV1WorkloadEkmProvisioningResponseResponse.class, parameters={})
    private Output ekmProvisioningResponse;

    /**
     * @return Optional. Represents the Ekm Provisioning State of the given workload.
     * 
     */
    public Output ekmProvisioningResponse() {
        return this.ekmProvisioningResponse;
    }
    /**
     * Optional. Indicates the sovereignty status of the given workload. Currently meant to be used by Europe/Canada customers.
     * 
     */
    @Export(name="enableSovereignControls", type=Boolean.class, parameters={})
    private Output enableSovereignControls;

    /**
     * @return Optional. Indicates the sovereignty status of the given workload. Currently meant to be used by Europe/Canada customers.
     * 
     */
    public Output enableSovereignControls() {
        return this.enableSovereignControls;
    }
    /**
     * Optional. ETag of the workload, it is calculated on the basis of the Workload contents. It will be used in Update & Delete operations.
     * 
     */
    @Export(name="etag", type=String.class, parameters={})
    private Output etag;

    /**
     * @return Optional. ETag of the workload, it is calculated on the basis of the Workload contents. It will be used in Update & Delete operations.
     * 
     */
    public Output etag() {
        return this.etag;
    }
    /**
     * Optional. A identifier associated with the workload and underlying projects which allows for the break down of billing costs for a workload. The value provided for the identifier will add a label to the workload and contained projects with the identifier as the value.
     * 
     */
    @Export(name="externalId", type=String.class, parameters={})
    private Output externalId;

    /**
     * @return Optional. A identifier associated with the workload and underlying projects which allows for the break down of billing costs for a workload. The value provided for the identifier will add a label to the workload and contained projects with the identifier as the value.
     * 
     */
    public Output> externalId() {
        return Codegen.optional(this.externalId);
    }
    /**
     * Represents the KAJ enrollment state of the given workload.
     * 
     */
    @Export(name="kajEnrollmentState", type=String.class, parameters={})
    private Output kajEnrollmentState;

    /**
     * @return Represents the KAJ enrollment state of the given workload.
     * 
     */
    public Output kajEnrollmentState() {
        return this.kajEnrollmentState;
    }
    /**
     * Input only. Settings used to create a CMEK crypto key. When set, a project with a KMS CMEK key is provisioned. This field is deprecated as of Feb 28, 2022. In order to create a Keyring, callers should specify, ENCRYPTION_KEYS_PROJECT or KEYRING in ResourceSettings.resource_type field.
     * 
     * @deprecated
     * Input only. Settings used to create a CMEK crypto key. When set, a project with a KMS CMEK key is provisioned. This field is deprecated as of Feb 28, 2022. In order to create a Keyring, callers should specify, ENCRYPTION_KEYS_PROJECT or KEYRING in ResourceSettings.resource_type field.
     * 
     */
    @Deprecated /* Input only. Settings used to create a CMEK crypto key. When set, a project with a KMS CMEK key is provisioned. This field is deprecated as of Feb 28, 2022. In order to create a Keyring, callers should specify, ENCRYPTION_KEYS_PROJECT or KEYRING in ResourceSettings.resource_type field. */
    @Export(name="kmsSettings", type=GoogleCloudAssuredworkloadsV1WorkloadKMSSettingsResponse.class, parameters={})
    private Output kmsSettings;

    /**
     * @return Input only. Settings used to create a CMEK crypto key. When set, a project with a KMS CMEK key is provisioned. This field is deprecated as of Feb 28, 2022. In order to create a Keyring, callers should specify, ENCRYPTION_KEYS_PROJECT or KEYRING in ResourceSettings.resource_type field.
     * 
     */
    public Output kmsSettings() {
        return this.kmsSettings;
    }
    /**
     * Optional. Labels applied to the workload.
     * 
     */
    @Export(name="labels", type=Map.class, parameters={String.class, String.class})
    private Output> labels;

    /**
     * @return Optional. Labels applied to the workload.
     * 
     */
    public Output> labels() {
        return this.labels;
    }
    @Export(name="location", type=String.class, parameters={})
    private Output location;

    public Output location() {
        return this.location;
    }
    /**
     * Optional. The resource name of the workload. Format: organizations/{organization}/locations/{location}/workloads/{workload} Read-only.
     * 
     */
    @Export(name="name", type=String.class, parameters={})
    private Output name;

    /**
     * @return Optional. The resource name of the workload. Format: organizations/{organization}/locations/{location}/workloads/{workload} Read-only.
     * 
     */
    public Output name() {
        return this.name;
    }
    @Export(name="organizationId", type=String.class, parameters={})
    private Output organizationId;

    public Output organizationId() {
        return this.organizationId;
    }
    /**
     * Optional. Partner regime associated with this workload.
     * 
     */
    @Export(name="partner", type=String.class, parameters={})
    private Output partner;

    /**
     * @return Optional. Partner regime associated with this workload.
     * 
     */
    public Output partner() {
        return this.partner;
    }
    /**
     * Optional. Permissions granted to the AW Partner SA account for the customer workload
     * 
     */
    @Export(name="partnerPermissions", type=GoogleCloudAssuredworkloadsV1WorkloadPartnerPermissionsResponse.class, parameters={})
    private Output partnerPermissions;

    /**
     * @return Optional. Permissions granted to the AW Partner SA account for the customer workload
     * 
     */
    public Output partnerPermissions() {
        return this.partnerPermissions;
    }
    /**
     * Input only. The parent resource for the resources managed by this Assured Workload. May be either empty or a folder resource which is a child of the Workload parent. If not specified all resources are created under the parent organization. Format: folders/{folder_id}
     * 
     */
    @Export(name="provisionedResourcesParent", type=String.class, parameters={})
    private Output provisionedResourcesParent;

    /**
     * @return Input only. The parent resource for the resources managed by this Assured Workload. May be either empty or a folder resource which is a child of the Workload parent. If not specified all resources are created under the parent organization. Format: folders/{folder_id}
     * 
     */
    public Output provisionedResourcesParent() {
        return this.provisionedResourcesParent;
    }
    /**
     * Input only. Resource properties that are used to customize workload resources. These properties (such as custom project id) will be used to create workload resources if possible. This field is optional.
     * 
     */
    @Export(name="resourceSettings", type=List.class, parameters={GoogleCloudAssuredworkloadsV1WorkloadResourceSettingsResponse.class})
    private Output> resourceSettings;

    /**
     * @return Input only. Resource properties that are used to customize workload resources. These properties (such as custom project id) will be used to create workload resources if possible. This field is optional.
     * 
     */
    public Output> resourceSettings() {
        return this.resourceSettings;
    }
    /**
     * The resources associated with this workload. These resources will be created when creating the workload. If any of the projects already exist, the workload creation will fail. Always read only.
     * 
     */
    @Export(name="resources", type=List.class, parameters={GoogleCloudAssuredworkloadsV1WorkloadResourceInfoResponse.class})
    private Output> resources;

    /**
     * @return The resources associated with this workload. These resources will be created when creating the workload. If any of the projects already exist, the workload creation will fail. Always read only.
     * 
     */
    public Output> resources() {
        return this.resources;
    }
    /**
     * Represents the SAA enrollment response of the given workload. SAA enrollment response is queried during GetWorkload call. In failure cases, user friendly error message is shown in SAA details page.
     * 
     */
    @Export(name="saaEnrollmentResponse", type=GoogleCloudAssuredworkloadsV1WorkloadSaaEnrollmentResponseResponse.class, parameters={})
    private Output saaEnrollmentResponse;

    /**
     * @return Represents the SAA enrollment response of the given workload. SAA enrollment response is queried during GetWorkload call. In failure cases, user friendly error message is shown in SAA details page.
     * 
     */
    public Output saaEnrollmentResponse() {
        return this.saaEnrollmentResponse;
    }
    /**
     * Optional. Indicates whether the e-mail notification for a violation is enabled for a workload. This value will be by default True, and if not present will be considered as true. This should only be updated via updateWorkload call. Any Changes to this field during the createWorkload call will not be honored. This will always be true while creating the workload.
     * 
     */
    @Export(name="violationNotificationsEnabled", type=Boolean.class, parameters={})
    private Output violationNotificationsEnabled;

    /**
     * @return Optional. Indicates whether the e-mail notification for a violation is enabled for a workload. This value will be by default True, and if not present will be considered as true. This should only be updated via updateWorkload call. Any Changes to this field during the createWorkload call will not be honored. This will always be true while creating the workload.
     * 
     */
    public Output violationNotificationsEnabled() {
        return this.violationNotificationsEnabled;
    }

    /**
     *
     * @param name The _unique_ name of the resulting resource.
     */
    public Workload(String name) {
        this(name, WorkloadArgs.Empty);
    }
    /**
     *
     * @param name The _unique_ name of the resulting resource.
     * @param args The arguments to use to populate this resource's properties.
     */
    public Workload(String name, WorkloadArgs args) {
        this(name, args, null);
    }
    /**
     *
     * @param name The _unique_ name of the resulting resource.
     * @param args The arguments to use to populate this resource's properties.
     * @param options A bag of options that control this resource's behavior.
     */
    public Workload(String name, WorkloadArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) {
        super("google-native:assuredworkloads/v1:Workload", name, args == null ? WorkloadArgs.Empty : args, makeResourceOptions(options, Codegen.empty()));
    }

    private Workload(String name, Output id, @Nullable com.pulumi.resources.CustomResourceOptions options) {
        super("google-native:assuredworkloads/v1:Workload", name, null, makeResourceOptions(options, id));
    }

    private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) {
        var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder()
            .version(Utilities.getVersion())
            .build();
        return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id);
    }

    /**
     * Get an existing Host resource's state with the given name, ID, and optional extra
     * properties used to qualify the lookup.
     *
     * @param name The _unique_ name of the resulting resource.
     * @param id The _unique_ provider ID of the resource to lookup.
     * @param options Optional settings to control the behavior of the CustomResource.
     */
    public static Workload get(String name, Output id, @Nullable com.pulumi.resources.CustomResourceOptions options) {
        return new Workload(name, id, options);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy