
software.amazon.awscdk.services.connect.CfnHoursOfOperation Maven / Gradle / Ivy
Show all versions of connect Show documentation
package software.amazon.awscdk.services.connect;
/**
* A CloudFormation `AWS::Connect::HoursOfOperation`.
*
* Specifies hours of operation.
*
* Example:
*
*
* // The code below shows an example of how to instantiate this type.
* // The values are placeholders you should change.
* import software.amazon.awscdk.services.connect.*;
* CfnHoursOfOperation cfnHoursOfOperation = CfnHoursOfOperation.Builder.create(this, "MyCfnHoursOfOperation")
* .config(List.of(HoursOfOperationConfigProperty.builder()
* .day("day")
* .endTime(HoursOfOperationTimeSliceProperty.builder()
* .hours(123)
* .minutes(123)
* .build())
* .startTime(HoursOfOperationTimeSliceProperty.builder()
* .hours(123)
* .minutes(123)
* .build())
* .build()))
* .instanceArn("instanceArn")
* .name("name")
* .timeZone("timeZone")
* // the properties below are optional
* .description("description")
* .tags(List.of(CfnTag.builder()
* .key("key")
* .value("value")
* .build()))
* .build();
*
*/
@javax.annotation.Generated(value = "jsii-pacmak/1.74.0 (build 6d08790)", date = "2023-05-10T17:05:14.670Z")
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.connect.$Module.class, fqn = "@aws-cdk/aws-connect.CfnHoursOfOperation")
public class CfnHoursOfOperation extends software.amazon.awscdk.core.CfnResource implements software.amazon.awscdk.core.IInspectable {
protected CfnHoursOfOperation(final software.amazon.jsii.JsiiObjectRef objRef) {
super(objRef);
}
protected CfnHoursOfOperation(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) {
super(initializationMode);
}
static {
CFN_RESOURCE_TYPE_NAME = software.amazon.jsii.JsiiObject.jsiiStaticGet(software.amazon.awscdk.services.connect.CfnHoursOfOperation.class, "CFN_RESOURCE_TYPE_NAME", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
}
/**
* Create a new `AWS::Connect::HoursOfOperation`.
*
* @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 CfnHoursOfOperation(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.connect.CfnHoursOfOperationProps 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") });
}
/**
* Examines the CloudFormation resource and discloses attributes.
*
* @param inspector - tree inspector to collect and process attributes. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@Override
public void inspect(final @org.jetbrains.annotations.NotNull software.amazon.awscdk.core.TreeInspector inspector) {
software.amazon.jsii.Kernel.call(this, "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(software.amazon.jsii.Kernel.call(this, "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;
/**
* The Amazon Resource Name (ARN) for the hours of operation.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public @org.jetbrains.annotations.NotNull java.lang.String getAttrHoursOfOperationArn() {
return software.amazon.jsii.Kernel.get(this, "attrHoursOfOperationArn", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
}
/**
*/
@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(software.amazon.jsii.Kernel.get(this, "cfnProperties", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(java.lang.Object.class))));
}
/**
* The tags used to organize, track, or control access for this resource.
*
* For example, { "tags": {"key1":"value1", "key2":"value2"} }.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public @org.jetbrains.annotations.NotNull software.amazon.awscdk.core.TagManager getTags() {
return software.amazon.jsii.Kernel.get(this, "tags", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.core.TagManager.class));
}
/**
* Configuration information for the hours of operation.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public @org.jetbrains.annotations.NotNull java.lang.Object getConfig() {
return software.amazon.jsii.Kernel.get(this, "config", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
}
/**
* Configuration information for the hours of operation.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public void setConfig(final @org.jetbrains.annotations.NotNull software.amazon.awscdk.core.IResolvable value) {
software.amazon.jsii.Kernel.set(this, "config", java.util.Objects.requireNonNull(value, "config is required"));
}
/**
* Configuration information for the hours of operation.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public void setConfig(final @org.jetbrains.annotations.NotNull java.util.List value) {
if (software.amazon.jsii.Configuration.getRuntimeTypeChecking()) {
for (int __idx_ac66f0 = 0; __idx_ac66f0 < value.size(); __idx_ac66f0++) {
final java.lang.Object __val_ac66f0 = value.get(__idx_ac66f0);
if (
!(__val_ac66f0 instanceof software.amazon.awscdk.core.IResolvable)
&& !(__val_ac66f0 instanceof software.amazon.awscdk.services.connect.CfnHoursOfOperation.HoursOfOperationConfigProperty)
&& !(__val_ac66f0.getClass().equals(software.amazon.jsii.JsiiObject.class))
) {
throw new IllegalArgumentException(
new java.lang.StringBuilder("Expected ")
.append("value").append(".get(").append(__idx_ac66f0).append(")")
.append(" to be one of: software.amazon.awscdk.core.IResolvable, software.amazon.awscdk.services.connect.CfnHoursOfOperation.HoursOfOperationConfigProperty; received ")
.append(__val_ac66f0.getClass()).toString());
}
}
}
software.amazon.jsii.Kernel.set(this, "config", java.util.Objects.requireNonNull(value, "config is required"));
}
/**
* The Amazon Resource Name (ARN) for the instance.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public @org.jetbrains.annotations.NotNull java.lang.String getInstanceArn() {
return software.amazon.jsii.Kernel.get(this, "instanceArn", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
}
/**
* The Amazon Resource Name (ARN) for the instance.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public void setInstanceArn(final @org.jetbrains.annotations.NotNull java.lang.String value) {
software.amazon.jsii.Kernel.set(this, "instanceArn", java.util.Objects.requireNonNull(value, "instanceArn is required"));
}
/**
* The name for the hours of operation.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public @org.jetbrains.annotations.NotNull java.lang.String getName() {
return software.amazon.jsii.Kernel.get(this, "name", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
}
/**
* The name for the hours of operation.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public void setName(final @org.jetbrains.annotations.NotNull java.lang.String value) {
software.amazon.jsii.Kernel.set(this, "name", java.util.Objects.requireNonNull(value, "name is required"));
}
/**
* The time zone for the hours of operation.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public @org.jetbrains.annotations.NotNull java.lang.String getTimeZone() {
return software.amazon.jsii.Kernel.get(this, "timeZone", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
}
/**
* The time zone for the hours of operation.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public void setTimeZone(final @org.jetbrains.annotations.NotNull java.lang.String value) {
software.amazon.jsii.Kernel.set(this, "timeZone", java.util.Objects.requireNonNull(value, "timeZone is required"));
}
/**
* The description for the hours of operation.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public @org.jetbrains.annotations.Nullable java.lang.String getDescription() {
return software.amazon.jsii.Kernel.get(this, "description", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
}
/**
* The description for the hours of operation.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public void setDescription(final @org.jetbrains.annotations.Nullable java.lang.String value) {
software.amazon.jsii.Kernel.set(this, "description", value);
}
/**
* Contains information about the hours of operation.
*
* Example:
*
*
* // The code below shows an example of how to instantiate this type.
* // The values are placeholders you should change.
* import software.amazon.awscdk.services.connect.*;
* HoursOfOperationConfigProperty hoursOfOperationConfigProperty = HoursOfOperationConfigProperty.builder()
* .day("day")
* .endTime(HoursOfOperationTimeSliceProperty.builder()
* .hours(123)
* .minutes(123)
* .build())
* .startTime(HoursOfOperationTimeSliceProperty.builder()
* .hours(123)
* .minutes(123)
* .build())
* .build();
*
*/
@software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.connect.$Module.class, fqn = "@aws-cdk/aws-connect.CfnHoursOfOperation.HoursOfOperationConfigProperty")
@software.amazon.jsii.Jsii.Proxy(HoursOfOperationConfigProperty.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static interface HoursOfOperationConfigProperty extends software.amazon.jsii.JsiiSerializable {
/**
* The day that the hours of operation applies to.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@org.jetbrains.annotations.NotNull java.lang.String getDay();
/**
* The end time that your contact center closes.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@org.jetbrains.annotations.NotNull java.lang.Object getEndTime();
/**
* The start time that your contact center opens.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@org.jetbrains.annotations.NotNull java.lang.Object getStartTime();
/**
* @return a {@link Builder} of {@link HoursOfOperationConfigProperty}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
static Builder builder() {
return new Builder();
}
/**
* A builder for {@link HoursOfOperationConfigProperty}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static final class Builder implements software.amazon.jsii.Builder {
java.lang.String day;
java.lang.Object endTime;
java.lang.Object startTime;
/**
* Sets the value of {@link HoursOfOperationConfigProperty#getDay}
* @param day The day that the hours of operation applies to. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder day(java.lang.String day) {
this.day = day;
return this;
}
/**
* Sets the value of {@link HoursOfOperationConfigProperty#getEndTime}
* @param endTime The end time that your contact center closes. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder endTime(software.amazon.awscdk.core.IResolvable endTime) {
this.endTime = endTime;
return this;
}
/**
* Sets the value of {@link HoursOfOperationConfigProperty#getEndTime}
* @param endTime The end time that your contact center closes. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder endTime(software.amazon.awscdk.services.connect.CfnHoursOfOperation.HoursOfOperationTimeSliceProperty endTime) {
this.endTime = endTime;
return this;
}
/**
* Sets the value of {@link HoursOfOperationConfigProperty#getStartTime}
* @param startTime The start time that your contact center opens. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder startTime(software.amazon.awscdk.core.IResolvable startTime) {
this.startTime = startTime;
return this;
}
/**
* Sets the value of {@link HoursOfOperationConfigProperty#getStartTime}
* @param startTime The start time that your contact center opens. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder startTime(software.amazon.awscdk.services.connect.CfnHoursOfOperation.HoursOfOperationTimeSliceProperty startTime) {
this.startTime = startTime;
return this;
}
/**
* Builds the configured instance.
* @return a new instance of {@link HoursOfOperationConfigProperty}
* @throws NullPointerException if any required attribute was not provided
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@Override
public HoursOfOperationConfigProperty build() {
return new Jsii$Proxy(this);
}
}
/**
* An implementation for {@link HoursOfOperationConfigProperty}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@software.amazon.jsii.Internal
final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements HoursOfOperationConfigProperty {
private final java.lang.String day;
private final java.lang.Object endTime;
private final java.lang.Object startTime;
/**
* 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.day = software.amazon.jsii.Kernel.get(this, "day", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.endTime = software.amazon.jsii.Kernel.get(this, "endTime", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.startTime = software.amazon.jsii.Kernel.get(this, "startTime", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
}
/**
* Constructor that initializes the object based on literal property values passed by the {@link Builder}.
*/
protected Jsii$Proxy(final Builder builder) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
this.day = java.util.Objects.requireNonNull(builder.day, "day is required");
this.endTime = java.util.Objects.requireNonNull(builder.endTime, "endTime is required");
this.startTime = java.util.Objects.requireNonNull(builder.startTime, "startTime is required");
}
@Override
public final java.lang.String getDay() {
return this.day;
}
@Override
public final java.lang.Object getEndTime() {
return this.endTime;
}
@Override
public final java.lang.Object getStartTime() {
return this.startTime;
}
@Override
@software.amazon.jsii.Internal
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();
data.set("day", om.valueToTree(this.getDay()));
data.set("endTime", om.valueToTree(this.getEndTime()));
data.set("startTime", om.valueToTree(this.getStartTime()));
final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
struct.set("fqn", om.valueToTree("@aws-cdk/aws-connect.CfnHoursOfOperation.HoursOfOperationConfigProperty"));
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 final boolean equals(final Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
HoursOfOperationConfigProperty.Jsii$Proxy that = (HoursOfOperationConfigProperty.Jsii$Proxy) o;
if (!day.equals(that.day)) return false;
if (!endTime.equals(that.endTime)) return false;
return this.startTime.equals(that.startTime);
}
@Override
public final int hashCode() {
int result = this.day.hashCode();
result = 31 * result + (this.endTime.hashCode());
result = 31 * result + (this.startTime.hashCode());
return result;
}
}
}
/**
* The start time or end time for an hours of operation.
*
* Example:
*
*
* // The code below shows an example of how to instantiate this type.
* // The values are placeholders you should change.
* import software.amazon.awscdk.services.connect.*;
* HoursOfOperationTimeSliceProperty hoursOfOperationTimeSliceProperty = HoursOfOperationTimeSliceProperty.builder()
* .hours(123)
* .minutes(123)
* .build();
*
*/
@software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.connect.$Module.class, fqn = "@aws-cdk/aws-connect.CfnHoursOfOperation.HoursOfOperationTimeSliceProperty")
@software.amazon.jsii.Jsii.Proxy(HoursOfOperationTimeSliceProperty.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static interface HoursOfOperationTimeSliceProperty extends software.amazon.jsii.JsiiSerializable {
/**
* The hours.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@org.jetbrains.annotations.NotNull java.lang.Number getHours();
/**
* The minutes.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@org.jetbrains.annotations.NotNull java.lang.Number getMinutes();
/**
* @return a {@link Builder} of {@link HoursOfOperationTimeSliceProperty}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
static Builder builder() {
return new Builder();
}
/**
* A builder for {@link HoursOfOperationTimeSliceProperty}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static final class Builder implements software.amazon.jsii.Builder {
java.lang.Number hours;
java.lang.Number minutes;
/**
* Sets the value of {@link HoursOfOperationTimeSliceProperty#getHours}
* @param hours The hours. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder hours(java.lang.Number hours) {
this.hours = hours;
return this;
}
/**
* Sets the value of {@link HoursOfOperationTimeSliceProperty#getMinutes}
* @param minutes The minutes. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder minutes(java.lang.Number minutes) {
this.minutes = minutes;
return this;
}
/**
* Builds the configured instance.
* @return a new instance of {@link HoursOfOperationTimeSliceProperty}
* @throws NullPointerException if any required attribute was not provided
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@Override
public HoursOfOperationTimeSliceProperty build() {
return new Jsii$Proxy(this);
}
}
/**
* An implementation for {@link HoursOfOperationTimeSliceProperty}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@software.amazon.jsii.Internal
final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements HoursOfOperationTimeSliceProperty {
private final java.lang.Number hours;
private final java.lang.Number minutes;
/**
* 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.hours = software.amazon.jsii.Kernel.get(this, "hours", software.amazon.jsii.NativeType.forClass(java.lang.Number.class));
this.minutes = software.amazon.jsii.Kernel.get(this, "minutes", software.amazon.jsii.NativeType.forClass(java.lang.Number.class));
}
/**
* Constructor that initializes the object based on literal property values passed by the {@link Builder}.
*/
protected Jsii$Proxy(final Builder builder) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
this.hours = java.util.Objects.requireNonNull(builder.hours, "hours is required");
this.minutes = java.util.Objects.requireNonNull(builder.minutes, "minutes is required");
}
@Override
public final java.lang.Number getHours() {
return this.hours;
}
@Override
public final java.lang.Number getMinutes() {
return this.minutes;
}
@Override
@software.amazon.jsii.Internal
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();
data.set("hours", om.valueToTree(this.getHours()));
data.set("minutes", om.valueToTree(this.getMinutes()));
final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
struct.set("fqn", om.valueToTree("@aws-cdk/aws-connect.CfnHoursOfOperation.HoursOfOperationTimeSliceProperty"));
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 final boolean equals(final Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
HoursOfOperationTimeSliceProperty.Jsii$Proxy that = (HoursOfOperationTimeSliceProperty.Jsii$Proxy) o;
if (!hours.equals(that.hours)) return false;
return this.minutes.equals(that.minutes);
}
@Override
public final int hashCode() {
int result = this.hours.hashCode();
result = 31 * result + (this.minutes.hashCode());
return result;
}
}
}
/**
* A fluent builder for {@link software.amazon.awscdk.services.connect.CfnHoursOfOperation}.
*/
@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.connect.CfnHoursOfOperationProps.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.connect.CfnHoursOfOperationProps.Builder();
}
/**
* Configuration information for the hours of operation.
*
* @return {@code this}
* @param config Configuration information for the hours of operation. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder config(final software.amazon.awscdk.core.IResolvable config) {
this.props.config(config);
return this;
}
/**
* Configuration information for the hours of operation.
*
* @return {@code this}
* @param config Configuration information for the hours of operation. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder config(final java.util.List extends java.lang.Object> config) {
this.props.config(config);
return this;
}
/**
* The Amazon Resource Name (ARN) for the instance.
*
* @return {@code this}
* @param instanceArn The Amazon Resource Name (ARN) for the instance. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder instanceArn(final java.lang.String instanceArn) {
this.props.instanceArn(instanceArn);
return this;
}
/**
* The name for the hours of operation.
*
* @return {@code this}
* @param name The name for the hours of operation. 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;
}
/**
* The time zone for the hours of operation.
*
* @return {@code this}
* @param timeZone The time zone for the hours of operation. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder timeZone(final java.lang.String timeZone) {
this.props.timeZone(timeZone);
return this;
}
/**
* The description for the hours of operation.
*
* @return {@code this}
* @param description The description for the hours of operation. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder description(final java.lang.String description) {
this.props.description(description);
return this;
}
/**
* The tags used to organize, track, or control access for this resource.
*
* For example, { "tags": {"key1":"value1", "key2":"value2"} }.
*
* @return {@code this}
* @param tags The tags used to organize, track, or control access for this resource. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder tags(final java.util.List extends software.amazon.awscdk.core.CfnTag> tags) {
this.props.tags(tags);
return this;
}
/**
* @returns a newly built instance of {@link software.amazon.awscdk.services.connect.CfnHoursOfOperation}.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@Override
public software.amazon.awscdk.services.connect.CfnHoursOfOperation build() {
return new software.amazon.awscdk.services.connect.CfnHoursOfOperation(
this.scope,
this.id,
this.props.build()
);
}
}
}