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

com.pulumi.alicloud.log.inputs.ProjectState Maven / Gradle / Ivy

There is a newer version: 3.63.0-alpha.1727424957
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.alicloud.log.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class ProjectState extends com.pulumi.resources.ResourceArgs {

    public static final ProjectState Empty = new ProjectState();

    /**
     * CreateTime.
     * 
     */
    @Import(name="createTime")
    private @Nullable Output createTime;

    /**
     * @return CreateTime.
     * 
     */
    public Optional> createTime() {
        return Optional.ofNullable(this.createTime);
    }

    /**
     * Description.
     * 
     */
    @Import(name="description")
    private @Nullable Output description;

    /**
     * @return Description.
     * 
     */
    public Optional> description() {
        return Optional.ofNullable(this.description);
    }

    /**
     * . Field 'name' has been deprecated from provider version 1.223.0. New field 'project_name' instead.
     * 
     * @deprecated
     * Field 'name' has been deprecated since provider version 1.223.0. New field 'project_name' instead.
     * 
     */
    @Deprecated /* Field 'name' has been deprecated since provider version 1.223.0. New field 'project_name' instead. */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return . Field 'name' has been deprecated from provider version 1.223.0. New field 'project_name' instead.
     * 
     * @deprecated
     * Field 'name' has been deprecated since provider version 1.223.0. New field 'project_name' instead.
     * 
     */
    @Deprecated /* Field 'name' has been deprecated since provider version 1.223.0. New field 'project_name' instead. */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * Log project policy, used to set a policy for a project.
     * 
     */
    @Import(name="policy")
    private @Nullable Output policy;

    /**
     * @return Log project policy, used to set a policy for a project.
     * 
     */
    public Optional> policy() {
        return Optional.ofNullable(this.policy);
    }

    /**
     * The name of the log project. It is the only in one Alicloud account. The project name is globally unique in Alibaba Cloud and cannot be modified after it is created. The naming rules are as follows:
     * - The project name must be globally unique.
     * - The name can contain only lowercase letters, digits, and hyphens (-).
     * - It must start and end with a lowercase letter or number.
     * - The value contains 3 to 63 characters.
     * 
     */
    @Import(name="projectName")
    private @Nullable Output projectName;

    /**
     * @return The name of the log project. It is the only in one Alicloud account. The project name is globally unique in Alibaba Cloud and cannot be modified after it is created. The naming rules are as follows:
     * - The project name must be globally unique.
     * - The name can contain only lowercase letters, digits, and hyphens (-).
     * - It must start and end with a lowercase letter or number.
     * - The value contains 3 to 63 characters.
     * 
     */
    public Optional> projectName() {
        return Optional.ofNullable(this.projectName);
    }

    /**
     * The ID of the resource group.
     * 
     */
    @Import(name="resourceGroupId")
    private @Nullable Output resourceGroupId;

    /**
     * @return The ID of the resource group.
     * 
     */
    public Optional> resourceGroupId() {
        return Optional.ofNullable(this.resourceGroupId);
    }

    /**
     * The status of the resource.
     * 
     */
    @Import(name="status")
    private @Nullable Output status;

    /**
     * @return The status of the resource.
     * 
     */
    public Optional> status() {
        return Optional.ofNullable(this.status);
    }

    /**
     * Tag.
     * 
     * The following arguments will be discarded. Please use new fields as soon as possible:
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return Tag.
     * 
     * The following arguments will be discarded. Please use new fields as soon as possible:
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    private ProjectState() {}

    private ProjectState(ProjectState $) {
        this.createTime = $.createTime;
        this.description = $.description;
        this.name = $.name;
        this.policy = $.policy;
        this.projectName = $.projectName;
        this.resourceGroupId = $.resourceGroupId;
        this.status = $.status;
        this.tags = $.tags;
    }

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

    public static final class Builder {
        private ProjectState $;

        public Builder() {
            $ = new ProjectState();
        }

        public Builder(ProjectState defaults) {
            $ = new ProjectState(Objects.requireNonNull(defaults));
        }

        /**
         * @param createTime CreateTime.
         * 
         * @return builder
         * 
         */
        public Builder createTime(@Nullable Output createTime) {
            $.createTime = createTime;
            return this;
        }

        /**
         * @param createTime CreateTime.
         * 
         * @return builder
         * 
         */
        public Builder createTime(String createTime) {
            return createTime(Output.of(createTime));
        }

        /**
         * @param description Description.
         * 
         * @return builder
         * 
         */
        public Builder description(@Nullable Output description) {
            $.description = description;
            return this;
        }

        /**
         * @param description Description.
         * 
         * @return builder
         * 
         */
        public Builder description(String description) {
            return description(Output.of(description));
        }

        /**
         * @param name . Field 'name' has been deprecated from provider version 1.223.0. New field 'project_name' instead.
         * 
         * @return builder
         * 
         * @deprecated
         * Field 'name' has been deprecated since provider version 1.223.0. New field 'project_name' instead.
         * 
         */
        @Deprecated /* Field 'name' has been deprecated since provider version 1.223.0. New field 'project_name' instead. */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name . Field 'name' has been deprecated from provider version 1.223.0. New field 'project_name' instead.
         * 
         * @return builder
         * 
         * @deprecated
         * Field 'name' has been deprecated since provider version 1.223.0. New field 'project_name' instead.
         * 
         */
        @Deprecated /* Field 'name' has been deprecated since provider version 1.223.0. New field 'project_name' instead. */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param policy Log project policy, used to set a policy for a project.
         * 
         * @return builder
         * 
         */
        public Builder policy(@Nullable Output policy) {
            $.policy = policy;
            return this;
        }

        /**
         * @param policy Log project policy, used to set a policy for a project.
         * 
         * @return builder
         * 
         */
        public Builder policy(String policy) {
            return policy(Output.of(policy));
        }

        /**
         * @param projectName The name of the log project. It is the only in one Alicloud account. The project name is globally unique in Alibaba Cloud and cannot be modified after it is created. The naming rules are as follows:
         * - The project name must be globally unique.
         * - The name can contain only lowercase letters, digits, and hyphens (-).
         * - It must start and end with a lowercase letter or number.
         * - The value contains 3 to 63 characters.
         * 
         * @return builder
         * 
         */
        public Builder projectName(@Nullable Output projectName) {
            $.projectName = projectName;
            return this;
        }

        /**
         * @param projectName The name of the log project. It is the only in one Alicloud account. The project name is globally unique in Alibaba Cloud and cannot be modified after it is created. The naming rules are as follows:
         * - The project name must be globally unique.
         * - The name can contain only lowercase letters, digits, and hyphens (-).
         * - It must start and end with a lowercase letter or number.
         * - The value contains 3 to 63 characters.
         * 
         * @return builder
         * 
         */
        public Builder projectName(String projectName) {
            return projectName(Output.of(projectName));
        }

        /**
         * @param resourceGroupId The ID of the resource group.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupId(@Nullable Output resourceGroupId) {
            $.resourceGroupId = resourceGroupId;
            return this;
        }

        /**
         * @param resourceGroupId The ID of the resource group.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupId(String resourceGroupId) {
            return resourceGroupId(Output.of(resourceGroupId));
        }

        /**
         * @param status The status of the resource.
         * 
         * @return builder
         * 
         */
        public Builder status(@Nullable Output status) {
            $.status = status;
            return this;
        }

        /**
         * @param status The status of the resource.
         * 
         * @return builder
         * 
         */
        public Builder status(String status) {
            return status(Output.of(status));
        }

        /**
         * @param tags Tag.
         * 
         * The following arguments will be discarded. Please use new fields as soon as possible:
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags Tag.
         * 
         * The following arguments will be discarded. Please use new fields as soon as possible:
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        public ProjectState build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy