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

com.aliyun.ros.cdk.cloudfw.VpcFirewallControlPolicyProps Maven / Gradle / Ivy

Go to download

Aliyun SDK Copyright (C) Alibaba Cloud Computing All rights reserved. http://www.aliyun.com

There is a newer version: 1.4.0
Show newest version
package com.aliyun.ros.cdk.cloudfw;

/**
 * Properties for defining a VpcFirewallControlPolicy.
 * 

* See https://www.alibabacloud.com/help/ros/developer-reference/aliyun-cloudfw-vpcfirewallcontrolpolicy */ @javax.annotation.Generated(value = "jsii-pacmak/1.85.0 (build 08ee592)", date = "2024-12-13T06:45:05.484Z") @software.amazon.jsii.Jsii(module = com.aliyun.ros.cdk.cloudfw.$Module.class, fqn = "@alicloud/ros-cdk-cloudfw.VpcFirewallControlPolicyProps") @software.amazon.jsii.Jsii.Proxy(VpcFirewallControlPolicyProps.Jsii$Proxy.class) public interface VpcFirewallControlPolicyProps extends software.amazon.jsii.JsiiSerializable { /** * Property aclAction: The action that Cloud Firewall performs on the traffic. *

* Valid values: * accept: allows the traffic. * drop: denies the traffic. * log: monitors the traffic. */ @org.jetbrains.annotations.NotNull java.lang.Object getAclAction(); /** * Property description: The description of the access control policy. */ @org.jetbrains.annotations.NotNull java.lang.Object getDescription(); /** * Property destination: The destination address in the access control policy. *

* Set this parameter in the following way: * If the DestinationType parameter is set to net, set the value to a Classless Inter-Domain Routing (CIDR) block. * Example: 10.2.3.0/24. * If the DestinationType parameter is set to group, set the value to the name of an address book. * Example: db_group. * If the DestinationType parameter is set to domain, set the value to a domain name. * Example: *.aliyuncs.com. */ @org.jetbrains.annotations.NotNull java.lang.Object getDestination(); /** * Property destinationType: The type of the destination address in the access control policy. *

* Valid values: * net: CIDR block * group: address book * domain: domain name */ @org.jetbrains.annotations.NotNull java.lang.Object getDestinationType(); /** * Property newOrder: The priority of the access control policy. *

* The priority value starts from 1. A smaller priority value indicates a higher priority. * Note The value of -1 indicates the lowest priority. */ @org.jetbrains.annotations.NotNull java.lang.Object getNewOrder(); /** * Property proto: The type of the security protocol in the access control policy. */ @org.jetbrains.annotations.NotNull java.lang.Object getProto(); /** * Property source: The source address in the access control policy. *

* If the SourceType parameter is set to net, set the value to a CIDR block. Example: 10.2.3.0/24. * If the SourceType parameter is set to group, set the value to the name of an address book. Example: db_group. */ @org.jetbrains.annotations.NotNull java.lang.Object getSource(); /** * Property sourceType: The type of the source address in the access control policy. *

* Valid values: * net: CIDR block * group: address book */ @org.jetbrains.annotations.NotNull java.lang.Object getSourceType(); /** * Property vpcFirewallId: The ID of the policy group to which you want to add the access control policy. *

* If the VPC firewall is used to protect CEN, set the value to the ID of the CEN instance * that the VPC firewall protects. Example: cen-ervw5jbw1234*****. * If the VPC firewall is used to protect Express Connect, set the value to the ID of * the VPC firewall instance. Example: vfw-a42bbb748c91234*****. * Note You can call the DescribeVpcFirewallAclGroupList operation to query the ID of the policy group. */ @org.jetbrains.annotations.NotNull java.lang.Object getVpcFirewallId(); /** * Property applicationName: The application type that the access control policy supports. *

* Valid values: * ANY (indicates that all application types are supported) * FTP * HTTP * HTTPS * MySQL * SMTP * SMTPS * RDP * VNC * SSH * Redis * MQTT * MongoDB * Memcache * SSL */ default @org.jetbrains.annotations.Nullable java.lang.Object getApplicationName() { return null; } /** * Property applicationNameList: List of application types supported by the access control policy. */ default @org.jetbrains.annotations.Nullable java.lang.Object getApplicationNameList() { return null; } /** * Property destPort: The destination port in the access control policy. *

* Note This parameter must be specified if the DestPortType parameter is set to port. */ default @org.jetbrains.annotations.Nullable java.lang.Object getDestPort() { return null; } /** * Property destPortGroup: The address book of destination ports in the access control policy. *

* Note This parameter must be specified if the DestPortType parameter is set to group. */ default @org.jetbrains.annotations.Nullable java.lang.Object getDestPortGroup() { return null; } /** * Property destPortType: The type of the destination port in the access control policy. *

* Valid values: * port: port * group: address book */ default @org.jetbrains.annotations.Nullable java.lang.Object getDestPortType() { return null; } /** * Property endTime: The end time of the policy validity period for an access control policy. *

* It is represented in a second-level timestamp format. It must be the whole hour or half hour, and at least half an hour greater than the start time. * Notes: When RepeatType is Permanent, EndTime is empty. When RepeatType is None, Daily, Weekly, Monthly, EndTime must havea value, and you need to set the end time. */ default @org.jetbrains.annotations.Nullable java.lang.Object getEndTime() { return null; } /** * Property lang: The natural language of the request and response. *

* Valid values: * zh: Chinese * en: English */ default @org.jetbrains.annotations.Nullable java.lang.Object getLang() { return null; } /** * Property memberUid: Member account UID of current Alibaba Cloud account. */ default @org.jetbrains.annotations.Nullable java.lang.Object getMemberUid() { return null; } /** * Property regionId: Region ID. *

* Default to cn-hangzhou. */ default @org.jetbrains.annotations.Nullable java.lang.Object getRegionId() { return null; } /** * Property release: The enabled state of the access control policy. *

* This policy is enabled by default when it is created. Value: *

*

    *
  • true: Access control policy is enabled
  • *
  • false: Access control policy is not enabled
  • *
*/ default @org.jetbrains.annotations.Nullable java.lang.Object getRelease() { return null; } /** * Property repeatDays: A collection of repeated dates of policy validity for an access control policy. *

* When RepeatType is Permanent, None, and Daily, RepeatDays is an empty set. For example: [] * When RepeatType is Weekly, RepeatDays cannot be empty. Example: [0, 6] * Notes: When RepeatType is set to Weekly, RepeatDays is not allowed. * When RepeatType is Monthly, RepeatDays cannot be empty. Examples: [1, 31] * Notes: When RepeatType is set to Monthly, RepeatDays is not allowed to repeat. */ default @org.jetbrains.annotations.Nullable java.lang.Object getRepeatDays() { return null; } /** * Property repeatEndTime: The repeated end time of the policy validity period for an access control policy. *

* For example: 08:00, must be the hour or half time, and less than the repeat start time at least half an hour. * Notes: When RepeatType is Permanent and None, RepeatEndTime is empty. When RepeatType is Daily, Weekly, or Monthly, RepeatEndTime musthave a value, and you need to set the repeat end time. */ default @org.jetbrains.annotations.Nullable java.lang.Object getRepeatEndTime() { return null; } /** * Property repeatStartTime: The repeated start time of the policy validity period for an access control policy. *

* For example: 08:00, must be the hour or half time, and less than the repeat end time at least half an hour. * Notes: When RepeatType is Permanent and None, RepeatStartTime is empty. When RepeatType is Daily, Weekly, or Monthly, RepeatStartTime must have a value, and you need to set the repeat start time. */ default @org.jetbrains.annotations.Nullable java.lang.Object getRepeatStartTime() { return null; } /** * Property repeatType: The repetition type of the policy validity period for an access control policy. *

* Valid values: *

*

    *
  • Permanent (default)
  • *
  • None
  • *
  • Daily
  • *
  • Weekly
  • *
  • Monthly.
  • *
*/ default @org.jetbrains.annotations.Nullable java.lang.Object getRepeatType() { return null; } /** * Property startTime: The start time of the policy validity period for an access control policy. *

* It is represented in a second-level timestamp format. It must be the whole hour or half hour, and at least half an hour less than the end time. * Notes: When RepeatType is Permanent, StartTime is empty. When RepeatType is None, Daily, Weekly, Monthly, StartTime must have a value, and you need to set the start time. */ default @org.jetbrains.annotations.Nullable java.lang.Object getStartTime() { return null; } /** * @return a {@link Builder} of {@link VpcFirewallControlPolicyProps} */ static Builder builder() { return new Builder(); } /** * A builder for {@link VpcFirewallControlPolicyProps} */ public static final class Builder implements software.amazon.jsii.Builder { java.lang.Object aclAction; java.lang.Object description; java.lang.Object destination; java.lang.Object destinationType; java.lang.Object newOrder; java.lang.Object proto; java.lang.Object source; java.lang.Object sourceType; java.lang.Object vpcFirewallId; java.lang.Object applicationName; java.lang.Object applicationNameList; java.lang.Object destPort; java.lang.Object destPortGroup; java.lang.Object destPortType; java.lang.Object endTime; java.lang.Object lang; java.lang.Object memberUid; java.lang.Object regionId; java.lang.Object release; java.lang.Object repeatDays; java.lang.Object repeatEndTime; java.lang.Object repeatStartTime; java.lang.Object repeatType; java.lang.Object startTime; /** * Sets the value of {@link VpcFirewallControlPolicyProps#getAclAction} * @param aclAction Property aclAction: The action that Cloud Firewall performs on the traffic. This parameter is required. * Valid values: * accept: allows the traffic. * drop: denies the traffic. * log: monitors the traffic. * @return {@code this} */ public Builder aclAction(java.lang.String aclAction) { this.aclAction = aclAction; return this; } /** * Sets the value of {@link VpcFirewallControlPolicyProps#getAclAction} * @param aclAction Property aclAction: The action that Cloud Firewall performs on the traffic. This parameter is required. * Valid values: * accept: allows the traffic. * drop: denies the traffic. * log: monitors the traffic. * @return {@code this} */ public Builder aclAction(com.aliyun.ros.cdk.core.IResolvable aclAction) { this.aclAction = aclAction; return this; } /** * Sets the value of {@link VpcFirewallControlPolicyProps#getDescription} * @param description Property description: The description of the access control policy. This parameter is required. * @return {@code this} */ public Builder description(java.lang.String description) { this.description = description; return this; } /** * Sets the value of {@link VpcFirewallControlPolicyProps#getDescription} * @param description Property description: The description of the access control policy. This parameter is required. * @return {@code this} */ public Builder description(com.aliyun.ros.cdk.core.IResolvable description) { this.description = description; return this; } /** * Sets the value of {@link VpcFirewallControlPolicyProps#getDestination} * @param destination Property destination: The destination address in the access control policy. This parameter is required. * Set this parameter in the following way: * If the DestinationType parameter is set to net, set the value to a Classless Inter-Domain Routing (CIDR) block. * Example: 10.2.3.0/24. * If the DestinationType parameter is set to group, set the value to the name of an address book. * Example: db_group. * If the DestinationType parameter is set to domain, set the value to a domain name. * Example: *.aliyuncs.com. * @return {@code this} */ public Builder destination(java.lang.String destination) { this.destination = destination; return this; } /** * Sets the value of {@link VpcFirewallControlPolicyProps#getDestination} * @param destination Property destination: The destination address in the access control policy. This parameter is required. * Set this parameter in the following way: * If the DestinationType parameter is set to net, set the value to a Classless Inter-Domain Routing (CIDR) block. * Example: 10.2.3.0/24. * If the DestinationType parameter is set to group, set the value to the name of an address book. * Example: db_group. * If the DestinationType parameter is set to domain, set the value to a domain name. * Example: *.aliyuncs.com. * @return {@code this} */ public Builder destination(com.aliyun.ros.cdk.core.IResolvable destination) { this.destination = destination; return this; } /** * Sets the value of {@link VpcFirewallControlPolicyProps#getDestinationType} * @param destinationType Property destinationType: The type of the destination address in the access control policy. This parameter is required. * Valid values: * net: CIDR block * group: address book * domain: domain name * @return {@code this} */ public Builder destinationType(java.lang.String destinationType) { this.destinationType = destinationType; return this; } /** * Sets the value of {@link VpcFirewallControlPolicyProps#getDestinationType} * @param destinationType Property destinationType: The type of the destination address in the access control policy. This parameter is required. * Valid values: * net: CIDR block * group: address book * domain: domain name * @return {@code this} */ public Builder destinationType(com.aliyun.ros.cdk.core.IResolvable destinationType) { this.destinationType = destinationType; return this; } /** * Sets the value of {@link VpcFirewallControlPolicyProps#getNewOrder} * @param newOrder Property newOrder: The priority of the access control policy. This parameter is required. * The priority value starts from 1. A smaller priority value indicates a higher priority. * Note The value of -1 indicates the lowest priority. * @return {@code this} */ public Builder newOrder(java.lang.String newOrder) { this.newOrder = newOrder; return this; } /** * Sets the value of {@link VpcFirewallControlPolicyProps#getNewOrder} * @param newOrder Property newOrder: The priority of the access control policy. This parameter is required. * The priority value starts from 1. A smaller priority value indicates a higher priority. * Note The value of -1 indicates the lowest priority. * @return {@code this} */ public Builder newOrder(com.aliyun.ros.cdk.core.IResolvable newOrder) { this.newOrder = newOrder; return this; } /** * Sets the value of {@link VpcFirewallControlPolicyProps#getProto} * @param proto Property proto: The type of the security protocol in the access control policy. This parameter is required. * @return {@code this} */ public Builder proto(java.lang.String proto) { this.proto = proto; return this; } /** * Sets the value of {@link VpcFirewallControlPolicyProps#getProto} * @param proto Property proto: The type of the security protocol in the access control policy. This parameter is required. * @return {@code this} */ public Builder proto(com.aliyun.ros.cdk.core.IResolvable proto) { this.proto = proto; return this; } /** * Sets the value of {@link VpcFirewallControlPolicyProps#getSource} * @param source Property source: The source address in the access control policy. This parameter is required. * If the SourceType parameter is set to net, set the value to a CIDR block. Example: 10.2.3.0/24. * If the SourceType parameter is set to group, set the value to the name of an address book. Example: db_group. * @return {@code this} */ public Builder source(java.lang.String source) { this.source = source; return this; } /** * Sets the value of {@link VpcFirewallControlPolicyProps#getSource} * @param source Property source: The source address in the access control policy. This parameter is required. * If the SourceType parameter is set to net, set the value to a CIDR block. Example: 10.2.3.0/24. * If the SourceType parameter is set to group, set the value to the name of an address book. Example: db_group. * @return {@code this} */ public Builder source(com.aliyun.ros.cdk.core.IResolvable source) { this.source = source; return this; } /** * Sets the value of {@link VpcFirewallControlPolicyProps#getSourceType} * @param sourceType Property sourceType: The type of the source address in the access control policy. This parameter is required. * Valid values: * net: CIDR block * group: address book * @return {@code this} */ public Builder sourceType(java.lang.String sourceType) { this.sourceType = sourceType; return this; } /** * Sets the value of {@link VpcFirewallControlPolicyProps#getSourceType} * @param sourceType Property sourceType: The type of the source address in the access control policy. This parameter is required. * Valid values: * net: CIDR block * group: address book * @return {@code this} */ public Builder sourceType(com.aliyun.ros.cdk.core.IResolvable sourceType) { this.sourceType = sourceType; return this; } /** * Sets the value of {@link VpcFirewallControlPolicyProps#getVpcFirewallId} * @param vpcFirewallId Property vpcFirewallId: The ID of the policy group to which you want to add the access control policy. This parameter is required. * If the VPC firewall is used to protect CEN, set the value to the ID of the CEN instance * that the VPC firewall protects. Example: cen-ervw5jbw1234*****. * If the VPC firewall is used to protect Express Connect, set the value to the ID of * the VPC firewall instance. Example: vfw-a42bbb748c91234*****. * Note You can call the DescribeVpcFirewallAclGroupList operation to query the ID of the policy group. * @return {@code this} */ public Builder vpcFirewallId(java.lang.String vpcFirewallId) { this.vpcFirewallId = vpcFirewallId; return this; } /** * Sets the value of {@link VpcFirewallControlPolicyProps#getVpcFirewallId} * @param vpcFirewallId Property vpcFirewallId: The ID of the policy group to which you want to add the access control policy. This parameter is required. * If the VPC firewall is used to protect CEN, set the value to the ID of the CEN instance * that the VPC firewall protects. Example: cen-ervw5jbw1234*****. * If the VPC firewall is used to protect Express Connect, set the value to the ID of * the VPC firewall instance. Example: vfw-a42bbb748c91234*****. * Note You can call the DescribeVpcFirewallAclGroupList operation to query the ID of the policy group. * @return {@code this} */ public Builder vpcFirewallId(com.aliyun.ros.cdk.core.IResolvable vpcFirewallId) { this.vpcFirewallId = vpcFirewallId; return this; } /** * Sets the value of {@link VpcFirewallControlPolicyProps#getApplicationName} * @param applicationName Property applicationName: The application type that the access control policy supports. * Valid values: * ANY (indicates that all application types are supported) * FTP * HTTP * HTTPS * MySQL * SMTP * SMTPS * RDP * VNC * SSH * Redis * MQTT * MongoDB * Memcache * SSL * @return {@code this} */ public Builder applicationName(java.lang.String applicationName) { this.applicationName = applicationName; return this; } /** * Sets the value of {@link VpcFirewallControlPolicyProps#getApplicationName} * @param applicationName Property applicationName: The application type that the access control policy supports. * Valid values: * ANY (indicates that all application types are supported) * FTP * HTTP * HTTPS * MySQL * SMTP * SMTPS * RDP * VNC * SSH * Redis * MQTT * MongoDB * Memcache * SSL * @return {@code this} */ public Builder applicationName(com.aliyun.ros.cdk.core.IResolvable applicationName) { this.applicationName = applicationName; return this; } /** * Sets the value of {@link VpcFirewallControlPolicyProps#getApplicationNameList} * @param applicationNameList Property applicationNameList: List of application types supported by the access control policy. * @return {@code this} */ public Builder applicationNameList(com.aliyun.ros.cdk.core.IResolvable applicationNameList) { this.applicationNameList = applicationNameList; return this; } /** * Sets the value of {@link VpcFirewallControlPolicyProps#getApplicationNameList} * @param applicationNameList Property applicationNameList: List of application types supported by the access control policy. * @return {@code this} */ public Builder applicationNameList(java.util.List applicationNameList) { this.applicationNameList = applicationNameList; return this; } /** * Sets the value of {@link VpcFirewallControlPolicyProps#getDestPort} * @param destPort Property destPort: The destination port in the access control policy. * Note This parameter must be specified if the DestPortType parameter is set to port. * @return {@code this} */ public Builder destPort(java.lang.String destPort) { this.destPort = destPort; return this; } /** * Sets the value of {@link VpcFirewallControlPolicyProps#getDestPort} * @param destPort Property destPort: The destination port in the access control policy. * Note This parameter must be specified if the DestPortType parameter is set to port. * @return {@code this} */ public Builder destPort(com.aliyun.ros.cdk.core.IResolvable destPort) { this.destPort = destPort; return this; } /** * Sets the value of {@link VpcFirewallControlPolicyProps#getDestPortGroup} * @param destPortGroup Property destPortGroup: The address book of destination ports in the access control policy. * Note This parameter must be specified if the DestPortType parameter is set to group. * @return {@code this} */ public Builder destPortGroup(java.lang.String destPortGroup) { this.destPortGroup = destPortGroup; return this; } /** * Sets the value of {@link VpcFirewallControlPolicyProps#getDestPortGroup} * @param destPortGroup Property destPortGroup: The address book of destination ports in the access control policy. * Note This parameter must be specified if the DestPortType parameter is set to group. * @return {@code this} */ public Builder destPortGroup(com.aliyun.ros.cdk.core.IResolvable destPortGroup) { this.destPortGroup = destPortGroup; return this; } /** * Sets the value of {@link VpcFirewallControlPolicyProps#getDestPortType} * @param destPortType Property destPortType: The type of the destination port in the access control policy. * Valid values: * port: port * group: address book * @return {@code this} */ public Builder destPortType(java.lang.String destPortType) { this.destPortType = destPortType; return this; } /** * Sets the value of {@link VpcFirewallControlPolicyProps#getDestPortType} * @param destPortType Property destPortType: The type of the destination port in the access control policy. * Valid values: * port: port * group: address book * @return {@code this} */ public Builder destPortType(com.aliyun.ros.cdk.core.IResolvable destPortType) { this.destPortType = destPortType; return this; } /** * Sets the value of {@link VpcFirewallControlPolicyProps#getEndTime} * @param endTime Property endTime: The end time of the policy validity period for an access control policy. * It is represented in a second-level timestamp format. It must be the whole hour or half hour, and at least half an hour greater than the start time. * Notes: When RepeatType is Permanent, EndTime is empty. When RepeatType is None, Daily, Weekly, Monthly, EndTime must havea value, and you need to set the end time. * @return {@code this} */ public Builder endTime(java.lang.Number endTime) { this.endTime = endTime; return this; } /** * Sets the value of {@link VpcFirewallControlPolicyProps#getEndTime} * @param endTime Property endTime: The end time of the policy validity period for an access control policy. * It is represented in a second-level timestamp format. It must be the whole hour or half hour, and at least half an hour greater than the start time. * Notes: When RepeatType is Permanent, EndTime is empty. When RepeatType is None, Daily, Weekly, Monthly, EndTime must havea value, and you need to set the end time. * @return {@code this} */ public Builder endTime(com.aliyun.ros.cdk.core.IResolvable endTime) { this.endTime = endTime; return this; } /** * Sets the value of {@link VpcFirewallControlPolicyProps#getLang} * @param lang Property lang: The natural language of the request and response. * Valid values: * zh: Chinese * en: English * @return {@code this} */ public Builder lang(java.lang.String lang) { this.lang = lang; return this; } /** * Sets the value of {@link VpcFirewallControlPolicyProps#getLang} * @param lang Property lang: The natural language of the request and response. * Valid values: * zh: Chinese * en: English * @return {@code this} */ public Builder lang(com.aliyun.ros.cdk.core.IResolvable lang) { this.lang = lang; return this; } /** * Sets the value of {@link VpcFirewallControlPolicyProps#getMemberUid} * @param memberUid Property memberUid: Member account UID of current Alibaba Cloud account. * @return {@code this} */ public Builder memberUid(java.lang.String memberUid) { this.memberUid = memberUid; return this; } /** * Sets the value of {@link VpcFirewallControlPolicyProps#getMemberUid} * @param memberUid Property memberUid: Member account UID of current Alibaba Cloud account. * @return {@code this} */ public Builder memberUid(com.aliyun.ros.cdk.core.IResolvable memberUid) { this.memberUid = memberUid; return this; } /** * Sets the value of {@link VpcFirewallControlPolicyProps#getRegionId} * @param regionId Property regionId: Region ID. * Default to cn-hangzhou. * @return {@code this} */ public Builder regionId(java.lang.String regionId) { this.regionId = regionId; return this; } /** * Sets the value of {@link VpcFirewallControlPolicyProps#getRegionId} * @param regionId Property regionId: Region ID. * Default to cn-hangzhou. * @return {@code this} */ public Builder regionId(com.aliyun.ros.cdk.core.IResolvable regionId) { this.regionId = regionId; return this; } /** * Sets the value of {@link VpcFirewallControlPolicyProps#getRelease} * @param release Property release: The enabled state of the access control policy. * This policy is enabled by default when it is created. Value: *

*

    *
  • true: Access control policy is enabled
  • *
  • false: Access control policy is not enabled
  • *
* @return {@code this} */ public Builder release(java.lang.Boolean release) { this.release = release; return this; } /** * Sets the value of {@link VpcFirewallControlPolicyProps#getRelease} * @param release Property release: The enabled state of the access control policy. * This policy is enabled by default when it is created. Value: *

*

    *
  • true: Access control policy is enabled
  • *
  • false: Access control policy is not enabled
  • *
* @return {@code this} */ public Builder release(com.aliyun.ros.cdk.core.IResolvable release) { this.release = release; return this; } /** * Sets the value of {@link VpcFirewallControlPolicyProps#getRepeatDays} * @param repeatDays Property repeatDays: A collection of repeated dates of policy validity for an access control policy. * When RepeatType is Permanent, None, and Daily, RepeatDays is an empty set. For example: [] * When RepeatType is Weekly, RepeatDays cannot be empty. Example: [0, 6] * Notes: When RepeatType is set to Weekly, RepeatDays is not allowed. * When RepeatType is Monthly, RepeatDays cannot be empty. Examples: [1, 31] * Notes: When RepeatType is set to Monthly, RepeatDays is not allowed to repeat. * @return {@code this} */ public Builder repeatDays(com.aliyun.ros.cdk.core.IResolvable repeatDays) { this.repeatDays = repeatDays; return this; } /** * Sets the value of {@link VpcFirewallControlPolicyProps#getRepeatDays} * @param repeatDays Property repeatDays: A collection of repeated dates of policy validity for an access control policy. * When RepeatType is Permanent, None, and Daily, RepeatDays is an empty set. For example: [] * When RepeatType is Weekly, RepeatDays cannot be empty. Example: [0, 6] * Notes: When RepeatType is set to Weekly, RepeatDays is not allowed. * When RepeatType is Monthly, RepeatDays cannot be empty. Examples: [1, 31] * Notes: When RepeatType is set to Monthly, RepeatDays is not allowed to repeat. * @return {@code this} */ public Builder repeatDays(java.util.List repeatDays) { this.repeatDays = repeatDays; return this; } /** * Sets the value of {@link VpcFirewallControlPolicyProps#getRepeatEndTime} * @param repeatEndTime Property repeatEndTime: The repeated end time of the policy validity period for an access control policy. * For example: 08:00, must be the hour or half time, and less than the repeat start time at least half an hour. * Notes: When RepeatType is Permanent and None, RepeatEndTime is empty. When RepeatType is Daily, Weekly, or Monthly, RepeatEndTime musthave a value, and you need to set the repeat end time. * @return {@code this} */ public Builder repeatEndTime(java.lang.String repeatEndTime) { this.repeatEndTime = repeatEndTime; return this; } /** * Sets the value of {@link VpcFirewallControlPolicyProps#getRepeatEndTime} * @param repeatEndTime Property repeatEndTime: The repeated end time of the policy validity period for an access control policy. * For example: 08:00, must be the hour or half time, and less than the repeat start time at least half an hour. * Notes: When RepeatType is Permanent and None, RepeatEndTime is empty. When RepeatType is Daily, Weekly, or Monthly, RepeatEndTime musthave a value, and you need to set the repeat end time. * @return {@code this} */ public Builder repeatEndTime(com.aliyun.ros.cdk.core.IResolvable repeatEndTime) { this.repeatEndTime = repeatEndTime; return this; } /** * Sets the value of {@link VpcFirewallControlPolicyProps#getRepeatStartTime} * @param repeatStartTime Property repeatStartTime: The repeated start time of the policy validity period for an access control policy. * For example: 08:00, must be the hour or half time, and less than the repeat end time at least half an hour. * Notes: When RepeatType is Permanent and None, RepeatStartTime is empty. When RepeatType is Daily, Weekly, or Monthly, RepeatStartTime must have a value, and you need to set the repeat start time. * @return {@code this} */ public Builder repeatStartTime(java.lang.String repeatStartTime) { this.repeatStartTime = repeatStartTime; return this; } /** * Sets the value of {@link VpcFirewallControlPolicyProps#getRepeatStartTime} * @param repeatStartTime Property repeatStartTime: The repeated start time of the policy validity period for an access control policy. * For example: 08:00, must be the hour or half time, and less than the repeat end time at least half an hour. * Notes: When RepeatType is Permanent and None, RepeatStartTime is empty. When RepeatType is Daily, Weekly, or Monthly, RepeatStartTime must have a value, and you need to set the repeat start time. * @return {@code this} */ public Builder repeatStartTime(com.aliyun.ros.cdk.core.IResolvable repeatStartTime) { this.repeatStartTime = repeatStartTime; return this; } /** * Sets the value of {@link VpcFirewallControlPolicyProps#getRepeatType} * @param repeatType Property repeatType: The repetition type of the policy validity period for an access control policy. * Valid values: *

*

    *
  • Permanent (default)
  • *
  • None
  • *
  • Daily
  • *
  • Weekly
  • *
  • Monthly.
  • *
* @return {@code this} */ public Builder repeatType(java.lang.String repeatType) { this.repeatType = repeatType; return this; } /** * Sets the value of {@link VpcFirewallControlPolicyProps#getRepeatType} * @param repeatType Property repeatType: The repetition type of the policy validity period for an access control policy. * Valid values: *

*

    *
  • Permanent (default)
  • *
  • None
  • *
  • Daily
  • *
  • Weekly
  • *
  • Monthly.
  • *
* @return {@code this} */ public Builder repeatType(com.aliyun.ros.cdk.core.IResolvable repeatType) { this.repeatType = repeatType; return this; } /** * Sets the value of {@link VpcFirewallControlPolicyProps#getStartTime} * @param startTime Property startTime: The start time of the policy validity period for an access control policy. * It is represented in a second-level timestamp format. It must be the whole hour or half hour, and at least half an hour less than the end time. * Notes: When RepeatType is Permanent, StartTime is empty. When RepeatType is None, Daily, Weekly, Monthly, StartTime must have a value, and you need to set the start time. * @return {@code this} */ public Builder startTime(java.lang.Number startTime) { this.startTime = startTime; return this; } /** * Sets the value of {@link VpcFirewallControlPolicyProps#getStartTime} * @param startTime Property startTime: The start time of the policy validity period for an access control policy. * It is represented in a second-level timestamp format. It must be the whole hour or half hour, and at least half an hour less than the end time. * Notes: When RepeatType is Permanent, StartTime is empty. When RepeatType is None, Daily, Weekly, Monthly, StartTime must have a value, and you need to set the start time. * @return {@code this} */ public Builder startTime(com.aliyun.ros.cdk.core.IResolvable startTime) { this.startTime = startTime; return this; } /** * Builds the configured instance. * @return a new instance of {@link VpcFirewallControlPolicyProps} * @throws NullPointerException if any required attribute was not provided */ @Override public VpcFirewallControlPolicyProps build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link VpcFirewallControlPolicyProps} */ @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements VpcFirewallControlPolicyProps { private final java.lang.Object aclAction; private final java.lang.Object description; private final java.lang.Object destination; private final java.lang.Object destinationType; private final java.lang.Object newOrder; private final java.lang.Object proto; private final java.lang.Object source; private final java.lang.Object sourceType; private final java.lang.Object vpcFirewallId; private final java.lang.Object applicationName; private final java.lang.Object applicationNameList; private final java.lang.Object destPort; private final java.lang.Object destPortGroup; private final java.lang.Object destPortType; private final java.lang.Object endTime; private final java.lang.Object lang; private final java.lang.Object memberUid; private final java.lang.Object regionId; private final java.lang.Object release; private final java.lang.Object repeatDays; private final java.lang.Object repeatEndTime; private final java.lang.Object repeatStartTime; private final java.lang.Object repeatType; 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.aclAction = software.amazon.jsii.Kernel.get(this, "aclAction", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.description = software.amazon.jsii.Kernel.get(this, "description", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.destination = software.amazon.jsii.Kernel.get(this, "destination", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.destinationType = software.amazon.jsii.Kernel.get(this, "destinationType", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.newOrder = software.amazon.jsii.Kernel.get(this, "newOrder", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.proto = software.amazon.jsii.Kernel.get(this, "proto", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.source = software.amazon.jsii.Kernel.get(this, "source", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.sourceType = software.amazon.jsii.Kernel.get(this, "sourceType", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.vpcFirewallId = software.amazon.jsii.Kernel.get(this, "vpcFirewallId", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.applicationName = software.amazon.jsii.Kernel.get(this, "applicationName", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.applicationNameList = software.amazon.jsii.Kernel.get(this, "applicationNameList", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.destPort = software.amazon.jsii.Kernel.get(this, "destPort", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.destPortGroup = software.amazon.jsii.Kernel.get(this, "destPortGroup", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.destPortType = software.amazon.jsii.Kernel.get(this, "destPortType", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.endTime = software.amazon.jsii.Kernel.get(this, "endTime", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.lang = software.amazon.jsii.Kernel.get(this, "lang", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.memberUid = software.amazon.jsii.Kernel.get(this, "memberUid", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.regionId = software.amazon.jsii.Kernel.get(this, "regionId", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.release = software.amazon.jsii.Kernel.get(this, "release", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.repeatDays = software.amazon.jsii.Kernel.get(this, "repeatDays", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.repeatEndTime = software.amazon.jsii.Kernel.get(this, "repeatEndTime", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.repeatStartTime = software.amazon.jsii.Kernel.get(this, "repeatStartTime", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.repeatType = software.amazon.jsii.Kernel.get(this, "repeatType", 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.aclAction = java.util.Objects.requireNonNull(builder.aclAction, "aclAction is required"); this.description = java.util.Objects.requireNonNull(builder.description, "description is required"); this.destination = java.util.Objects.requireNonNull(builder.destination, "destination is required"); this.destinationType = java.util.Objects.requireNonNull(builder.destinationType, "destinationType is required"); this.newOrder = java.util.Objects.requireNonNull(builder.newOrder, "newOrder is required"); this.proto = java.util.Objects.requireNonNull(builder.proto, "proto is required"); this.source = java.util.Objects.requireNonNull(builder.source, "source is required"); this.sourceType = java.util.Objects.requireNonNull(builder.sourceType, "sourceType is required"); this.vpcFirewallId = java.util.Objects.requireNonNull(builder.vpcFirewallId, "vpcFirewallId is required"); this.applicationName = builder.applicationName; this.applicationNameList = builder.applicationNameList; this.destPort = builder.destPort; this.destPortGroup = builder.destPortGroup; this.destPortType = builder.destPortType; this.endTime = builder.endTime; this.lang = builder.lang; this.memberUid = builder.memberUid; this.regionId = builder.regionId; this.release = builder.release; this.repeatDays = builder.repeatDays; this.repeatEndTime = builder.repeatEndTime; this.repeatStartTime = builder.repeatStartTime; this.repeatType = builder.repeatType; this.startTime = builder.startTime; } @Override public final java.lang.Object getAclAction() { return this.aclAction; } @Override public final java.lang.Object getDescription() { return this.description; } @Override public final java.lang.Object getDestination() { return this.destination; } @Override public final java.lang.Object getDestinationType() { return this.destinationType; } @Override public final java.lang.Object getNewOrder() { return this.newOrder; } @Override public final java.lang.Object getProto() { return this.proto; } @Override public final java.lang.Object getSource() { return this.source; } @Override public final java.lang.Object getSourceType() { return this.sourceType; } @Override public final java.lang.Object getVpcFirewallId() { return this.vpcFirewallId; } @Override public final java.lang.Object getApplicationName() { return this.applicationName; } @Override public final java.lang.Object getApplicationNameList() { return this.applicationNameList; } @Override public final java.lang.Object getDestPort() { return this.destPort; } @Override public final java.lang.Object getDestPortGroup() { return this.destPortGroup; } @Override public final java.lang.Object getDestPortType() { return this.destPortType; } @Override public final java.lang.Object getEndTime() { return this.endTime; } @Override public final java.lang.Object getLang() { return this.lang; } @Override public final java.lang.Object getMemberUid() { return this.memberUid; } @Override public final java.lang.Object getRegionId() { return this.regionId; } @Override public final java.lang.Object getRelease() { return this.release; } @Override public final java.lang.Object getRepeatDays() { return this.repeatDays; } @Override public final java.lang.Object getRepeatEndTime() { return this.repeatEndTime; } @Override public final java.lang.Object getRepeatStartTime() { return this.repeatStartTime; } @Override public final java.lang.Object getRepeatType() { return this.repeatType; } @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("aclAction", om.valueToTree(this.getAclAction())); data.set("description", om.valueToTree(this.getDescription())); data.set("destination", om.valueToTree(this.getDestination())); data.set("destinationType", om.valueToTree(this.getDestinationType())); data.set("newOrder", om.valueToTree(this.getNewOrder())); data.set("proto", om.valueToTree(this.getProto())); data.set("source", om.valueToTree(this.getSource())); data.set("sourceType", om.valueToTree(this.getSourceType())); data.set("vpcFirewallId", om.valueToTree(this.getVpcFirewallId())); if (this.getApplicationName() != null) { data.set("applicationName", om.valueToTree(this.getApplicationName())); } if (this.getApplicationNameList() != null) { data.set("applicationNameList", om.valueToTree(this.getApplicationNameList())); } if (this.getDestPort() != null) { data.set("destPort", om.valueToTree(this.getDestPort())); } if (this.getDestPortGroup() != null) { data.set("destPortGroup", om.valueToTree(this.getDestPortGroup())); } if (this.getDestPortType() != null) { data.set("destPortType", om.valueToTree(this.getDestPortType())); } if (this.getEndTime() != null) { data.set("endTime", om.valueToTree(this.getEndTime())); } if (this.getLang() != null) { data.set("lang", om.valueToTree(this.getLang())); } if (this.getMemberUid() != null) { data.set("memberUid", om.valueToTree(this.getMemberUid())); } if (this.getRegionId() != null) { data.set("regionId", om.valueToTree(this.getRegionId())); } if (this.getRelease() != null) { data.set("release", om.valueToTree(this.getRelease())); } if (this.getRepeatDays() != null) { data.set("repeatDays", om.valueToTree(this.getRepeatDays())); } if (this.getRepeatEndTime() != null) { data.set("repeatEndTime", om.valueToTree(this.getRepeatEndTime())); } if (this.getRepeatStartTime() != null) { data.set("repeatStartTime", om.valueToTree(this.getRepeatStartTime())); } if (this.getRepeatType() != null) { data.set("repeatType", om.valueToTree(this.getRepeatType())); } if (this.getStartTime() != null) { 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("@alicloud/ros-cdk-cloudfw.VpcFirewallControlPolicyProps")); 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; VpcFirewallControlPolicyProps.Jsii$Proxy that = (VpcFirewallControlPolicyProps.Jsii$Proxy) o; if (!aclAction.equals(that.aclAction)) return false; if (!description.equals(that.description)) return false; if (!destination.equals(that.destination)) return false; if (!destinationType.equals(that.destinationType)) return false; if (!newOrder.equals(that.newOrder)) return false; if (!proto.equals(that.proto)) return false; if (!source.equals(that.source)) return false; if (!sourceType.equals(that.sourceType)) return false; if (!vpcFirewallId.equals(that.vpcFirewallId)) return false; if (this.applicationName != null ? !this.applicationName.equals(that.applicationName) : that.applicationName != null) return false; if (this.applicationNameList != null ? !this.applicationNameList.equals(that.applicationNameList) : that.applicationNameList != null) return false; if (this.destPort != null ? !this.destPort.equals(that.destPort) : that.destPort != null) return false; if (this.destPortGroup != null ? !this.destPortGroup.equals(that.destPortGroup) : that.destPortGroup != null) return false; if (this.destPortType != null ? !this.destPortType.equals(that.destPortType) : that.destPortType != null) return false; if (this.endTime != null ? !this.endTime.equals(that.endTime) : that.endTime != null) return false; if (this.lang != null ? !this.lang.equals(that.lang) : that.lang != null) return false; if (this.memberUid != null ? !this.memberUid.equals(that.memberUid) : that.memberUid != null) return false; if (this.regionId != null ? !this.regionId.equals(that.regionId) : that.regionId != null) return false; if (this.release != null ? !this.release.equals(that.release) : that.release != null) return false; if (this.repeatDays != null ? !this.repeatDays.equals(that.repeatDays) : that.repeatDays != null) return false; if (this.repeatEndTime != null ? !this.repeatEndTime.equals(that.repeatEndTime) : that.repeatEndTime != null) return false; if (this.repeatStartTime != null ? !this.repeatStartTime.equals(that.repeatStartTime) : that.repeatStartTime != null) return false; if (this.repeatType != null ? !this.repeatType.equals(that.repeatType) : that.repeatType != null) return false; return this.startTime != null ? this.startTime.equals(that.startTime) : that.startTime == null; } @Override public final int hashCode() { int result = this.aclAction.hashCode(); result = 31 * result + (this.description.hashCode()); result = 31 * result + (this.destination.hashCode()); result = 31 * result + (this.destinationType.hashCode()); result = 31 * result + (this.newOrder.hashCode()); result = 31 * result + (this.proto.hashCode()); result = 31 * result + (this.source.hashCode()); result = 31 * result + (this.sourceType.hashCode()); result = 31 * result + (this.vpcFirewallId.hashCode()); result = 31 * result + (this.applicationName != null ? this.applicationName.hashCode() : 0); result = 31 * result + (this.applicationNameList != null ? this.applicationNameList.hashCode() : 0); result = 31 * result + (this.destPort != null ? this.destPort.hashCode() : 0); result = 31 * result + (this.destPortGroup != null ? this.destPortGroup.hashCode() : 0); result = 31 * result + (this.destPortType != null ? this.destPortType.hashCode() : 0); result = 31 * result + (this.endTime != null ? this.endTime.hashCode() : 0); result = 31 * result + (this.lang != null ? this.lang.hashCode() : 0); result = 31 * result + (this.memberUid != null ? this.memberUid.hashCode() : 0); result = 31 * result + (this.regionId != null ? this.regionId.hashCode() : 0); result = 31 * result + (this.release != null ? this.release.hashCode() : 0); result = 31 * result + (this.repeatDays != null ? this.repeatDays.hashCode() : 0); result = 31 * result + (this.repeatEndTime != null ? this.repeatEndTime.hashCode() : 0); result = 31 * result + (this.repeatStartTime != null ? this.repeatStartTime.hashCode() : 0); result = 31 * result + (this.repeatType != null ? this.repeatType.hashCode() : 0); result = 31 * result + (this.startTime != null ? this.startTime.hashCode() : 0); return result; } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy