
software.amazon.awscdk.services.config.CfnDeliveryChannel Maven / Gradle / Ivy
package software.amazon.awscdk.services.config;
/**
* A CloudFormation `AWS::Config::DeliveryChannel`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-deliverychannel.html
*/
@javax.annotation.Generated(value = "jsii-pacmak/1.9.0 (build 5c646d5)", date = "2020-07-31T23:31:37.931Z")
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.config.$Module.class, fqn = "@aws-cdk/aws-config.CfnDeliveryChannel")
public class CfnDeliveryChannel extends software.amazon.awscdk.core.CfnResource implements software.amazon.awscdk.core.IInspectable {
protected CfnDeliveryChannel(final software.amazon.jsii.JsiiObjectRef objRef) {
super(objRef);
}
protected CfnDeliveryChannel(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) {
super(initializationMode);
}
static {
CFN_RESOURCE_TYPE_NAME = software.amazon.jsii.JsiiObject.jsiiStaticGet(software.amazon.awscdk.services.config.CfnDeliveryChannel.class, "CFN_RESOURCE_TYPE_NAME", java.lang.String.class);
}
/**
* Create a new `AWS::Config::DeliveryChannel`.
*
* @param scope - scope in which this resource is defined. This parameter is required.
* @param id - scoped id of the resource. This parameter is required.
* @param props - resource properties. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public CfnDeliveryChannel(final @org.jetbrains.annotations.NotNull software.amazon.awscdk.core.Construct scope, final @org.jetbrains.annotations.NotNull java.lang.String id, final @org.jetbrains.annotations.NotNull software.amazon.awscdk.services.config.CfnDeliveryChannelProps props) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(scope, "scope is required"), java.util.Objects.requireNonNull(id, "id is required"), java.util.Objects.requireNonNull(props, "props is required") });
}
/**
* A factory method that creates a new instance of this class from an object containing the CloudFormation properties of this resource.
*
* Used in the @aws-cdk/cloudformation-include module.
*
* EXPERIMENTAL
*
* @param scope This parameter is required.
* @param id This parameter is required.
* @param resourceAttributes This parameter is required.
* @param options This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public static @org.jetbrains.annotations.NotNull software.amazon.awscdk.services.config.CfnDeliveryChannel fromCloudFormation(final @org.jetbrains.annotations.NotNull software.amazon.awscdk.core.Construct scope, final @org.jetbrains.annotations.NotNull java.lang.String id, final @org.jetbrains.annotations.NotNull java.lang.Object resourceAttributes, final @org.jetbrains.annotations.NotNull software.amazon.awscdk.core.FromCloudFormationOptions options) {
return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.awscdk.services.config.CfnDeliveryChannel.class, "fromCloudFormation", software.amazon.awscdk.services.config.CfnDeliveryChannel.class, new Object[] { java.util.Objects.requireNonNull(scope, "scope is required"), java.util.Objects.requireNonNull(id, "id is required"), resourceAttributes, java.util.Objects.requireNonNull(options, "options is required") });
}
/**
* Examines the CloudFormation resource and discloses attributes.
*
* EXPERIMENTAL
*
* @param inspector - tree inspector to collect and process attributes. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
@Override
public void inspect(final @org.jetbrains.annotations.NotNull software.amazon.awscdk.core.TreeInspector inspector) {
this.jsiiCall("inspect", software.amazon.jsii.NativeType.VOID, new Object[] { java.util.Objects.requireNonNull(inspector, "inspector is required") });
}
/**
* @param props This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@Override
protected @org.jetbrains.annotations.NotNull java.util.Map renderProperties(final @org.jetbrains.annotations.NotNull java.util.Map props) {
return java.util.Collections.unmodifiableMap(this.jsiiCall("renderProperties", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(java.lang.Object.class)), new Object[] { java.util.Objects.requireNonNull(props, "props is required") }));
}
/**
* The CloudFormation resource type name for this resource class.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public final static java.lang.String CFN_RESOURCE_TYPE_NAME;
/**
*/
@Override
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
protected @org.jetbrains.annotations.NotNull java.util.Map getCfnProperties() {
return java.util.Collections.unmodifiableMap(this.jsiiGet("cfnProperties", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(java.lang.Object.class))));
}
/**
* `AWS::Config::DeliveryChannel.S3BucketName`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-deliverychannel.html#cfn-config-deliverychannel-s3bucketname
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public @org.jetbrains.annotations.NotNull java.lang.String getS3BucketName() {
return this.jsiiGet("s3BucketName", java.lang.String.class);
}
/**
* `AWS::Config::DeliveryChannel.S3BucketName`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-deliverychannel.html#cfn-config-deliverychannel-s3bucketname
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public void setS3BucketName(final @org.jetbrains.annotations.NotNull java.lang.String value) {
this.jsiiSet("s3BucketName", java.util.Objects.requireNonNull(value, "s3BucketName is required"));
}
/**
* `AWS::Config::DeliveryChannel.ConfigSnapshotDeliveryProperties`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-deliverychannel.html#cfn-config-deliverychannel-configsnapshotdeliveryproperties
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public @org.jetbrains.annotations.Nullable java.lang.Object getConfigSnapshotDeliveryProperties() {
return this.jsiiGet("configSnapshotDeliveryProperties", java.lang.Object.class);
}
/**
* `AWS::Config::DeliveryChannel.ConfigSnapshotDeliveryProperties`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-deliverychannel.html#cfn-config-deliverychannel-configsnapshotdeliveryproperties
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public void setConfigSnapshotDeliveryProperties(final @org.jetbrains.annotations.Nullable software.amazon.awscdk.core.IResolvable value) {
this.jsiiSet("configSnapshotDeliveryProperties", value);
}
/**
* `AWS::Config::DeliveryChannel.ConfigSnapshotDeliveryProperties`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-deliverychannel.html#cfn-config-deliverychannel-configsnapshotdeliveryproperties
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public void setConfigSnapshotDeliveryProperties(final @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.config.CfnDeliveryChannel.ConfigSnapshotDeliveryPropertiesProperty value) {
this.jsiiSet("configSnapshotDeliveryProperties", value);
}
/**
* `AWS::Config::DeliveryChannel.Name`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-deliverychannel.html#cfn-config-deliverychannel-name
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public @org.jetbrains.annotations.Nullable java.lang.String getName() {
return this.jsiiGet("name", java.lang.String.class);
}
/**
* `AWS::Config::DeliveryChannel.Name`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-deliverychannel.html#cfn-config-deliverychannel-name
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public void setName(final @org.jetbrains.annotations.Nullable java.lang.String value) {
this.jsiiSet("name", value);
}
/**
* `AWS::Config::DeliveryChannel.S3KeyPrefix`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-deliverychannel.html#cfn-config-deliverychannel-s3keyprefix
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public @org.jetbrains.annotations.Nullable java.lang.String getS3KeyPrefix() {
return this.jsiiGet("s3KeyPrefix", java.lang.String.class);
}
/**
* `AWS::Config::DeliveryChannel.S3KeyPrefix`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-deliverychannel.html#cfn-config-deliverychannel-s3keyprefix
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public void setS3KeyPrefix(final @org.jetbrains.annotations.Nullable java.lang.String value) {
this.jsiiSet("s3KeyPrefix", value);
}
/**
* `AWS::Config::DeliveryChannel.SnsTopicARN`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-deliverychannel.html#cfn-config-deliverychannel-snstopicarn
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public @org.jetbrains.annotations.Nullable java.lang.String getSnsTopicArn() {
return this.jsiiGet("snsTopicArn", java.lang.String.class);
}
/**
* `AWS::Config::DeliveryChannel.SnsTopicARN`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-deliverychannel.html#cfn-config-deliverychannel-snstopicarn
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public void setSnsTopicArn(final @org.jetbrains.annotations.Nullable java.lang.String value) {
this.jsiiSet("snsTopicArn", value);
}
/**
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-deliverychannel-configsnapshotdeliveryproperties.html
*/
@software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.config.$Module.class, fqn = "@aws-cdk/aws-config.CfnDeliveryChannel.ConfigSnapshotDeliveryPropertiesProperty")
@software.amazon.jsii.Jsii.Proxy(ConfigSnapshotDeliveryPropertiesProperty.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static interface ConfigSnapshotDeliveryPropertiesProperty extends software.amazon.jsii.JsiiSerializable {
/**
* `CfnDeliveryChannel.ConfigSnapshotDeliveryPropertiesProperty.DeliveryFrequency`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-deliverychannel-configsnapshotdeliveryproperties.html#cfn-config-deliverychannel-configsnapshotdeliveryproperties-deliveryfrequency
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getDeliveryFrequency() {
return null;
}
/**
* @return a {@link Builder} of {@link ConfigSnapshotDeliveryPropertiesProperty}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
static Builder builder() {
return new Builder();
}
/**
* A builder for {@link ConfigSnapshotDeliveryPropertiesProperty}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static final class Builder implements software.amazon.jsii.Builder {
private java.lang.String deliveryFrequency;
/**
* Sets the value of {@link ConfigSnapshotDeliveryPropertiesProperty#getDeliveryFrequency}
* @param deliveryFrequency `CfnDeliveryChannel.ConfigSnapshotDeliveryPropertiesProperty.DeliveryFrequency`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder deliveryFrequency(java.lang.String deliveryFrequency) {
this.deliveryFrequency = deliveryFrequency;
return this;
}
/**
* Builds the configured instance.
* @return a new instance of {@link ConfigSnapshotDeliveryPropertiesProperty}
* @throws NullPointerException if any required attribute was not provided
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@Override
public ConfigSnapshotDeliveryPropertiesProperty build() {
return new Jsii$Proxy(deliveryFrequency);
}
}
/**
* An implementation for {@link ConfigSnapshotDeliveryPropertiesProperty}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements ConfigSnapshotDeliveryPropertiesProperty {
private final java.lang.String deliveryFrequency;
/**
* Constructor that initializes the object based on values retrieved from the JsiiObject.
* @param objRef Reference to the JSII managed object.
*/
protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) {
super(objRef);
this.deliveryFrequency = this.jsiiGet("deliveryFrequency", java.lang.String.class);
}
/**
* Constructor that initializes the object based on literal property values passed by the {@link Builder}.
*/
private Jsii$Proxy(final java.lang.String deliveryFrequency) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
this.deliveryFrequency = deliveryFrequency;
}
@Override
public java.lang.String getDeliveryFrequency() {
return this.deliveryFrequency;
}
@Override
public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() {
final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE;
final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
if (this.getDeliveryFrequency() != null) {
data.set("deliveryFrequency", om.valueToTree(this.getDeliveryFrequency()));
}
final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
struct.set("fqn", om.valueToTree("@aws-cdk/aws-config.CfnDeliveryChannel.ConfigSnapshotDeliveryPropertiesProperty"));
struct.set("data", data);
final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
obj.set("$jsii.struct", struct);
return obj;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
ConfigSnapshotDeliveryPropertiesProperty.Jsii$Proxy that = (ConfigSnapshotDeliveryPropertiesProperty.Jsii$Proxy) o;
return this.deliveryFrequency != null ? this.deliveryFrequency.equals(that.deliveryFrequency) : that.deliveryFrequency == null;
}
@Override
public int hashCode() {
int result = this.deliveryFrequency != null ? this.deliveryFrequency.hashCode() : 0;
return result;
}
}
}
/**
* A fluent builder for {@link software.amazon.awscdk.services.config.CfnDeliveryChannel}.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static final class Builder implements software.amazon.jsii.Builder {
/**
* @return a new instance of {@link Builder}.
* @param scope - scope in which this resource is defined. This parameter is required.
* @param id - scoped id of the resource. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static Builder create(final software.amazon.awscdk.core.Construct scope, final java.lang.String id) {
return new Builder(scope, id);
}
private final software.amazon.awscdk.core.Construct scope;
private final java.lang.String id;
private final software.amazon.awscdk.services.config.CfnDeliveryChannelProps.Builder props;
private Builder(final software.amazon.awscdk.core.Construct scope, final java.lang.String id) {
this.scope = scope;
this.id = id;
this.props = new software.amazon.awscdk.services.config.CfnDeliveryChannelProps.Builder();
}
/**
* `AWS::Config::DeliveryChannel.S3BucketName`.
*
* @return {@code this}
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-deliverychannel.html#cfn-config-deliverychannel-s3bucketname
* @param s3BucketName `AWS::Config::DeliveryChannel.S3BucketName`. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder s3BucketName(final java.lang.String s3BucketName) {
this.props.s3BucketName(s3BucketName);
return this;
}
/**
* `AWS::Config::DeliveryChannel.ConfigSnapshotDeliveryProperties`.
*
* @return {@code this}
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-deliverychannel.html#cfn-config-deliverychannel-configsnapshotdeliveryproperties
* @param configSnapshotDeliveryProperties `AWS::Config::DeliveryChannel.ConfigSnapshotDeliveryProperties`. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder configSnapshotDeliveryProperties(final software.amazon.awscdk.core.IResolvable configSnapshotDeliveryProperties) {
this.props.configSnapshotDeliveryProperties(configSnapshotDeliveryProperties);
return this;
}
/**
* `AWS::Config::DeliveryChannel.ConfigSnapshotDeliveryProperties`.
*
* @return {@code this}
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-deliverychannel.html#cfn-config-deliverychannel-configsnapshotdeliveryproperties
* @param configSnapshotDeliveryProperties `AWS::Config::DeliveryChannel.ConfigSnapshotDeliveryProperties`. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder configSnapshotDeliveryProperties(final software.amazon.awscdk.services.config.CfnDeliveryChannel.ConfigSnapshotDeliveryPropertiesProperty configSnapshotDeliveryProperties) {
this.props.configSnapshotDeliveryProperties(configSnapshotDeliveryProperties);
return this;
}
/**
* `AWS::Config::DeliveryChannel.Name`.
*
* @return {@code this}
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-deliverychannel.html#cfn-config-deliverychannel-name
* @param name `AWS::Config::DeliveryChannel.Name`. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder name(final java.lang.String name) {
this.props.name(name);
return this;
}
/**
* `AWS::Config::DeliveryChannel.S3KeyPrefix`.
*
* @return {@code this}
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-deliverychannel.html#cfn-config-deliverychannel-s3keyprefix
* @param s3KeyPrefix `AWS::Config::DeliveryChannel.S3KeyPrefix`. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder s3KeyPrefix(final java.lang.String s3KeyPrefix) {
this.props.s3KeyPrefix(s3KeyPrefix);
return this;
}
/**
* `AWS::Config::DeliveryChannel.SnsTopicARN`.
*
* @return {@code this}
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-deliverychannel.html#cfn-config-deliverychannel-snstopicarn
* @param snsTopicArn `AWS::Config::DeliveryChannel.SnsTopicARN`. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder snsTopicArn(final java.lang.String snsTopicArn) {
this.props.snsTopicArn(snsTopicArn);
return this;
}
/**
* @returns a newly built instance of {@link software.amazon.awscdk.services.config.CfnDeliveryChannel}.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@Override
public software.amazon.awscdk.services.config.CfnDeliveryChannel build() {
return new software.amazon.awscdk.services.config.CfnDeliveryChannel(
this.scope,
this.id,
this.props.build()
);
}
}
}