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

com.pulumi.googlenative.compute.beta.outputs.ResourcePolicyInstanceSchedulePolicyResponse 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.compute.beta.outputs;

import com.pulumi.core.annotations.CustomType;
import com.pulumi.googlenative.compute.beta.outputs.ResourcePolicyInstanceSchedulePolicyScheduleResponse;
import java.lang.String;
import java.util.Objects;

@CustomType
public final class ResourcePolicyInstanceSchedulePolicyResponse {
    /**
     * @return The expiration time of the schedule. The timestamp is an RFC3339 string.
     * 
     */
    private String expirationTime;
    /**
     * @return The start time of the schedule. The timestamp is an RFC3339 string.
     * 
     */
    private String startTime;
    /**
     * @return Specifies the time zone to be used in interpreting Schedule.schedule. The value of this field must be a time zone name from the tz database: https://wikipedia.org/wiki/Tz_database.
     * 
     */
    private String timeZone;
    /**
     * @return Specifies the schedule for starting instances.
     * 
     */
    private ResourcePolicyInstanceSchedulePolicyScheduleResponse vmStartSchedule;
    /**
     * @return Specifies the schedule for stopping instances.
     * 
     */
    private ResourcePolicyInstanceSchedulePolicyScheduleResponse vmStopSchedule;

    private ResourcePolicyInstanceSchedulePolicyResponse() {}
    /**
     * @return The expiration time of the schedule. The timestamp is an RFC3339 string.
     * 
     */
    public String expirationTime() {
        return this.expirationTime;
    }
    /**
     * @return The start time of the schedule. The timestamp is an RFC3339 string.
     * 
     */
    public String startTime() {
        return this.startTime;
    }
    /**
     * @return Specifies the time zone to be used in interpreting Schedule.schedule. The value of this field must be a time zone name from the tz database: https://wikipedia.org/wiki/Tz_database.
     * 
     */
    public String timeZone() {
        return this.timeZone;
    }
    /**
     * @return Specifies the schedule for starting instances.
     * 
     */
    public ResourcePolicyInstanceSchedulePolicyScheduleResponse vmStartSchedule() {
        return this.vmStartSchedule;
    }
    /**
     * @return Specifies the schedule for stopping instances.
     * 
     */
    public ResourcePolicyInstanceSchedulePolicyScheduleResponse vmStopSchedule() {
        return this.vmStopSchedule;
    }

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

    public static Builder builder(ResourcePolicyInstanceSchedulePolicyResponse defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private String expirationTime;
        private String startTime;
        private String timeZone;
        private ResourcePolicyInstanceSchedulePolicyScheduleResponse vmStartSchedule;
        private ResourcePolicyInstanceSchedulePolicyScheduleResponse vmStopSchedule;
        public Builder() {}
        public Builder(ResourcePolicyInstanceSchedulePolicyResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.expirationTime = defaults.expirationTime;
    	      this.startTime = defaults.startTime;
    	      this.timeZone = defaults.timeZone;
    	      this.vmStartSchedule = defaults.vmStartSchedule;
    	      this.vmStopSchedule = defaults.vmStopSchedule;
        }

        @CustomType.Setter
        public Builder expirationTime(String expirationTime) {
            this.expirationTime = Objects.requireNonNull(expirationTime);
            return this;
        }
        @CustomType.Setter
        public Builder startTime(String startTime) {
            this.startTime = Objects.requireNonNull(startTime);
            return this;
        }
        @CustomType.Setter
        public Builder timeZone(String timeZone) {
            this.timeZone = Objects.requireNonNull(timeZone);
            return this;
        }
        @CustomType.Setter
        public Builder vmStartSchedule(ResourcePolicyInstanceSchedulePolicyScheduleResponse vmStartSchedule) {
            this.vmStartSchedule = Objects.requireNonNull(vmStartSchedule);
            return this;
        }
        @CustomType.Setter
        public Builder vmStopSchedule(ResourcePolicyInstanceSchedulePolicyScheduleResponse vmStopSchedule) {
            this.vmStopSchedule = Objects.requireNonNull(vmStopSchedule);
            return this;
        }
        public ResourcePolicyInstanceSchedulePolicyResponse build() {
            final var o = new ResourcePolicyInstanceSchedulePolicyResponse();
            o.expirationTime = expirationTime;
            o.startTime = startTime;
            o.timeZone = timeZone;
            o.vmStartSchedule = vmStartSchedule;
            o.vmStopSchedule = vmStopSchedule;
            return o;
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy