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

com.pulumi.alicloud.cfg.inputs.DeliveryState 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.cfg.inputs;

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


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

    public static final DeliveryState Empty = new DeliveryState();

    /**
     * Open or close delivery configuration change history. true: open, false: close.
     * 
     */
    @Import(name="configurationItemChangeNotification")
    private @Nullable Output configurationItemChangeNotification;

    /**
     * @return Open or close delivery configuration change history. true: open, false: close.
     * 
     */
    public Optional> configurationItemChangeNotification() {
        return Optional.ofNullable(this.configurationItemChangeNotification);
    }

    /**
     * Open or close timed snapshot of shipping resources. **NOTE:** The attribute is valid when the attribute `delivery_channel_type` is `OSS`.
     * 
     */
    @Import(name="configurationSnapshot")
    private @Nullable Output configurationSnapshot;

    /**
     * @return Open or close timed snapshot of shipping resources. **NOTE:** The attribute is valid when the attribute `delivery_channel_type` is `OSS`.
     * 
     */
    public Optional> configurationSnapshot() {
        return Optional.ofNullable(this.configurationSnapshot);
    }

    /**
     * The rule attached to the delivery method. Please refer to api [CreateConfigDeliveryChannel](https://help.aliyun.com/document_detail/429798.html) for example format. **NOTE:** The attribute is valid when the attribute `delivery_channel_type` is `MNS`.
     * 
     */
    @Import(name="deliveryChannelCondition")
    private @Nullable Output deliveryChannelCondition;

    /**
     * @return The rule attached to the delivery method. Please refer to api [CreateConfigDeliveryChannel](https://help.aliyun.com/document_detail/429798.html) for example format. **NOTE:** The attribute is valid when the attribute `delivery_channel_type` is `MNS`.
     * 
     */
    public Optional> deliveryChannelCondition() {
        return Optional.ofNullable(this.deliveryChannelCondition);
    }

    /**
     * The name of the delivery method.
     * 
     */
    @Import(name="deliveryChannelName")
    private @Nullable Output deliveryChannelName;

    /**
     * @return The name of the delivery method.
     * 
     */
    public Optional> deliveryChannelName() {
        return Optional.ofNullable(this.deliveryChannelName);
    }

    /**
     * The ARN of the delivery destination. The value must be in one of the following formats:
     * * `acs:oss:{RegionId}:{Aliuid}:{bucketName}`: if your delivery destination is an Object Storage Service (OSS) bucket.
     * * `acs:mns:{RegionId}:{Aliuid}:/topics/{topicName}`: if your delivery destination is a Message Service (MNS) topic.
     * * `acs:log:{RegionId}:{Aliuid}:project/{projectName}/logstore/{logstoreName}`: if your delivery destination is a Log Service Logstore.
     * 
     */
    @Import(name="deliveryChannelTargetArn")
    private @Nullable Output deliveryChannelTargetArn;

    /**
     * @return The ARN of the delivery destination. The value must be in one of the following formats:
     * * `acs:oss:{RegionId}:{Aliuid}:{bucketName}`: if your delivery destination is an Object Storage Service (OSS) bucket.
     * * `acs:mns:{RegionId}:{Aliuid}:/topics/{topicName}`: if your delivery destination is a Message Service (MNS) topic.
     * * `acs:log:{RegionId}:{Aliuid}:project/{projectName}/logstore/{logstoreName}`: if your delivery destination is a Log Service Logstore.
     * 
     */
    public Optional> deliveryChannelTargetArn() {
        return Optional.ofNullable(this.deliveryChannelTargetArn);
    }

    /**
     * The type of the delivery method. Valid values: `OSS`: Object Storage, `MNS`: Message Service, `SLS`: Log Service.
     * 
     */
    @Import(name="deliveryChannelType")
    private @Nullable Output deliveryChannelType;

    /**
     * @return The type of the delivery method. Valid values: `OSS`: Object Storage, `MNS`: Message Service, `SLS`: Log Service.
     * 
     */
    public Optional> deliveryChannelType() {
        return Optional.ofNullable(this.deliveryChannelType);
    }

    /**
     * The description of the delivery method.
     * 
     */
    @Import(name="description")
    private @Nullable Output description;

    /**
     * @return The description of the delivery method.
     * 
     */
    public Optional> description() {
        return Optional.ofNullable(this.description);
    }

    /**
     * Open or close non-compliance events of delivery resources. **NOTE:** The attribute is valid when the attribute `delivery_channel_type` is `SLS` or `MNS`.
     * 
     */
    @Import(name="nonCompliantNotification")
    private @Nullable Output nonCompliantNotification;

    /**
     * @return Open or close non-compliance events of delivery resources. **NOTE:** The attribute is valid when the attribute `delivery_channel_type` is `SLS` or `MNS`.
     * 
     */
    public Optional> nonCompliantNotification() {
        return Optional.ofNullable(this.nonCompliantNotification);
    }

    /**
     * The oss ARN of the delivery channel when the value data oversized limit.
     * * The value must be in one of the following formats: `acs:oss:{RegionId}:{accountId}:{bucketName}`, if your delivery destination is an Object Storage Service (OSS) bucket.
     * * Only delivery channels `SLS` and `MNS` are supported. The delivery channel limit for Log Service SLS is 1 MB, and the delivery channel limit for Message Service MNS is 64 KB.
     * 
     */
    @Import(name="oversizedDataOssTargetArn")
    private @Nullable Output oversizedDataOssTargetArn;

    /**
     * @return The oss ARN of the delivery channel when the value data oversized limit.
     * * The value must be in one of the following formats: `acs:oss:{RegionId}:{accountId}:{bucketName}`, if your delivery destination is an Object Storage Service (OSS) bucket.
     * * Only delivery channels `SLS` and `MNS` are supported. The delivery channel limit for Log Service SLS is 1 MB, and the delivery channel limit for Message Service MNS is 64 KB.
     * 
     */
    public Optional> oversizedDataOssTargetArn() {
        return Optional.ofNullable(this.oversizedDataOssTargetArn);
    }

    /**
     * The status of the delivery method. Valid values: `0`: The delivery method is disabled. `1`: The delivery destination is enabled. This is the default value.
     * 
     */
    @Import(name="status")
    private @Nullable Output status;

    /**
     * @return The status of the delivery method. Valid values: `0`: The delivery method is disabled. `1`: The delivery destination is enabled. This is the default value.
     * 
     */
    public Optional> status() {
        return Optional.ofNullable(this.status);
    }

    private DeliveryState() {}

    private DeliveryState(DeliveryState $) {
        this.configurationItemChangeNotification = $.configurationItemChangeNotification;
        this.configurationSnapshot = $.configurationSnapshot;
        this.deliveryChannelCondition = $.deliveryChannelCondition;
        this.deliveryChannelName = $.deliveryChannelName;
        this.deliveryChannelTargetArn = $.deliveryChannelTargetArn;
        this.deliveryChannelType = $.deliveryChannelType;
        this.description = $.description;
        this.nonCompliantNotification = $.nonCompliantNotification;
        this.oversizedDataOssTargetArn = $.oversizedDataOssTargetArn;
        this.status = $.status;
    }

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

    public static final class Builder {
        private DeliveryState $;

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

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

        /**
         * @param configurationItemChangeNotification Open or close delivery configuration change history. true: open, false: close.
         * 
         * @return builder
         * 
         */
        public Builder configurationItemChangeNotification(@Nullable Output configurationItemChangeNotification) {
            $.configurationItemChangeNotification = configurationItemChangeNotification;
            return this;
        }

        /**
         * @param configurationItemChangeNotification Open or close delivery configuration change history. true: open, false: close.
         * 
         * @return builder
         * 
         */
        public Builder configurationItemChangeNotification(Boolean configurationItemChangeNotification) {
            return configurationItemChangeNotification(Output.of(configurationItemChangeNotification));
        }

        /**
         * @param configurationSnapshot Open or close timed snapshot of shipping resources. **NOTE:** The attribute is valid when the attribute `delivery_channel_type` is `OSS`.
         * 
         * @return builder
         * 
         */
        public Builder configurationSnapshot(@Nullable Output configurationSnapshot) {
            $.configurationSnapshot = configurationSnapshot;
            return this;
        }

        /**
         * @param configurationSnapshot Open or close timed snapshot of shipping resources. **NOTE:** The attribute is valid when the attribute `delivery_channel_type` is `OSS`.
         * 
         * @return builder
         * 
         */
        public Builder configurationSnapshot(Boolean configurationSnapshot) {
            return configurationSnapshot(Output.of(configurationSnapshot));
        }

        /**
         * @param deliveryChannelCondition The rule attached to the delivery method. Please refer to api [CreateConfigDeliveryChannel](https://help.aliyun.com/document_detail/429798.html) for example format. **NOTE:** The attribute is valid when the attribute `delivery_channel_type` is `MNS`.
         * 
         * @return builder
         * 
         */
        public Builder deliveryChannelCondition(@Nullable Output deliveryChannelCondition) {
            $.deliveryChannelCondition = deliveryChannelCondition;
            return this;
        }

        /**
         * @param deliveryChannelCondition The rule attached to the delivery method. Please refer to api [CreateConfigDeliveryChannel](https://help.aliyun.com/document_detail/429798.html) for example format. **NOTE:** The attribute is valid when the attribute `delivery_channel_type` is `MNS`.
         * 
         * @return builder
         * 
         */
        public Builder deliveryChannelCondition(String deliveryChannelCondition) {
            return deliveryChannelCondition(Output.of(deliveryChannelCondition));
        }

        /**
         * @param deliveryChannelName The name of the delivery method.
         * 
         * @return builder
         * 
         */
        public Builder deliveryChannelName(@Nullable Output deliveryChannelName) {
            $.deliveryChannelName = deliveryChannelName;
            return this;
        }

        /**
         * @param deliveryChannelName The name of the delivery method.
         * 
         * @return builder
         * 
         */
        public Builder deliveryChannelName(String deliveryChannelName) {
            return deliveryChannelName(Output.of(deliveryChannelName));
        }

        /**
         * @param deliveryChannelTargetArn The ARN of the delivery destination. The value must be in one of the following formats:
         * * `acs:oss:{RegionId}:{Aliuid}:{bucketName}`: if your delivery destination is an Object Storage Service (OSS) bucket.
         * * `acs:mns:{RegionId}:{Aliuid}:/topics/{topicName}`: if your delivery destination is a Message Service (MNS) topic.
         * * `acs:log:{RegionId}:{Aliuid}:project/{projectName}/logstore/{logstoreName}`: if your delivery destination is a Log Service Logstore.
         * 
         * @return builder
         * 
         */
        public Builder deliveryChannelTargetArn(@Nullable Output deliveryChannelTargetArn) {
            $.deliveryChannelTargetArn = deliveryChannelTargetArn;
            return this;
        }

        /**
         * @param deliveryChannelTargetArn The ARN of the delivery destination. The value must be in one of the following formats:
         * * `acs:oss:{RegionId}:{Aliuid}:{bucketName}`: if your delivery destination is an Object Storage Service (OSS) bucket.
         * * `acs:mns:{RegionId}:{Aliuid}:/topics/{topicName}`: if your delivery destination is a Message Service (MNS) topic.
         * * `acs:log:{RegionId}:{Aliuid}:project/{projectName}/logstore/{logstoreName}`: if your delivery destination is a Log Service Logstore.
         * 
         * @return builder
         * 
         */
        public Builder deliveryChannelTargetArn(String deliveryChannelTargetArn) {
            return deliveryChannelTargetArn(Output.of(deliveryChannelTargetArn));
        }

        /**
         * @param deliveryChannelType The type of the delivery method. Valid values: `OSS`: Object Storage, `MNS`: Message Service, `SLS`: Log Service.
         * 
         * @return builder
         * 
         */
        public Builder deliveryChannelType(@Nullable Output deliveryChannelType) {
            $.deliveryChannelType = deliveryChannelType;
            return this;
        }

        /**
         * @param deliveryChannelType The type of the delivery method. Valid values: `OSS`: Object Storage, `MNS`: Message Service, `SLS`: Log Service.
         * 
         * @return builder
         * 
         */
        public Builder deliveryChannelType(String deliveryChannelType) {
            return deliveryChannelType(Output.of(deliveryChannelType));
        }

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

        /**
         * @param description The description of the delivery method.
         * 
         * @return builder
         * 
         */
        public Builder description(String description) {
            return description(Output.of(description));
        }

        /**
         * @param nonCompliantNotification Open or close non-compliance events of delivery resources. **NOTE:** The attribute is valid when the attribute `delivery_channel_type` is `SLS` or `MNS`.
         * 
         * @return builder
         * 
         */
        public Builder nonCompliantNotification(@Nullable Output nonCompliantNotification) {
            $.nonCompliantNotification = nonCompliantNotification;
            return this;
        }

        /**
         * @param nonCompliantNotification Open or close non-compliance events of delivery resources. **NOTE:** The attribute is valid when the attribute `delivery_channel_type` is `SLS` or `MNS`.
         * 
         * @return builder
         * 
         */
        public Builder nonCompliantNotification(Boolean nonCompliantNotification) {
            return nonCompliantNotification(Output.of(nonCompliantNotification));
        }

        /**
         * @param oversizedDataOssTargetArn The oss ARN of the delivery channel when the value data oversized limit.
         * * The value must be in one of the following formats: `acs:oss:{RegionId}:{accountId}:{bucketName}`, if your delivery destination is an Object Storage Service (OSS) bucket.
         * * Only delivery channels `SLS` and `MNS` are supported. The delivery channel limit for Log Service SLS is 1 MB, and the delivery channel limit for Message Service MNS is 64 KB.
         * 
         * @return builder
         * 
         */
        public Builder oversizedDataOssTargetArn(@Nullable Output oversizedDataOssTargetArn) {
            $.oversizedDataOssTargetArn = oversizedDataOssTargetArn;
            return this;
        }

        /**
         * @param oversizedDataOssTargetArn The oss ARN of the delivery channel when the value data oversized limit.
         * * The value must be in one of the following formats: `acs:oss:{RegionId}:{accountId}:{bucketName}`, if your delivery destination is an Object Storage Service (OSS) bucket.
         * * Only delivery channels `SLS` and `MNS` are supported. The delivery channel limit for Log Service SLS is 1 MB, and the delivery channel limit for Message Service MNS is 64 KB.
         * 
         * @return builder
         * 
         */
        public Builder oversizedDataOssTargetArn(String oversizedDataOssTargetArn) {
            return oversizedDataOssTargetArn(Output.of(oversizedDataOssTargetArn));
        }

        /**
         * @param status The status of the delivery method. Valid values: `0`: The delivery method is disabled. `1`: The delivery destination is enabled. This is the default value.
         * 
         * @return builder
         * 
         */
        public Builder status(@Nullable Output status) {
            $.status = status;
            return this;
        }

        /**
         * @param status The status of the delivery method. Valid values: `0`: The delivery method is disabled. `1`: The delivery destination is enabled. This is the default value.
         * 
         * @return builder
         * 
         */
        public Builder status(Integer status) {
            return status(Output.of(status));
        }

        public DeliveryState build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy