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

com.pulumi.aws.cfg.inputs.RecorderState Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.

There is a newer version: 6.60.0-alpha.1731982519
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.aws.cfg.inputs;

import com.pulumi.aws.cfg.inputs.RecorderRecordingGroupArgs;
import com.pulumi.aws.cfg.inputs.RecorderRecordingModeArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final RecorderState Empty = new RecorderState();

    /**
     * The name of the recorder. Defaults to `default`. Changing it recreates the resource.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return The name of the recorder. Defaults to `default`. Changing it recreates the resource.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * Recording group - see below.
     * 
     */
    @Import(name="recordingGroup")
    private @Nullable Output recordingGroup;

    /**
     * @return Recording group - see below.
     * 
     */
    public Optional> recordingGroup() {
        return Optional.ofNullable(this.recordingGroup);
    }

    /**
     * Recording mode - see below.
     * 
     */
    @Import(name="recordingMode")
    private @Nullable Output recordingMode;

    /**
     * @return Recording mode - see below.
     * 
     */
    public Optional> recordingMode() {
        return Optional.ofNullable(this.recordingMode);
    }

    /**
     * Amazon Resource Name (ARN) of the IAM role. Used to make read or write requests to the delivery channel and to describe the AWS resources associated with the account. See [AWS Docs](http://docs.aws.amazon.com/config/latest/developerguide/iamrole-permissions.html) for more details.
     * 
     */
    @Import(name="roleArn")
    private @Nullable Output roleArn;

    /**
     * @return Amazon Resource Name (ARN) of the IAM role. Used to make read or write requests to the delivery channel and to describe the AWS resources associated with the account. See [AWS Docs](http://docs.aws.amazon.com/config/latest/developerguide/iamrole-permissions.html) for more details.
     * 
     */
    public Optional> roleArn() {
        return Optional.ofNullable(this.roleArn);
    }

    private RecorderState() {}

    private RecorderState(RecorderState $) {
        this.name = $.name;
        this.recordingGroup = $.recordingGroup;
        this.recordingMode = $.recordingMode;
        this.roleArn = $.roleArn;
    }

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

    public static final class Builder {
        private RecorderState $;

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

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

        /**
         * @param name The name of the recorder. Defaults to `default`. Changing it recreates the resource.
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name The name of the recorder. Defaults to `default`. Changing it recreates the resource.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param recordingGroup Recording group - see below.
         * 
         * @return builder
         * 
         */
        public Builder recordingGroup(@Nullable Output recordingGroup) {
            $.recordingGroup = recordingGroup;
            return this;
        }

        /**
         * @param recordingGroup Recording group - see below.
         * 
         * @return builder
         * 
         */
        public Builder recordingGroup(RecorderRecordingGroupArgs recordingGroup) {
            return recordingGroup(Output.of(recordingGroup));
        }

        /**
         * @param recordingMode Recording mode - see below.
         * 
         * @return builder
         * 
         */
        public Builder recordingMode(@Nullable Output recordingMode) {
            $.recordingMode = recordingMode;
            return this;
        }

        /**
         * @param recordingMode Recording mode - see below.
         * 
         * @return builder
         * 
         */
        public Builder recordingMode(RecorderRecordingModeArgs recordingMode) {
            return recordingMode(Output.of(recordingMode));
        }

        /**
         * @param roleArn Amazon Resource Name (ARN) of the IAM role. Used to make read or write requests to the delivery channel and to describe the AWS resources associated with the account. See [AWS Docs](http://docs.aws.amazon.com/config/latest/developerguide/iamrole-permissions.html) for more details.
         * 
         * @return builder
         * 
         */
        public Builder roleArn(@Nullable Output roleArn) {
            $.roleArn = roleArn;
            return this;
        }

        /**
         * @param roleArn Amazon Resource Name (ARN) of the IAM role. Used to make read or write requests to the delivery channel and to describe the AWS resources associated with the account. See [AWS Docs](http://docs.aws.amazon.com/config/latest/developerguide/iamrole-permissions.html) for more details.
         * 
         * @return builder
         * 
         */
        public Builder roleArn(String roleArn) {
            return roleArn(Output.of(roleArn));
        }

        public RecorderState build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy