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

com.pulumi.googlenative.osconfig.v1alpha.inputs.OSPolicyResourceFileResourceArgs 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.osconfig.v1alpha.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.googlenative.osconfig.v1alpha.enums.OSPolicyResourceFileResourceState;
import com.pulumi.googlenative.osconfig.v1alpha.inputs.OSPolicyResourceFileArgs;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * A resource that manages the state of a file.
 * 
 */
public final class OSPolicyResourceFileResourceArgs extends com.pulumi.resources.ResourceArgs {

    public static final OSPolicyResourceFileResourceArgs Empty = new OSPolicyResourceFileResourceArgs();

    /**
     * A a file with this content. The size of the content is limited to 32KiB.
     * 
     */
    @Import(name="content")
    private @Nullable Output content;

    /**
     * @return A a file with this content. The size of the content is limited to 32KiB.
     * 
     */
    public Optional> content() {
        return Optional.ofNullable(this.content);
    }

    /**
     * A remote or local source.
     * 
     */
    @Import(name="file")
    private @Nullable Output file;

    /**
     * @return A remote or local source.
     * 
     */
    public Optional> file() {
        return Optional.ofNullable(this.file);
    }

    /**
     * The absolute path of the file within the VM.
     * 
     */
    @Import(name="path", required=true)
    private Output path;

    /**
     * @return The absolute path of the file within the VM.
     * 
     */
    public Output path() {
        return this.path;
    }

    /**
     * Consists of three octal digits which represent, in order, the permissions of the owner, group, and other users for the file (similarly to the numeric mode used in the linux chmod utility). Each digit represents a three bit number with the 4 bit corresponding to the read permissions, the 2 bit corresponds to the write bit, and the one bit corresponds to the execute permission. Default behavior is 755. Below are some examples of permissions and their associated values: read, write, and execute: 7 read and execute: 5 read and write: 6 read only: 4
     * 
     */
    @Import(name="permissions")
    private @Nullable Output permissions;

    /**
     * @return Consists of three octal digits which represent, in order, the permissions of the owner, group, and other users for the file (similarly to the numeric mode used in the linux chmod utility). Each digit represents a three bit number with the 4 bit corresponding to the read permissions, the 2 bit corresponds to the write bit, and the one bit corresponds to the execute permission. Default behavior is 755. Below are some examples of permissions and their associated values: read, write, and execute: 7 read and execute: 5 read and write: 6 read only: 4
     * 
     */
    public Optional> permissions() {
        return Optional.ofNullable(this.permissions);
    }

    /**
     * Desired state of the file.
     * 
     */
    @Import(name="state", required=true)
    private Output state;

    /**
     * @return Desired state of the file.
     * 
     */
    public Output state() {
        return this.state;
    }

    private OSPolicyResourceFileResourceArgs() {}

    private OSPolicyResourceFileResourceArgs(OSPolicyResourceFileResourceArgs $) {
        this.content = $.content;
        this.file = $.file;
        this.path = $.path;
        this.permissions = $.permissions;
        this.state = $.state;
    }

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

    public static final class Builder {
        private OSPolicyResourceFileResourceArgs $;

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

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

        /**
         * @param content A a file with this content. The size of the content is limited to 32KiB.
         * 
         * @return builder
         * 
         */
        public Builder content(@Nullable Output content) {
            $.content = content;
            return this;
        }

        /**
         * @param content A a file with this content. The size of the content is limited to 32KiB.
         * 
         * @return builder
         * 
         */
        public Builder content(String content) {
            return content(Output.of(content));
        }

        /**
         * @param file A remote or local source.
         * 
         * @return builder
         * 
         */
        public Builder file(@Nullable Output file) {
            $.file = file;
            return this;
        }

        /**
         * @param file A remote or local source.
         * 
         * @return builder
         * 
         */
        public Builder file(OSPolicyResourceFileArgs file) {
            return file(Output.of(file));
        }

        /**
         * @param path The absolute path of the file within the VM.
         * 
         * @return builder
         * 
         */
        public Builder path(Output path) {
            $.path = path;
            return this;
        }

        /**
         * @param path The absolute path of the file within the VM.
         * 
         * @return builder
         * 
         */
        public Builder path(String path) {
            return path(Output.of(path));
        }

        /**
         * @param permissions Consists of three octal digits which represent, in order, the permissions of the owner, group, and other users for the file (similarly to the numeric mode used in the linux chmod utility). Each digit represents a three bit number with the 4 bit corresponding to the read permissions, the 2 bit corresponds to the write bit, and the one bit corresponds to the execute permission. Default behavior is 755. Below are some examples of permissions and their associated values: read, write, and execute: 7 read and execute: 5 read and write: 6 read only: 4
         * 
         * @return builder
         * 
         */
        public Builder permissions(@Nullable Output permissions) {
            $.permissions = permissions;
            return this;
        }

        /**
         * @param permissions Consists of three octal digits which represent, in order, the permissions of the owner, group, and other users for the file (similarly to the numeric mode used in the linux chmod utility). Each digit represents a three bit number with the 4 bit corresponding to the read permissions, the 2 bit corresponds to the write bit, and the one bit corresponds to the execute permission. Default behavior is 755. Below are some examples of permissions and their associated values: read, write, and execute: 7 read and execute: 5 read and write: 6 read only: 4
         * 
         * @return builder
         * 
         */
        public Builder permissions(String permissions) {
            return permissions(Output.of(permissions));
        }

        /**
         * @param state Desired state of the file.
         * 
         * @return builder
         * 
         */
        public Builder state(Output state) {
            $.state = state;
            return this;
        }

        /**
         * @param state Desired state of the file.
         * 
         * @return builder
         * 
         */
        public Builder state(OSPolicyResourceFileResourceState state) {
            return state(Output.of(state));
        }

        public OSPolicyResourceFileResourceArgs build() {
            $.path = Objects.requireNonNull($.path, "expected parameter 'path' to be non-null");
            $.state = Objects.requireNonNull($.state, "expected parameter 'state' to be non-null");
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy