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

com.pulumi.azurenative.costmanagement.outputs.GetScheduledActionByScopeResult Maven / Gradle / Ivy

There is a newer version: 2.72.0
Show newest version
// *** 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.azurenative.costmanagement.outputs;

import com.pulumi.azurenative.costmanagement.outputs.FileDestinationResponse;
import com.pulumi.azurenative.costmanagement.outputs.NotificationPropertiesResponse;
import com.pulumi.azurenative.costmanagement.outputs.SchedulePropertiesResponse;
import com.pulumi.azurenative.costmanagement.outputs.SystemDataResponse;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class GetScheduledActionByScopeResult {
    /**
     * @return Scheduled action name.
     * 
     */
    private String displayName;
    /**
     * @return Resource Etag. For update calls, eTag is optional and can be specified to achieve optimistic concurrency. Fetch the resource's eTag by doing a 'GET' call first and then including the latest eTag as part of the request body or 'If-Match' header while performing the update. For create calls, eTag is not required.
     * 
     */
    private String eTag;
    /**
     * @return Destination format of the view data. This is optional.
     * 
     */
    private @Nullable FileDestinationResponse fileDestination;
    /**
     * @return Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
     * 
     */
    private String id;
    /**
     * @return Kind of the scheduled action.
     * 
     */
    private @Nullable String kind;
    /**
     * @return The name of the resource
     * 
     */
    private String name;
    /**
     * @return Notification properties based on scheduled action kind.
     * 
     */
    private NotificationPropertiesResponse notification;
    /**
     * @return Email address of the point of contact that should get the unsubscribe requests and notification emails.
     * 
     */
    private @Nullable String notificationEmail;
    /**
     * @return Schedule of the scheduled action.
     * 
     */
    private SchedulePropertiesResponse schedule;
    /**
     * @return For private scheduled action(Create or Update), scope will be empty.<br /> For shared scheduled action(Create or Update By Scope), Cost Management scope can be 'subscriptions/{subscriptionId}' for subscription scope, 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for BillingProfile scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}' for InvoiceSection scope, '/providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountName}' for ExternalBillingAccount scope, and '/providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionName}' for ExternalSubscription scope.
     * 
     */
    private @Nullable String scope;
    /**
     * @return Status of the scheduled action.
     * 
     */
    private String status;
    /**
     * @return Kind of the scheduled action.
     * 
     */
    private SystemDataResponse systemData;
    /**
     * @return The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
     * 
     */
    private String type;
    /**
     * @return Cost analysis viewId used for scheduled action. For example, '/providers/Microsoft.CostManagement/views/swaggerExample'
     * 
     */
    private String viewId;

    private GetScheduledActionByScopeResult() {}
    /**
     * @return Scheduled action name.
     * 
     */
    public String displayName() {
        return this.displayName;
    }
    /**
     * @return Resource Etag. For update calls, eTag is optional and can be specified to achieve optimistic concurrency. Fetch the resource's eTag by doing a 'GET' call first and then including the latest eTag as part of the request body or 'If-Match' header while performing the update. For create calls, eTag is not required.
     * 
     */
    public String eTag() {
        return this.eTag;
    }
    /**
     * @return Destination format of the view data. This is optional.
     * 
     */
    public Optional fileDestination() {
        return Optional.ofNullable(this.fileDestination);
    }
    /**
     * @return Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
     * 
     */
    public String id() {
        return this.id;
    }
    /**
     * @return Kind of the scheduled action.
     * 
     */
    public Optional kind() {
        return Optional.ofNullable(this.kind);
    }
    /**
     * @return The name of the resource
     * 
     */
    public String name() {
        return this.name;
    }
    /**
     * @return Notification properties based on scheduled action kind.
     * 
     */
    public NotificationPropertiesResponse notification() {
        return this.notification;
    }
    /**
     * @return Email address of the point of contact that should get the unsubscribe requests and notification emails.
     * 
     */
    public Optional notificationEmail() {
        return Optional.ofNullable(this.notificationEmail);
    }
    /**
     * @return Schedule of the scheduled action.
     * 
     */
    public SchedulePropertiesResponse schedule() {
        return this.schedule;
    }
    /**
     * @return For private scheduled action(Create or Update), scope will be empty.<br /> For shared scheduled action(Create or Update By Scope), Cost Management scope can be 'subscriptions/{subscriptionId}' for subscription scope, 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for BillingProfile scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}' for InvoiceSection scope, '/providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountName}' for ExternalBillingAccount scope, and '/providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionName}' for ExternalSubscription scope.
     * 
     */
    public Optional scope() {
        return Optional.ofNullable(this.scope);
    }
    /**
     * @return Status of the scheduled action.
     * 
     */
    public String status() {
        return this.status;
    }
    /**
     * @return Kind of the scheduled action.
     * 
     */
    public SystemDataResponse systemData() {
        return this.systemData;
    }
    /**
     * @return The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
     * 
     */
    public String type() {
        return this.type;
    }
    /**
     * @return Cost analysis viewId used for scheduled action. For example, '/providers/Microsoft.CostManagement/views/swaggerExample'
     * 
     */
    public String viewId() {
        return this.viewId;
    }

    public static Builder builder() {
        return new Builder();
    }

    public static Builder builder(GetScheduledActionByScopeResult defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private String displayName;
        private String eTag;
        private @Nullable FileDestinationResponse fileDestination;
        private String id;
        private @Nullable String kind;
        private String name;
        private NotificationPropertiesResponse notification;
        private @Nullable String notificationEmail;
        private SchedulePropertiesResponse schedule;
        private @Nullable String scope;
        private String status;
        private SystemDataResponse systemData;
        private String type;
        private String viewId;
        public Builder() {}
        public Builder(GetScheduledActionByScopeResult defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.displayName = defaults.displayName;
    	      this.eTag = defaults.eTag;
    	      this.fileDestination = defaults.fileDestination;
    	      this.id = defaults.id;
    	      this.kind = defaults.kind;
    	      this.name = defaults.name;
    	      this.notification = defaults.notification;
    	      this.notificationEmail = defaults.notificationEmail;
    	      this.schedule = defaults.schedule;
    	      this.scope = defaults.scope;
    	      this.status = defaults.status;
    	      this.systemData = defaults.systemData;
    	      this.type = defaults.type;
    	      this.viewId = defaults.viewId;
        }

        @CustomType.Setter
        public Builder displayName(String displayName) {
            if (displayName == null) {
              throw new MissingRequiredPropertyException("GetScheduledActionByScopeResult", "displayName");
            }
            this.displayName = displayName;
            return this;
        }
        @CustomType.Setter
        public Builder eTag(String eTag) {
            if (eTag == null) {
              throw new MissingRequiredPropertyException("GetScheduledActionByScopeResult", "eTag");
            }
            this.eTag = eTag;
            return this;
        }
        @CustomType.Setter
        public Builder fileDestination(@Nullable FileDestinationResponse fileDestination) {

            this.fileDestination = fileDestination;
            return this;
        }
        @CustomType.Setter
        public Builder id(String id) {
            if (id == null) {
              throw new MissingRequiredPropertyException("GetScheduledActionByScopeResult", "id");
            }
            this.id = id;
            return this;
        }
        @CustomType.Setter
        public Builder kind(@Nullable String kind) {

            this.kind = kind;
            return this;
        }
        @CustomType.Setter
        public Builder name(String name) {
            if (name == null) {
              throw new MissingRequiredPropertyException("GetScheduledActionByScopeResult", "name");
            }
            this.name = name;
            return this;
        }
        @CustomType.Setter
        public Builder notification(NotificationPropertiesResponse notification) {
            if (notification == null) {
              throw new MissingRequiredPropertyException("GetScheduledActionByScopeResult", "notification");
            }
            this.notification = notification;
            return this;
        }
        @CustomType.Setter
        public Builder notificationEmail(@Nullable String notificationEmail) {

            this.notificationEmail = notificationEmail;
            return this;
        }
        @CustomType.Setter
        public Builder schedule(SchedulePropertiesResponse schedule) {
            if (schedule == null) {
              throw new MissingRequiredPropertyException("GetScheduledActionByScopeResult", "schedule");
            }
            this.schedule = schedule;
            return this;
        }
        @CustomType.Setter
        public Builder scope(@Nullable String scope) {

            this.scope = scope;
            return this;
        }
        @CustomType.Setter
        public Builder status(String status) {
            if (status == null) {
              throw new MissingRequiredPropertyException("GetScheduledActionByScopeResult", "status");
            }
            this.status = status;
            return this;
        }
        @CustomType.Setter
        public Builder systemData(SystemDataResponse systemData) {
            if (systemData == null) {
              throw new MissingRequiredPropertyException("GetScheduledActionByScopeResult", "systemData");
            }
            this.systemData = systemData;
            return this;
        }
        @CustomType.Setter
        public Builder type(String type) {
            if (type == null) {
              throw new MissingRequiredPropertyException("GetScheduledActionByScopeResult", "type");
            }
            this.type = type;
            return this;
        }
        @CustomType.Setter
        public Builder viewId(String viewId) {
            if (viewId == null) {
              throw new MissingRequiredPropertyException("GetScheduledActionByScopeResult", "viewId");
            }
            this.viewId = viewId;
            return this;
        }
        public GetScheduledActionByScopeResult build() {
            final var _resultValue = new GetScheduledActionByScopeResult();
            _resultValue.displayName = displayName;
            _resultValue.eTag = eTag;
            _resultValue.fileDestination = fileDestination;
            _resultValue.id = id;
            _resultValue.kind = kind;
            _resultValue.name = name;
            _resultValue.notification = notification;
            _resultValue.notificationEmail = notificationEmail;
            _resultValue.schedule = schedule;
            _resultValue.scope = scope;
            _resultValue.status = status;
            _resultValue.systemData = systemData;
            _resultValue.type = type;
            _resultValue.viewId = viewId;
            return _resultValue;
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy