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

com.pulumi.googlenative.compute.alpha.outputs.DeprecationStatusResponse 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.alpha.outputs;

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

@CustomType
public final class DeprecationStatusResponse {
    /**
     * @return An optional RFC3339 timestamp on or after which the state of this resource is intended to change to DELETED. This is only informational and the status will not change unless the client explicitly changes it.
     * 
     */
    private String deleted;
    /**
     * @return An optional RFC3339 timestamp on or after which the state of this resource is intended to change to DEPRECATED. This is only informational and the status will not change unless the client explicitly changes it.
     * 
     */
    private String deprecated;
    /**
     * @return An optional RFC3339 timestamp on or after which the state of this resource is intended to change to OBSOLETE. This is only informational and the status will not change unless the client explicitly changes it.
     * 
     */
    private String obsolete;
    /**
     * @return The URL of the suggested replacement for a deprecated resource. The suggested replacement resource must be the same kind of resource as the deprecated resource.
     * 
     */
    private String replacement;
    /**
     * @return The deprecation state of this resource. This can be ACTIVE, DEPRECATED, OBSOLETE, or DELETED. Operations which communicate the end of life date for an image, can use ACTIVE. Operations which create a new resource using a DEPRECATED resource will return successfully, but with a warning indicating the deprecated resource and recommending its replacement. Operations which use OBSOLETE or DELETED resources will be rejected and result in an error.
     * 
     */
    private String state;
    /**
     * @return The rollout policy for this deprecation. This policy is only enforced by image family views. The rollout policy restricts the zones where the associated resource is considered in a deprecated state. When the rollout policy does not include the user specified zone, or if the zone is rolled out, the associated resource is considered in a deprecated state. The rollout policy for this deprecation is read-only, except for allowlisted users. This field might not be configured. To view the latest non-deprecated image in a specific zone, use the imageFamilyViews.get method.
     * 
     */
    private RolloutPolicyResponse stateOverride;

    private DeprecationStatusResponse() {}
    /**
     * @return An optional RFC3339 timestamp on or after which the state of this resource is intended to change to DELETED. This is only informational and the status will not change unless the client explicitly changes it.
     * 
     */
    public String deleted() {
        return this.deleted;
    }
    /**
     * @return An optional RFC3339 timestamp on or after which the state of this resource is intended to change to DEPRECATED. This is only informational and the status will not change unless the client explicitly changes it.
     * 
     */
    public String deprecated() {
        return this.deprecated;
    }
    /**
     * @return An optional RFC3339 timestamp on or after which the state of this resource is intended to change to OBSOLETE. This is only informational and the status will not change unless the client explicitly changes it.
     * 
     */
    public String obsolete() {
        return this.obsolete;
    }
    /**
     * @return The URL of the suggested replacement for a deprecated resource. The suggested replacement resource must be the same kind of resource as the deprecated resource.
     * 
     */
    public String replacement() {
        return this.replacement;
    }
    /**
     * @return The deprecation state of this resource. This can be ACTIVE, DEPRECATED, OBSOLETE, or DELETED. Operations which communicate the end of life date for an image, can use ACTIVE. Operations which create a new resource using a DEPRECATED resource will return successfully, but with a warning indicating the deprecated resource and recommending its replacement. Operations which use OBSOLETE or DELETED resources will be rejected and result in an error.
     * 
     */
    public String state() {
        return this.state;
    }
    /**
     * @return The rollout policy for this deprecation. This policy is only enforced by image family views. The rollout policy restricts the zones where the associated resource is considered in a deprecated state. When the rollout policy does not include the user specified zone, or if the zone is rolled out, the associated resource is considered in a deprecated state. The rollout policy for this deprecation is read-only, except for allowlisted users. This field might not be configured. To view the latest non-deprecated image in a specific zone, use the imageFamilyViews.get method.
     * 
     */
    public RolloutPolicyResponse stateOverride() {
        return this.stateOverride;
    }

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

    public static Builder builder(DeprecationStatusResponse defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private String deleted;
        private String deprecated;
        private String obsolete;
        private String replacement;
        private String state;
        private RolloutPolicyResponse stateOverride;
        public Builder() {}
        public Builder(DeprecationStatusResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.deleted = defaults.deleted;
    	      this.deprecated = defaults.deprecated;
    	      this.obsolete = defaults.obsolete;
    	      this.replacement = defaults.replacement;
    	      this.state = defaults.state;
    	      this.stateOverride = defaults.stateOverride;
        }

        @CustomType.Setter
        public Builder deleted(String deleted) {
            this.deleted = Objects.requireNonNull(deleted);
            return this;
        }
        @CustomType.Setter
        public Builder deprecated(String deprecated) {
            this.deprecated = Objects.requireNonNull(deprecated);
            return this;
        }
        @CustomType.Setter
        public Builder obsolete(String obsolete) {
            this.obsolete = Objects.requireNonNull(obsolete);
            return this;
        }
        @CustomType.Setter
        public Builder replacement(String replacement) {
            this.replacement = Objects.requireNonNull(replacement);
            return this;
        }
        @CustomType.Setter
        public Builder state(String state) {
            this.state = Objects.requireNonNull(state);
            return this;
        }
        @CustomType.Setter
        public Builder stateOverride(RolloutPolicyResponse stateOverride) {
            this.stateOverride = Objects.requireNonNull(stateOverride);
            return this;
        }
        public DeprecationStatusResponse build() {
            final var o = new DeprecationStatusResponse();
            o.deleted = deleted;
            o.deprecated = deprecated;
            o.obsolete = obsolete;
            o.replacement = replacement;
            o.state = state;
            o.stateOverride = stateOverride;
            return o;
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy