diff --git a/provider/cmd/pulumi-resource-oci/bridge-metadata.json b/provider/cmd/pulumi-resource-oci/bridge-metadata.json index 8feeb878e0..26aa622462 100644 --- a/provider/cmd/pulumi-resource-oci/bridge-metadata.json +++ b/provider/cmd/pulumi-resource-oci/bridge-metadata.json @@ -5356,6 +5356,9 @@ "customer_contacts": { "maxItemsOne": false }, + "defined_file_system_configurations": { + "maxItemsOne": false + }, "maintenance_window": { "maxItemsOne": true, "elem": { @@ -5393,6 +5396,9 @@ "db_servers": { "maxItemsOne": false }, + "file_system_configuration_details": { + "maxItemsOne": false + }, "iorm_config_cache": { "maxItemsOne": false, "elem": { @@ -12250,6 +12256,16 @@ "conditions": { "maxItemsOne": false }, + "ip_max_connections": { + "maxItemsOne": false, + "elem": { + "fields": { + "ip_addresses": { + "maxItemsOne": false + } + } + } + }, "redirect_uri": { "maxItemsOne": true } @@ -34033,6 +34049,9 @@ "customer_contacts": { "maxItemsOne": false }, + "defined_file_system_configurations": { + "maxItemsOne": false + }, "maintenance_window": { "maxItemsOne": false, "elem": { @@ -34080,6 +34099,9 @@ "customer_contacts": { "maxItemsOne": false }, + "defined_file_system_configurations": { + "maxItemsOne": false + }, "maintenance_window": { "maxItemsOne": false, "elem": { @@ -34130,6 +34152,9 @@ "db_servers": { "maxItemsOne": false }, + "file_system_configuration_details": { + "maxItemsOne": false + }, "iorm_config_cache": { "maxItemsOne": false, "elem": { @@ -34180,6 +34205,9 @@ "db_servers": { "maxItemsOne": false }, + "file_system_configuration_details": { + "maxItemsOne": false + }, "iorm_config_cache": { "maxItemsOne": false, "elem": { @@ -55058,6 +55086,16 @@ "conditions": { "maxItemsOne": false }, + "ip_max_connections": { + "maxItemsOne": false, + "elem": { + "fields": { + "ip_addresses": { + "maxItemsOne": false + } + } + } + }, "redirect_uri": { "maxItemsOne": false } @@ -55251,6 +55289,16 @@ "conditions": { "maxItemsOne": false }, + "ip_max_connections": { + "maxItemsOne": false, + "elem": { + "fields": { + "ip_addresses": { + "maxItemsOne": false + } + } + } + }, "redirect_uri": { "maxItemsOne": false } @@ -55287,6 +55335,16 @@ "conditions": { "maxItemsOne": false }, + "ip_max_connections": { + "maxItemsOne": false, + "elem": { + "fields": { + "ip_addresses": { + "maxItemsOne": false + } + } + } + }, "redirect_uri": { "maxItemsOne": false } diff --git a/provider/cmd/pulumi-resource-oci/schema.json b/provider/cmd/pulumi-resource-oci/schema.json index dba2f950cb..1c6742664e 100644 --- a/provider/cmd/pulumi-resource-oci/schema.json +++ b/provider/cmd/pulumi-resource-oci/schema.json @@ -140738,6 +140738,37 @@ } } }, + "oci:Database/CloudExadataInfrastructureDefinedFileSystemConfiguration:CloudExadataInfrastructureDefinedFileSystemConfiguration": { + "properties": { + "isBackupPartition": { + "type": "boolean", + "description": "If true, the file system is used to create a backup prior to Exadata VM OS update.\n" + }, + "isResizable": { + "type": "boolean", + "description": "If true, the file system resize is allowed for the Exadata Infrastructure cluster. If false, the file system resize is not allowed.\n" + }, + "minSizeGb": { + "type": "integer", + "description": "The minimum size of file system.\n" + }, + "mountPoint": { + "type": "string", + "description": "The mount point of file system.\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "isBackupPartition", + "isResizable", + "minSizeGb", + "mountPoint" + ] + } + } + }, "oci:Database/CloudExadataInfrastructureMaintenanceWindow:CloudExadataInfrastructureMaintenanceWindow": { "properties": { "customActionTimeoutInMins": { @@ -140868,6 +140899,27 @@ } } }, + "oci:Database/CloudVmClusterFileSystemConfigurationDetail:CloudVmClusterFileSystemConfigurationDetail": { + "properties": { + "fileSystemSizeGb": { + "type": "integer", + "description": "(Updatable) The file system size to be allocated in GBs.\n" + }, + "mountPoint": { + "type": "string", + "description": "(Updatable) The mount point of file system.\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "fileSystemSizeGb", + "mountPoint" + ] + } + } + }, "oci:Database/CloudVmClusterIormConfigCach:CloudVmClusterIormConfigCach": { "properties": { "dbPlans": { @@ -145176,11 +145228,11 @@ }, "memoryPerOracleComputeUnitInGbs": { "type": "integer", - "description": "The amount of memory (in GBs) enabled per ECPU or OCPU in the Autonomous VM Cluster.\n\u003c\u003c\u003c\u003c\u003c\u003c\u003c HEAD\n" + "description": "The amount of memory (in GBs) enabled per ECPU or OCPU in the Autonomous VM Cluster.\n" }, "netServicesArchitecture": { "type": "string", - "description": "Enabling SHARED server architecture enables a database server to allow many client processes to share very few server processes, thereby increasing the number of supported users.\n=======\n\u003e\u003e\u003e\u003e\u003e\u003e\u003e 22609d6059 (Added - Support for Oracle Home Version Control - Phase 2 | ADB-D and ADB-C@C)\n" + "description": "Enabling SHARED server architecture enables a database server to allow many client processes to share very few server processes, thereby increasing the number of supported users.\n" }, "nextMaintenanceRunId": { "type": "string", @@ -152614,6 +152666,38 @@ } } }, + "oci:Database/getCloudExadataInfrastructureDefinedFileSystemConfiguration:getCloudExadataInfrastructureDefinedFileSystemConfiguration": { + "properties": { + "isBackupPartition": { + "type": "boolean", + "description": "If true, the file system is used to create a backup prior to Exadata VM OS update.\n" + }, + "isResizable": { + "type": "boolean", + "description": "If true, the file system resize is allowed for the Exadata Infrastructure cluster. If false, the file system resize is not allowed.\n" + }, + "minSizeGb": { + "type": "integer", + "description": "The minimum size of file system.\n" + }, + "mountPoint": { + "type": "string", + "description": "The mount point of file system.\n" + } + }, + "type": "object", + "required": [ + "isBackupPartition", + "isResizable", + "minSizeGb", + "mountPoint" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "oci:Database/getCloudExadataInfrastructureMaintenanceWindow:getCloudExadataInfrastructureMaintenanceWindow": { "properties": { "customActionTimeoutInMins": { @@ -152804,6 +152888,13 @@ "type": "string", "description": "The software version of the database servers (dom0) in the cloud Exadata infrastructure. Example: 20.1.15\n" }, + "definedFileSystemConfigurations": { + "type": "array", + "items": { + "$ref": "#/types/oci:Database/getCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfiguration:getCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfiguration" + }, + "description": "Details of the file system configuration of the Exadata infrastructure.\n" + }, "definedTags": { "type": "object", "additionalProperties": { @@ -152919,6 +153010,7 @@ "dataStorageSizeInTbs", "dbNodeStorageSizeInGbs", "dbServerVersion", + "definedFileSystemConfigurations", "definedTags", "displayName", "freeformTags", @@ -152965,6 +153057,38 @@ } } }, + "oci:Database/getCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfiguration:getCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfiguration": { + "properties": { + "isBackupPartition": { + "type": "boolean", + "description": "If true, the file system is used to create a backup prior to Exadata VM OS update.\n" + }, + "isResizable": { + "type": "boolean", + "description": "If true, the file system resize is allowed for the Exadata Infrastructure cluster. If false, the file system resize is not allowed.\n" + }, + "minSizeGb": { + "type": "integer", + "description": "The minimum size of file system.\n" + }, + "mountPoint": { + "type": "string", + "description": "The mount point of file system.\n" + } + }, + "type": "object", + "required": [ + "isBackupPartition", + "isResizable", + "minSizeGb", + "mountPoint" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "oci:Database/getCloudExadataInfrastructuresCloudExadataInfrastructureMaintenanceWindow:getCloudExadataInfrastructuresCloudExadataInfrastructureMaintenanceWindow": { "properties": { "customActionTimeoutInMins": { @@ -153129,6 +153253,28 @@ } } }, + "oci:Database/getCloudVmClusterFileSystemConfigurationDetail:getCloudVmClusterFileSystemConfigurationDetail": { + "properties": { + "fileSystemSizeGb": { + "type": "integer", + "description": "The file system size to be allocated in GBs.\n" + }, + "mountPoint": { + "type": "string", + "description": "The mount point of file system.\n" + } + }, + "type": "object", + "required": [ + "fileSystemSizeGb", + "mountPoint" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "oci:Database/getCloudVmClusterIormConfigCach:getCloudVmClusterIormConfigCach": { "properties": { "dbPlans": { @@ -153299,6 +153445,13 @@ "type": "string", "description": "The domain name for the cloud VM cluster.\n" }, + "fileSystemConfigurationDetails": { + "type": "array", + "items": { + "$ref": "#/types/oci:Database/getCloudVmClustersCloudVmClusterFileSystemConfigurationDetail:getCloudVmClustersCloudVmClusterFileSystemConfigurationDetail" + }, + "description": "Details of the file system configuration of the VM cluster.\n" + }, "freeformTags": { "type": "object", "additionalProperties": { @@ -153466,6 +153619,7 @@ "diskRedundancy", "displayName", "domain", + "fileSystemConfigurationDetails", "freeformTags", "giVersion", "hostname", @@ -153532,6 +153686,28 @@ } } }, + "oci:Database/getCloudVmClustersCloudVmClusterFileSystemConfigurationDetail:getCloudVmClustersCloudVmClusterFileSystemConfigurationDetail": { + "properties": { + "fileSystemSizeGb": { + "type": "integer", + "description": "The file system size to be allocated in GBs.\n" + }, + "mountPoint": { + "type": "string", + "description": "The mount point of file system.\n" + } + }, + "type": "object", + "required": [ + "fileSystemSizeGb", + "mountPoint" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "oci:Database/getCloudVmClustersCloudVmClusterIormConfigCach:getCloudVmClustersCloudVmClusterIormConfigCach": { "properties": { "dbPlans": { @@ -195526,6 +195702,10 @@ "type": "string", "description": "The unique id of the step. Must not be modified by the user. Example: `sgid1.step..uniqueID`\n" }, + "isPauseEnabled": { + "type": "boolean", + "description": "A flag indicating whether this group should be enabled for execution. This flag is only applicable to the `USER_DEFINED_PAUSE` group. The flag should be null for the remaining group types. Example: `true`\n" + }, "steps": { "type": "array", "items": { @@ -195544,6 +195724,7 @@ "requiredOutputs": [ "displayName", "id", + "isPauseEnabled", "steps", "type" ] @@ -196689,6 +196870,10 @@ "type": "string", "description": "The unique id of the step. Must not be modified by the user. Example: `sgid1.step..uniqueID`\n" }, + "isPauseEnabled": { + "type": "boolean", + "description": "A flag indicating whether this group should be enabled for execution. This flag is only applicable to the `USER_DEFINED_PAUSE` group. The flag should be null for the remaining group types. Example: `true`\n" + }, "steps": { "type": "array", "items": { @@ -196705,6 +196890,7 @@ "required": [ "displayName", "id", + "isPauseEnabled", "steps", "type" ], @@ -196989,6 +197175,10 @@ "type": "string", "description": "The unique id of the step. Must not be modified by the user. Example: `sgid1.step..uniqueID`\n" }, + "isPauseEnabled": { + "type": "boolean", + "description": "A flag indicating whether this group should be enabled for execution. This flag is only applicable to the `USER_DEFINED_PAUSE` group. The flag should be null for the remaining group types. Example: `true`\n" + }, "steps": { "type": "array", "items": { @@ -197005,6 +197195,7 @@ "required": [ "displayName", "id", + "isPauseEnabled", "steps", "type" ], @@ -279685,15 +279876,19 @@ "properties": { "backup": { "type": "boolean", - "description": "Whether the load balancer should treat this server as a backup unit. If `true`, the load balancer forwards no ingress traffic to this backend server unless all other backend servers not marked as \"backup\" fail the health check policy.\n" + "description": "(Updatable) Whether the load balancer should treat this server as a backup unit. If `true`, the load balancer forwards no ingress traffic to this backend server unless all other backend servers not marked as \"backup\" fail the health check policy.\n\n**Note:** You cannot add a backend server marked as `backup` to a backend set that uses the IP Hash policy.\n\nExample: `false`\n" }, "drain": { "type": "boolean", - "description": "Whether the load balancer should drain this server. Servers marked \"drain\" receive no new incoming traffic. Example: `false`\n" + "description": "(Updatable) Whether the load balancer should drain this server. Servers marked \"drain\" receive no new incoming traffic. Example: `false`\n" }, "ipAddress": { "type": "string", - "description": "The IP address of the backend server. Example: `10.0.0.3`\n" + "description": "(Updatable) The IP address of the backend server. Example: `10.0.0.3`\n" + }, + "maxConnections": { + "type": "integer", + "description": "(Updatable) The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then the maximum number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300`\n" }, "name": { "type": "string", @@ -279701,7 +279896,7 @@ }, "offline": { "type": "boolean", - "description": "Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false`\n" + "description": "(Updatable) Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false`\n" }, "port": { "type": "integer", @@ -279709,7 +279904,7 @@ }, "weight": { "type": "integer", - "description": "The load balancing policy weight assigned to the server. Backend servers with a higher weight receive a larger proportion of incoming traffic. For example, a server weighted '3' receives 3 times the number of new connections as a server weighted '1'. For more information on load balancing policies, see [How Load Balancing Policies Work](https://docs.cloud.oracle.com/iaas/Content/Balance/Reference/lbpolicies.htm). Example: `3`\n" + "description": "(Updatable) The load balancing policy weight assigned to the server. Backend servers with a higher weight receive a larger proportion of incoming traffic. For example, a server weighted '3' receives 3 times the number of new connections as a server weighted '1'. For more information on load balancing policies, see [How Load Balancing Policies Work](https://docs.cloud.oracle.com/iaas/Content/Balance/Reference/lbpolicies.htm). Example: `3`\n" } }, "type": "object", @@ -279721,6 +279916,7 @@ "nodejs": { "requiredOutputs": [ "ipAddress", + "maxConnections", "name", "port", "weight" @@ -279985,8 +280181,7 @@ "type": "array", "items": { "$ref": "#/types/oci:LoadBalancer/LoadBalancerIpAddressDetailReservedIp:LoadBalancerIpAddressDetailReservedIp" - }, - "description": "Pre-created public IP that will be used as the IP of this load balancer. This reserved IP will not be deleted when load balancer is deleted. This ip should not be already mapped to any other resource.\n" + } } }, "type": "object", @@ -280004,7 +280199,7 @@ "properties": { "id": { "type": "string", - "description": "Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error.\n" + "description": "Ocid of the Reserved IP/Public Ip created with VCN.\n\nReserved IPs are IPs which already registered using VCN API.\n\nCreate a reserved Public IP and then while creating the load balancer pass the ocid of the reserved IP in this field reservedIp to attach the Ip to Load balancer. Load balancer will be configured to listen to traffic on this IP.\n\nReserved IPs will not be deleted when the Load balancer is deleted. They will be unattached from the Load balancer.\n\nExample: \"ocid1.publicip.oc1.phx.unique_ID\" Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error.\n" } }, "type": "object", @@ -280020,7 +280215,7 @@ "properties": { "id": { "type": "string", - "description": "Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error.\n", + "description": "Ocid of the Reserved IP/Public Ip created with VCN.\n\nReserved IPs are IPs which already registered using VCN API.\n\nCreate a reserved Public IP and then while creating the load balancer pass the ocid of the reserved IP in this field reservedIp to attach the Ip to Load balancer. Load balancer will be configured to listen to traffic on this IP.\n\nReserved IPs will not be deleted when the Load balancer is deleted. They will be unattached from the Load balancer.\n\nExample: \"ocid1.publicip.oc1.phx.unique_ID\" Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error.\n", "willReplaceOnChanges": true } }, @@ -280130,7 +280325,7 @@ "properties": { "action": { "type": "string", - "description": "(Updatable) The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER`\n" + "description": "(Updatable) The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `IP_BASED_MAX_CONNECTIONS`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER`\n" }, "allowedMethods": { "type": "array", @@ -280150,6 +280345,10 @@ }, "description": "(Updatable)\n" }, + "defaultMaxConnections": { + "type": "integer", + "description": "(Updatable) The maximum number of connections that the any IP can make to a listener unless the IP is mentioned in maxConnections. If no defaultMaxConnections is specified the default is unlimited.\n" + }, "description": { "type": "string", "description": "(Updatable) A brief description of the access control rule. Avoid entering confidential information.\n\nexample: `192.168.0.0/16 and 2001:db8::/32 are trusted clients. Whitelist them.`\n" @@ -280162,6 +280361,13 @@ "type": "integer", "description": "(Updatable) The maximum size of each buffer used for reading http client request header. This value indicates the maximum size allowed for each buffer. The allowed values for buffer size are 8, 16, 32 and 64.\n" }, + "ipMaxConnections": { + "type": "array", + "items": { + "$ref": "#/types/oci:LoadBalancer/RuleSetItemIpMaxConnection:RuleSetItemIpMaxConnection" + }, + "description": "(Updatable) An array of IPs that have a maxConnection setting different than the default and what that maxConnection setting is\n" + }, "prefix": { "type": "string", "description": "(Updatable) A string to prepend to the header value. The resulting header value must still conform to RFC 7230. With the following exceptions:\n* value cannot contain `$`\n* value cannot contain patterns like `{variable_name}`. They are reserved for future extensions. Currently, such values are invalid.\n\nExample: `example_prefix_value`\n" @@ -280198,9 +280404,11 @@ "allowedMethods", "areInvalidCharactersAllowed", "conditions", + "defaultMaxConnections", "description", "header", "httpLargeHeaderSizeInKb", + "ipMaxConnections", "prefix", "redirectUri", "responseCode", @@ -280241,6 +280449,30 @@ } } }, + "oci:LoadBalancer/RuleSetItemIpMaxConnection:RuleSetItemIpMaxConnection": { + "properties": { + "ipAddresses": { + "type": "array", + "items": { + "type": "string" + }, + "description": "(Updatable) Each element in the list should be valid IPv4 or IPv6 CIDR Block address. Example: '[\"129.213.176.0/24\", \"150.136.187.0/24\", \"2002::1234:abcd:ffff:c0a8:101/64\"]'\n" + }, + "maxConnections": { + "type": "integer", + "description": "(Updatable) The maximum number of simultaneous connections that the specified IPs can make to the Listener. IPs without a maxConnections setting can make either defaultMaxConnections simultaneous connections to a listener or, if no defaultMaxConnections is specified, an unlimited number of simultaneous connections to a listener.\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "ipAddresses", + "maxConnections" + ] + } + } + }, "oci:LoadBalancer/RuleSetItemRedirectUri:RuleSetItemRedirectUri": { "properties": { "host": { @@ -280311,6 +280543,10 @@ }, "oci:LoadBalancer/getBackendSetsBackendset:getBackendSetsBackendset": { "properties": { + "backendMaxConnections": { + "type": "integer", + "description": "The maximum number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting. If this is not set then the number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting is unlimited. Example: `300`\n" + }, "backends": { "type": "array", "items": { @@ -280367,6 +280603,7 @@ "type": "object", "required": [ "backends", + "backendMaxConnections", "healthCheckers", "id", "lbCookieSessionPersistenceConfigurations", @@ -280397,6 +280634,10 @@ "type": "string", "description": "The IP address of the backend server. Example: `10.0.0.3`\n" }, + "maxConnections": { + "type": "integer", + "description": "The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then the maximum number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300`\n" + }, "name": { "type": "string", "description": "A friendly name for the backend set. It must be unique and it cannot be changed.\n" @@ -280419,6 +280660,7 @@ "backup", "drain", "ipAddress", + "maxConnections", "name", "offline", "port", @@ -280661,6 +280903,10 @@ "type": "string", "description": "The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the load balancer associated with the backend set and servers.\n" }, + "maxConnections": { + "type": "integer", + "description": "The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then the maximum number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300`\n" + }, "name": { "type": "string", "description": "A read-only field showing the IP address and port that uniquely identify this backend server in the backend set. Example: `10.0.0.3:8080`\n" @@ -280687,6 +280933,7 @@ "drain", "ipAddress", "loadBalancerId", + "maxConnections", "name", "offline", "port", @@ -280895,7 +281142,7 @@ "properties": { "action": { "type": "string", - "description": "The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER`\n" + "description": "The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `IP_BASED_MAX_CONNECTIONS`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER`\n" }, "allowedMethods": { "type": "array", @@ -280914,6 +281161,10 @@ "$ref": "#/types/oci:LoadBalancer/getListenerRulesListenerRuleRuleCondition:getListenerRulesListenerRuleRuleCondition" } }, + "defaultMaxConnections": { + "type": "integer", + "description": "The maximum number of connections that the any IP can make to a listener unless the IP is mentioned in maxConnections. If no defaultMaxConnections is specified the default is unlimited.\n" + }, "description": { "type": "string", "description": "A brief description of the access control rule. Avoid entering confidential information.\n" @@ -280926,6 +281177,13 @@ "type": "integer", "description": "The maximum size of each buffer used for reading http client request header. This value indicates the maximum size allowed for each buffer. The allowed values for buffer size are 8, 16, 32 and 64.\n" }, + "ipMaxConnections": { + "type": "array", + "items": { + "$ref": "#/types/oci:LoadBalancer/getListenerRulesListenerRuleRuleIpMaxConnection:getListenerRulesListenerRuleRuleIpMaxConnection" + }, + "description": "An array of IPs that have a maxConnection setting different than the default and what that maxConnection setting is\n" + }, "prefix": { "type": "string", "description": "A string to prepend to the header value. The resulting header value must still conform to RFC 7230. With the following exceptions:\n* value cannot contain `$`\n* value cannot contain patterns like `{variable_name}`. They are reserved for future extensions. Currently, such values are invalid.\n" @@ -280960,9 +281218,11 @@ "allowedMethods", "areInvalidCharactersAllowed", "conditions", + "defaultMaxConnections", "description", "header", "httpLargeHeaderSizeInKb", + "ipMaxConnections", "prefix", "redirectUris", "responseCode", @@ -281003,6 +281263,31 @@ } } }, + "oci:LoadBalancer/getListenerRulesListenerRuleRuleIpMaxConnection:getListenerRulesListenerRuleRuleIpMaxConnection": { + "properties": { + "ipAddresses": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Each element in the list should be valid IPv4 or IPv6 CIDR Block address. Example: '[\"129.213.176.0/24\", \"150.136.187.0/24\", \"2002::1234:abcd:ffff:c0a8:101/64\"]'\n" + }, + "maxConnections": { + "type": "integer", + "description": "The maximum number of simultaneous connections that the specified IPs can make to the Listener. IPs without a maxConnections setting can make either defaultMaxConnections simultaneous connections to a listener or, if no defaultMaxConnections is specified, an unlimited number of simultaneous connections to a listener.\n" + } + }, + "type": "object", + "required": [ + "ipAddresses", + "maxConnections" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "oci:LoadBalancer/getListenerRulesListenerRuleRuleRedirectUri:getListenerRulesListenerRuleRuleRedirectUri": { "properties": { "host": { @@ -281253,7 +281538,7 @@ }, "id": { "type": "string", - "description": "Ocid of the pre-created public IP. That should be attahed to this load balancer.\n" + "description": "Ocid of the Reserved IP/Public Ip created with VCN.\n" }, "ipAddressDetails": { "type": "array", @@ -281273,6 +281558,10 @@ "ipMode": { "type": "string" }, + "isDeleteProtectionEnabled": { + "type": "boolean", + "description": "Whether or not the load balancer has delete protection enabled.\n" + }, "isPrivate": { "type": "boolean", "description": "Whether the load balancer has a VCN-local (private) IP address.\n" @@ -281334,6 +281623,7 @@ "ipAddressDetails", "ipAddresses", "ipMode", + "isDeleteProtectionEnabled", "isPrivate", "networkSecurityGroupIds", "reservedIps", @@ -281364,8 +281654,7 @@ "type": "array", "items": { "$ref": "#/types/oci:LoadBalancer/getLoadBalancersLoadBalancerIpAddressDetailReservedIp:getLoadBalancersLoadBalancerIpAddressDetailReservedIp" - }, - "description": "Pre-created public IP that will be used as the IP of this load balancer. This reserved IP will not be deleted when load balancer is deleted. This ip should not be already mapped to any other resource.\n" + } } }, "type": "object", @@ -281384,7 +281673,7 @@ "properties": { "id": { "type": "string", - "description": "Ocid of the pre-created public IP. That should be attahed to this load balancer.\n" + "description": "Ocid of the Reserved IP/Public Ip created with VCN.\n" } }, "type": "object", @@ -281401,7 +281690,7 @@ "properties": { "id": { "type": "string", - "description": "Ocid of the pre-created public IP. That should be attahed to this load balancer.\n" + "description": "Ocid of the Reserved IP/Public Ip created with VCN.\n" } }, "type": "object", @@ -281618,7 +281907,7 @@ "properties": { "action": { "type": "string", - "description": "The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER`\n" + "description": "The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `IP_BASED_MAX_CONNECTIONS`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER`\n" }, "allowedMethods": { "type": "array", @@ -281637,6 +281926,10 @@ "$ref": "#/types/oci:LoadBalancer/getRuleSetItemCondition:getRuleSetItemCondition" } }, + "defaultMaxConnections": { + "type": "integer", + "description": "The maximum number of connections that the any IP can make to a listener unless the IP is mentioned in maxConnections. If no defaultMaxConnections is specified the default is unlimited.\n" + }, "description": { "type": "string", "description": "A brief description of the access control rule. Avoid entering confidential information.\n" @@ -281649,6 +281942,13 @@ "type": "integer", "description": "The maximum size of each buffer used for reading http client request header. This value indicates the maximum size allowed for each buffer. The allowed values for buffer size are 8, 16, 32 and 64.\n" }, + "ipMaxConnections": { + "type": "array", + "items": { + "$ref": "#/types/oci:LoadBalancer/getRuleSetItemIpMaxConnection:getRuleSetItemIpMaxConnection" + }, + "description": "An array of IPs that have a maxConnection setting different than the default and what that maxConnection setting is\n" + }, "prefix": { "type": "string", "description": "A string to prepend to the header value. The resulting header value must still conform to RFC 7230. With the following exceptions:\n* value cannot contain `$`\n* value cannot contain patterns like `{variable_name}`. They are reserved for future extensions. Currently, such values are invalid.\n" @@ -281683,9 +281983,11 @@ "allowedMethods", "areInvalidCharactersAllowed", "conditions", + "defaultMaxConnections", "description", "header", "httpLargeHeaderSizeInKb", + "ipMaxConnections", "prefix", "redirectUris", "responseCode", @@ -281726,6 +282028,31 @@ } } }, + "oci:LoadBalancer/getRuleSetItemIpMaxConnection:getRuleSetItemIpMaxConnection": { + "properties": { + "ipAddresses": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Each element in the list should be valid IPv4 or IPv6 CIDR Block address. Example: '[\"129.213.176.0/24\", \"150.136.187.0/24\", \"2002::1234:abcd:ffff:c0a8:101/64\"]'\n" + }, + "maxConnections": { + "type": "integer", + "description": "The maximum number of simultaneous connections that the specified IPs can make to the Listener. IPs without a maxConnections setting can make either defaultMaxConnections simultaneous connections to a listener or, if no defaultMaxConnections is specified, an unlimited number of simultaneous connections to a listener.\n" + } + }, + "type": "object", + "required": [ + "ipAddresses", + "maxConnections" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "oci:LoadBalancer/getRuleSetItemRedirectUri:getRuleSetItemRedirectUri": { "properties": { "host": { @@ -281827,7 +282154,7 @@ "properties": { "action": { "type": "string", - "description": "The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER`\n" + "description": "The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `IP_BASED_MAX_CONNECTIONS`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER`\n" }, "allowedMethods": { "type": "array", @@ -281846,6 +282173,10 @@ "$ref": "#/types/oci:LoadBalancer/getRuleSetsRuleSetItemCondition:getRuleSetsRuleSetItemCondition" } }, + "defaultMaxConnections": { + "type": "integer", + "description": "The maximum number of connections that the any IP can make to a listener unless the IP is mentioned in maxConnections. If no defaultMaxConnections is specified the default is unlimited.\n" + }, "description": { "type": "string", "description": "A brief description of the access control rule. Avoid entering confidential information.\n" @@ -281858,6 +282189,13 @@ "type": "integer", "description": "The maximum size of each buffer used for reading http client request header. This value indicates the maximum size allowed for each buffer. The allowed values for buffer size are 8, 16, 32 and 64.\n" }, + "ipMaxConnections": { + "type": "array", + "items": { + "$ref": "#/types/oci:LoadBalancer/getRuleSetsRuleSetItemIpMaxConnection:getRuleSetsRuleSetItemIpMaxConnection" + }, + "description": "An array of IPs that have a maxConnection setting different than the default and what that maxConnection setting is\n" + }, "prefix": { "type": "string", "description": "A string to prepend to the header value. The resulting header value must still conform to RFC 7230. With the following exceptions:\n* value cannot contain `$`\n* value cannot contain patterns like `{variable_name}`. They are reserved for future extensions. Currently, such values are invalid.\n" @@ -281892,9 +282230,11 @@ "allowedMethods", "areInvalidCharactersAllowed", "conditions", + "defaultMaxConnections", "description", "header", "httpLargeHeaderSizeInKb", + "ipMaxConnections", "prefix", "redirectUris", "responseCode", @@ -281935,6 +282275,31 @@ } } }, + "oci:LoadBalancer/getRuleSetsRuleSetItemIpMaxConnection:getRuleSetsRuleSetItemIpMaxConnection": { + "properties": { + "ipAddresses": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Each element in the list should be valid IPv4 or IPv6 CIDR Block address. Example: '[\"129.213.176.0/24\", \"150.136.187.0/24\", \"2002::1234:abcd:ffff:c0a8:101/64\"]'\n" + }, + "maxConnections": { + "type": "integer", + "description": "The maximum number of simultaneous connections that the specified IPs can make to the Listener. IPs without a maxConnections setting can make either defaultMaxConnections simultaneous connections to a listener or, if no defaultMaxConnections is specified, an unlimited number of simultaneous connections to a listener.\n" + } + }, + "type": "object", + "required": [ + "ipAddresses", + "maxConnections" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "oci:LoadBalancer/getRuleSetsRuleSetItemRedirectUri:getRuleSetsRuleSetItemRedirectUri": { "properties": { "host": { @@ -418775,6 +419140,13 @@ "type": "string", "description": "The software version of the database servers (dom0) in the cloud Exadata infrastructure. Example: 20.1.15\n" }, + "definedFileSystemConfigurations": { + "type": "array", + "items": { + "$ref": "#/types/oci:Database/CloudExadataInfrastructureDefinedFileSystemConfiguration:CloudExadataInfrastructureDefinedFileSystemConfiguration" + }, + "description": "Details of the file system configuration of the Exadata infrastructure.\n" + }, "definedTags": { "type": "object", "additionalProperties": { @@ -418881,6 +419253,7 @@ "dataStorageSizeInTbs", "dbNodeStorageSizeInGbs", "dbServerVersion", + "definedFileSystemConfigurations", "definedTags", "displayName", "freeformTags", @@ -419023,6 +419396,13 @@ "type": "string", "description": "The software version of the database servers (dom0) in the cloud Exadata infrastructure. Example: 20.1.15\n" }, + "definedFileSystemConfigurations": { + "type": "array", + "items": { + "$ref": "#/types/oci:Database/CloudExadataInfrastructureDefinedFileSystemConfiguration:CloudExadataInfrastructureDefinedFileSystemConfiguration" + }, + "description": "Details of the file system configuration of the Exadata infrastructure.\n" + }, "definedTags": { "type": "object", "additionalProperties": { @@ -419122,7 +419502,7 @@ } }, "oci:Database/cloudVmCluster:CloudVmCluster": { - "description": "This resource provides the Cloud Vm Cluster resource in Oracle Cloud Infrastructure Database service.\n\nCreates a cloud VM cluster.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as oci from \"@pulumi/oci\";\n\nconst testCloudVmCluster = new oci.database.CloudVmCluster(\"test_cloud_vm_cluster\", {\n backupSubnetId: testSubnet.id,\n cloudExadataInfrastructureId: testCloudExadataInfrastructure.id,\n compartmentId: compartmentId,\n cpuCoreCount: cloudVmClusterCpuCoreCount,\n displayName: cloudVmClusterDisplayName,\n giVersion: cloudVmClusterGiVersion,\n hostname: cloudVmClusterHostname,\n sshPublicKeys: cloudVmClusterSshPublicKeys,\n subnetId: testSubnet.id,\n backupNetworkNsgIds: cloudVmClusterBackupNetworkNsgIds,\n clusterName: cloudVmClusterClusterName,\n dataCollectionOptions: {\n isDiagnosticsEventsEnabled: cloudVmClusterDataCollectionOptionsIsDiagnosticsEventsEnabled,\n isHealthMonitoringEnabled: cloudVmClusterDataCollectionOptionsIsHealthMonitoringEnabled,\n isIncidentLogsEnabled: cloudVmClusterDataCollectionOptionsIsIncidentLogsEnabled,\n },\n dataStoragePercentage: cloudVmClusterDataStoragePercentage,\n dataStorageSizeInTbs: cloudVmClusterDataStorageSizeInTbs,\n dbNodeStorageSizeInGbs: cloudVmClusterDbNodeStorageSizeInGbs,\n dbServers: cloudVmClusterDbServers,\n definedTags: cloudVmClusterDefinedTags,\n domain: cloudVmClusterDomain,\n freeformTags: {\n Department: \"Finance\",\n },\n isLocalBackupEnabled: cloudVmClusterIsLocalBackupEnabled,\n isSparseDiskgroupEnabled: cloudVmClusterIsSparseDiskgroupEnabled,\n licenseModel: cloudVmClusterLicenseModel,\n memorySizeInGbs: cloudVmClusterMemorySizeInGbs,\n nsgIds: cloudVmClusterNsgIds,\n ocpuCount: cloudVmClusterOcpuCount,\n privateZoneId: testZone.id,\n scanListenerPortTcp: cloudVmClusterScanListenerPortTcp,\n scanListenerPortTcpSsl: cloudVmClusterScanListenerPortTcpSsl,\n systemVersion: cloudVmClusterSystemVersion,\n timeZone: cloudVmClusterTimeZone,\n});\n```\n```python\nimport pulumi\nimport pulumi_oci as oci\n\ntest_cloud_vm_cluster = oci.database.CloudVmCluster(\"test_cloud_vm_cluster\",\n backup_subnet_id=test_subnet[\"id\"],\n cloud_exadata_infrastructure_id=test_cloud_exadata_infrastructure[\"id\"],\n compartment_id=compartment_id,\n cpu_core_count=cloud_vm_cluster_cpu_core_count,\n display_name=cloud_vm_cluster_display_name,\n gi_version=cloud_vm_cluster_gi_version,\n hostname=cloud_vm_cluster_hostname,\n ssh_public_keys=cloud_vm_cluster_ssh_public_keys,\n subnet_id=test_subnet[\"id\"],\n backup_network_nsg_ids=cloud_vm_cluster_backup_network_nsg_ids,\n cluster_name=cloud_vm_cluster_cluster_name,\n data_collection_options=oci.database.CloudVmClusterDataCollectionOptionsArgs(\n is_diagnostics_events_enabled=cloud_vm_cluster_data_collection_options_is_diagnostics_events_enabled,\n is_health_monitoring_enabled=cloud_vm_cluster_data_collection_options_is_health_monitoring_enabled,\n is_incident_logs_enabled=cloud_vm_cluster_data_collection_options_is_incident_logs_enabled,\n ),\n data_storage_percentage=cloud_vm_cluster_data_storage_percentage,\n data_storage_size_in_tbs=cloud_vm_cluster_data_storage_size_in_tbs,\n db_node_storage_size_in_gbs=cloud_vm_cluster_db_node_storage_size_in_gbs,\n db_servers=cloud_vm_cluster_db_servers,\n defined_tags=cloud_vm_cluster_defined_tags,\n domain=cloud_vm_cluster_domain,\n freeform_tags={\n \"Department\": \"Finance\",\n },\n is_local_backup_enabled=cloud_vm_cluster_is_local_backup_enabled,\n is_sparse_diskgroup_enabled=cloud_vm_cluster_is_sparse_diskgroup_enabled,\n license_model=cloud_vm_cluster_license_model,\n memory_size_in_gbs=cloud_vm_cluster_memory_size_in_gbs,\n nsg_ids=cloud_vm_cluster_nsg_ids,\n ocpu_count=cloud_vm_cluster_ocpu_count,\n private_zone_id=test_zone[\"id\"],\n scan_listener_port_tcp=cloud_vm_cluster_scan_listener_port_tcp,\n scan_listener_port_tcp_ssl=cloud_vm_cluster_scan_listener_port_tcp_ssl,\n system_version=cloud_vm_cluster_system_version,\n time_zone=cloud_vm_cluster_time_zone)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Oci = Pulumi.Oci;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCloudVmCluster = new Oci.Database.CloudVmCluster(\"test_cloud_vm_cluster\", new()\n {\n BackupSubnetId = testSubnet.Id,\n CloudExadataInfrastructureId = testCloudExadataInfrastructure.Id,\n CompartmentId = compartmentId,\n CpuCoreCount = cloudVmClusterCpuCoreCount,\n DisplayName = cloudVmClusterDisplayName,\n GiVersion = cloudVmClusterGiVersion,\n Hostname = cloudVmClusterHostname,\n SshPublicKeys = cloudVmClusterSshPublicKeys,\n SubnetId = testSubnet.Id,\n BackupNetworkNsgIds = cloudVmClusterBackupNetworkNsgIds,\n ClusterName = cloudVmClusterClusterName,\n DataCollectionOptions = new Oci.Database.Inputs.CloudVmClusterDataCollectionOptionsArgs\n {\n IsDiagnosticsEventsEnabled = cloudVmClusterDataCollectionOptionsIsDiagnosticsEventsEnabled,\n IsHealthMonitoringEnabled = cloudVmClusterDataCollectionOptionsIsHealthMonitoringEnabled,\n IsIncidentLogsEnabled = cloudVmClusterDataCollectionOptionsIsIncidentLogsEnabled,\n },\n DataStoragePercentage = cloudVmClusterDataStoragePercentage,\n DataStorageSizeInTbs = cloudVmClusterDataStorageSizeInTbs,\n DbNodeStorageSizeInGbs = cloudVmClusterDbNodeStorageSizeInGbs,\n DbServers = cloudVmClusterDbServers,\n DefinedTags = cloudVmClusterDefinedTags,\n Domain = cloudVmClusterDomain,\n FreeformTags = \n {\n { \"Department\", \"Finance\" },\n },\n IsLocalBackupEnabled = cloudVmClusterIsLocalBackupEnabled,\n IsSparseDiskgroupEnabled = cloudVmClusterIsSparseDiskgroupEnabled,\n LicenseModel = cloudVmClusterLicenseModel,\n MemorySizeInGbs = cloudVmClusterMemorySizeInGbs,\n NsgIds = cloudVmClusterNsgIds,\n OcpuCount = cloudVmClusterOcpuCount,\n PrivateZoneId = testZone.Id,\n ScanListenerPortTcp = cloudVmClusterScanListenerPortTcp,\n ScanListenerPortTcpSsl = cloudVmClusterScanListenerPortTcpSsl,\n SystemVersion = cloudVmClusterSystemVersion,\n TimeZone = cloudVmClusterTimeZone,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-oci/sdk/go/oci/Database\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Database.NewCloudVmCluster(ctx, \"test_cloud_vm_cluster\", \u0026Database.CloudVmClusterArgs{\n\t\t\tBackupSubnetId: pulumi.Any(testSubnet.Id),\n\t\t\tCloudExadataInfrastructureId: pulumi.Any(testCloudExadataInfrastructure.Id),\n\t\t\tCompartmentId: pulumi.Any(compartmentId),\n\t\t\tCpuCoreCount: pulumi.Any(cloudVmClusterCpuCoreCount),\n\t\t\tDisplayName: pulumi.Any(cloudVmClusterDisplayName),\n\t\t\tGiVersion: pulumi.Any(cloudVmClusterGiVersion),\n\t\t\tHostname: pulumi.Any(cloudVmClusterHostname),\n\t\t\tSshPublicKeys: pulumi.Any(cloudVmClusterSshPublicKeys),\n\t\t\tSubnetId: pulumi.Any(testSubnet.Id),\n\t\t\tBackupNetworkNsgIds: pulumi.Any(cloudVmClusterBackupNetworkNsgIds),\n\t\t\tClusterName: pulumi.Any(cloudVmClusterClusterName),\n\t\t\tDataCollectionOptions: \u0026database.CloudVmClusterDataCollectionOptionsArgs{\n\t\t\t\tIsDiagnosticsEventsEnabled: pulumi.Any(cloudVmClusterDataCollectionOptionsIsDiagnosticsEventsEnabled),\n\t\t\t\tIsHealthMonitoringEnabled: pulumi.Any(cloudVmClusterDataCollectionOptionsIsHealthMonitoringEnabled),\n\t\t\t\tIsIncidentLogsEnabled: pulumi.Any(cloudVmClusterDataCollectionOptionsIsIncidentLogsEnabled),\n\t\t\t},\n\t\t\tDataStoragePercentage: pulumi.Any(cloudVmClusterDataStoragePercentage),\n\t\t\tDataStorageSizeInTbs: pulumi.Any(cloudVmClusterDataStorageSizeInTbs),\n\t\t\tDbNodeStorageSizeInGbs: pulumi.Any(cloudVmClusterDbNodeStorageSizeInGbs),\n\t\t\tDbServers: pulumi.Any(cloudVmClusterDbServers),\n\t\t\tDefinedTags: pulumi.Any(cloudVmClusterDefinedTags),\n\t\t\tDomain: pulumi.Any(cloudVmClusterDomain),\n\t\t\tFreeformTags: pulumi.Map{\n\t\t\t\t\"Department\": pulumi.Any(\"Finance\"),\n\t\t\t},\n\t\t\tIsLocalBackupEnabled: pulumi.Any(cloudVmClusterIsLocalBackupEnabled),\n\t\t\tIsSparseDiskgroupEnabled: pulumi.Any(cloudVmClusterIsSparseDiskgroupEnabled),\n\t\t\tLicenseModel: pulumi.Any(cloudVmClusterLicenseModel),\n\t\t\tMemorySizeInGbs: pulumi.Any(cloudVmClusterMemorySizeInGbs),\n\t\t\tNsgIds: pulumi.Any(cloudVmClusterNsgIds),\n\t\t\tOcpuCount: pulumi.Any(cloudVmClusterOcpuCount),\n\t\t\tPrivateZoneId: pulumi.Any(testZone.Id),\n\t\t\tScanListenerPortTcp: pulumi.Any(cloudVmClusterScanListenerPortTcp),\n\t\t\tScanListenerPortTcpSsl: pulumi.Any(cloudVmClusterScanListenerPortTcpSsl),\n\t\t\tSystemVersion: pulumi.Any(cloudVmClusterSystemVersion),\n\t\t\tTimeZone: pulumi.Any(cloudVmClusterTimeZone),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.oci.Database.CloudVmCluster;\nimport com.pulumi.oci.Database.CloudVmClusterArgs;\nimport com.pulumi.oci.Database.inputs.CloudVmClusterDataCollectionOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testCloudVmCluster = new CloudVmCluster(\"testCloudVmCluster\", CloudVmClusterArgs.builder() \n .backupSubnetId(testSubnet.id())\n .cloudExadataInfrastructureId(testCloudExadataInfrastructure.id())\n .compartmentId(compartmentId)\n .cpuCoreCount(cloudVmClusterCpuCoreCount)\n .displayName(cloudVmClusterDisplayName)\n .giVersion(cloudVmClusterGiVersion)\n .hostname(cloudVmClusterHostname)\n .sshPublicKeys(cloudVmClusterSshPublicKeys)\n .subnetId(testSubnet.id())\n .backupNetworkNsgIds(cloudVmClusterBackupNetworkNsgIds)\n .clusterName(cloudVmClusterClusterName)\n .dataCollectionOptions(CloudVmClusterDataCollectionOptionsArgs.builder()\n .isDiagnosticsEventsEnabled(cloudVmClusterDataCollectionOptionsIsDiagnosticsEventsEnabled)\n .isHealthMonitoringEnabled(cloudVmClusterDataCollectionOptionsIsHealthMonitoringEnabled)\n .isIncidentLogsEnabled(cloudVmClusterDataCollectionOptionsIsIncidentLogsEnabled)\n .build())\n .dataStoragePercentage(cloudVmClusterDataStoragePercentage)\n .dataStorageSizeInTbs(cloudVmClusterDataStorageSizeInTbs)\n .dbNodeStorageSizeInGbs(cloudVmClusterDbNodeStorageSizeInGbs)\n .dbServers(cloudVmClusterDbServers)\n .definedTags(cloudVmClusterDefinedTags)\n .domain(cloudVmClusterDomain)\n .freeformTags(Map.of(\"Department\", \"Finance\"))\n .isLocalBackupEnabled(cloudVmClusterIsLocalBackupEnabled)\n .isSparseDiskgroupEnabled(cloudVmClusterIsSparseDiskgroupEnabled)\n .licenseModel(cloudVmClusterLicenseModel)\n .memorySizeInGbs(cloudVmClusterMemorySizeInGbs)\n .nsgIds(cloudVmClusterNsgIds)\n .ocpuCount(cloudVmClusterOcpuCount)\n .privateZoneId(testZone.id())\n .scanListenerPortTcp(cloudVmClusterScanListenerPortTcp)\n .scanListenerPortTcpSsl(cloudVmClusterScanListenerPortTcpSsl)\n .systemVersion(cloudVmClusterSystemVersion)\n .timeZone(cloudVmClusterTimeZone)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCloudVmCluster:\n type: oci:Database:CloudVmCluster\n name: test_cloud_vm_cluster\n properties:\n backupSubnetId: ${testSubnet.id}\n cloudExadataInfrastructureId: ${testCloudExadataInfrastructure.id}\n compartmentId: ${compartmentId}\n cpuCoreCount: ${cloudVmClusterCpuCoreCount}\n displayName: ${cloudVmClusterDisplayName}\n giVersion: ${cloudVmClusterGiVersion}\n hostname: ${cloudVmClusterHostname}\n sshPublicKeys: ${cloudVmClusterSshPublicKeys}\n subnetId: ${testSubnet.id}\n backupNetworkNsgIds: ${cloudVmClusterBackupNetworkNsgIds}\n clusterName: ${cloudVmClusterClusterName}\n dataCollectionOptions:\n isDiagnosticsEventsEnabled: ${cloudVmClusterDataCollectionOptionsIsDiagnosticsEventsEnabled}\n isHealthMonitoringEnabled: ${cloudVmClusterDataCollectionOptionsIsHealthMonitoringEnabled}\n isIncidentLogsEnabled: ${cloudVmClusterDataCollectionOptionsIsIncidentLogsEnabled}\n dataStoragePercentage: ${cloudVmClusterDataStoragePercentage}\n dataStorageSizeInTbs: ${cloudVmClusterDataStorageSizeInTbs}\n dbNodeStorageSizeInGbs: ${cloudVmClusterDbNodeStorageSizeInGbs}\n dbServers: ${cloudVmClusterDbServers}\n definedTags: ${cloudVmClusterDefinedTags}\n domain: ${cloudVmClusterDomain}\n freeformTags:\n Department: Finance\n isLocalBackupEnabled: ${cloudVmClusterIsLocalBackupEnabled}\n isSparseDiskgroupEnabled: ${cloudVmClusterIsSparseDiskgroupEnabled}\n licenseModel: ${cloudVmClusterLicenseModel}\n memorySizeInGbs: ${cloudVmClusterMemorySizeInGbs}\n nsgIds: ${cloudVmClusterNsgIds}\n ocpuCount: ${cloudVmClusterOcpuCount}\n privateZoneId: ${testZone.id}\n scanListenerPortTcp: ${cloudVmClusterScanListenerPortTcp}\n scanListenerPortTcpSsl: ${cloudVmClusterScanListenerPortTcpSsl}\n systemVersion: ${cloudVmClusterSystemVersion}\n timeZone: ${cloudVmClusterTimeZone}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloudVmClusters can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import oci:Database/cloudVmCluster:CloudVmCluster test_cloud_vm_cluster \"id\"\n```\n", + "description": "This resource provides the Cloud Vm Cluster resource in Oracle Cloud Infrastructure Database service.\n\nCreates a cloud VM cluster.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as oci from \"@pulumi/oci\";\n\nconst testCloudVmCluster = new oci.database.CloudVmCluster(\"test_cloud_vm_cluster\", {\n backupSubnetId: testSubnet.id,\n cloudExadataInfrastructureId: testCloudExadataInfrastructure.id,\n compartmentId: compartmentId,\n cpuCoreCount: cloudVmClusterCpuCoreCount,\n displayName: cloudVmClusterDisplayName,\n giVersion: cloudVmClusterGiVersion,\n hostname: cloudVmClusterHostname,\n sshPublicKeys: cloudVmClusterSshPublicKeys,\n subnetId: testSubnet.id,\n backupNetworkNsgIds: cloudVmClusterBackupNetworkNsgIds,\n clusterName: cloudVmClusterClusterName,\n dataCollectionOptions: {\n isDiagnosticsEventsEnabled: cloudVmClusterDataCollectionOptionsIsDiagnosticsEventsEnabled,\n isHealthMonitoringEnabled: cloudVmClusterDataCollectionOptionsIsHealthMonitoringEnabled,\n isIncidentLogsEnabled: cloudVmClusterDataCollectionOptionsIsIncidentLogsEnabled,\n },\n dataStoragePercentage: cloudVmClusterDataStoragePercentage,\n dataStorageSizeInTbs: cloudVmClusterDataStorageSizeInTbs,\n dbNodeStorageSizeInGbs: cloudVmClusterDbNodeStorageSizeInGbs,\n dbServers: cloudVmClusterDbServers,\n definedTags: cloudVmClusterDefinedTags,\n domain: cloudVmClusterDomain,\n fileSystemConfigurationDetails: [{\n fileSystemSizeGb: cloudVmClusterFileSystemConfigurationDetailsFileSystemSizeGb,\n mountPoint: cloudVmClusterFileSystemConfigurationDetailsMountPoint,\n }],\n freeformTags: {\n Department: \"Finance\",\n },\n isLocalBackupEnabled: cloudVmClusterIsLocalBackupEnabled,\n isSparseDiskgroupEnabled: cloudVmClusterIsSparseDiskgroupEnabled,\n licenseModel: cloudVmClusterLicenseModel,\n memorySizeInGbs: cloudVmClusterMemorySizeInGbs,\n nsgIds: cloudVmClusterNsgIds,\n ocpuCount: cloudVmClusterOcpuCount,\n privateZoneId: testZone.id,\n scanListenerPortTcp: cloudVmClusterScanListenerPortTcp,\n scanListenerPortTcpSsl: cloudVmClusterScanListenerPortTcpSsl,\n systemVersion: cloudVmClusterSystemVersion,\n timeZone: cloudVmClusterTimeZone,\n});\n```\n```python\nimport pulumi\nimport pulumi_oci as oci\n\ntest_cloud_vm_cluster = oci.database.CloudVmCluster(\"test_cloud_vm_cluster\",\n backup_subnet_id=test_subnet[\"id\"],\n cloud_exadata_infrastructure_id=test_cloud_exadata_infrastructure[\"id\"],\n compartment_id=compartment_id,\n cpu_core_count=cloud_vm_cluster_cpu_core_count,\n display_name=cloud_vm_cluster_display_name,\n gi_version=cloud_vm_cluster_gi_version,\n hostname=cloud_vm_cluster_hostname,\n ssh_public_keys=cloud_vm_cluster_ssh_public_keys,\n subnet_id=test_subnet[\"id\"],\n backup_network_nsg_ids=cloud_vm_cluster_backup_network_nsg_ids,\n cluster_name=cloud_vm_cluster_cluster_name,\n data_collection_options=oci.database.CloudVmClusterDataCollectionOptionsArgs(\n is_diagnostics_events_enabled=cloud_vm_cluster_data_collection_options_is_diagnostics_events_enabled,\n is_health_monitoring_enabled=cloud_vm_cluster_data_collection_options_is_health_monitoring_enabled,\n is_incident_logs_enabled=cloud_vm_cluster_data_collection_options_is_incident_logs_enabled,\n ),\n data_storage_percentage=cloud_vm_cluster_data_storage_percentage,\n data_storage_size_in_tbs=cloud_vm_cluster_data_storage_size_in_tbs,\n db_node_storage_size_in_gbs=cloud_vm_cluster_db_node_storage_size_in_gbs,\n db_servers=cloud_vm_cluster_db_servers,\n defined_tags=cloud_vm_cluster_defined_tags,\n domain=cloud_vm_cluster_domain,\n file_system_configuration_details=[oci.database.CloudVmClusterFileSystemConfigurationDetailArgs(\n file_system_size_gb=cloud_vm_cluster_file_system_configuration_details_file_system_size_gb,\n mount_point=cloud_vm_cluster_file_system_configuration_details_mount_point,\n )],\n freeform_tags={\n \"Department\": \"Finance\",\n },\n is_local_backup_enabled=cloud_vm_cluster_is_local_backup_enabled,\n is_sparse_diskgroup_enabled=cloud_vm_cluster_is_sparse_diskgroup_enabled,\n license_model=cloud_vm_cluster_license_model,\n memory_size_in_gbs=cloud_vm_cluster_memory_size_in_gbs,\n nsg_ids=cloud_vm_cluster_nsg_ids,\n ocpu_count=cloud_vm_cluster_ocpu_count,\n private_zone_id=test_zone[\"id\"],\n scan_listener_port_tcp=cloud_vm_cluster_scan_listener_port_tcp,\n scan_listener_port_tcp_ssl=cloud_vm_cluster_scan_listener_port_tcp_ssl,\n system_version=cloud_vm_cluster_system_version,\n time_zone=cloud_vm_cluster_time_zone)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Oci = Pulumi.Oci;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCloudVmCluster = new Oci.Database.CloudVmCluster(\"test_cloud_vm_cluster\", new()\n {\n BackupSubnetId = testSubnet.Id,\n CloudExadataInfrastructureId = testCloudExadataInfrastructure.Id,\n CompartmentId = compartmentId,\n CpuCoreCount = cloudVmClusterCpuCoreCount,\n DisplayName = cloudVmClusterDisplayName,\n GiVersion = cloudVmClusterGiVersion,\n Hostname = cloudVmClusterHostname,\n SshPublicKeys = cloudVmClusterSshPublicKeys,\n SubnetId = testSubnet.Id,\n BackupNetworkNsgIds = cloudVmClusterBackupNetworkNsgIds,\n ClusterName = cloudVmClusterClusterName,\n DataCollectionOptions = new Oci.Database.Inputs.CloudVmClusterDataCollectionOptionsArgs\n {\n IsDiagnosticsEventsEnabled = cloudVmClusterDataCollectionOptionsIsDiagnosticsEventsEnabled,\n IsHealthMonitoringEnabled = cloudVmClusterDataCollectionOptionsIsHealthMonitoringEnabled,\n IsIncidentLogsEnabled = cloudVmClusterDataCollectionOptionsIsIncidentLogsEnabled,\n },\n DataStoragePercentage = cloudVmClusterDataStoragePercentage,\n DataStorageSizeInTbs = cloudVmClusterDataStorageSizeInTbs,\n DbNodeStorageSizeInGbs = cloudVmClusterDbNodeStorageSizeInGbs,\n DbServers = cloudVmClusterDbServers,\n DefinedTags = cloudVmClusterDefinedTags,\n Domain = cloudVmClusterDomain,\n FileSystemConfigurationDetails = new[]\n {\n new Oci.Database.Inputs.CloudVmClusterFileSystemConfigurationDetailArgs\n {\n FileSystemSizeGb = cloudVmClusterFileSystemConfigurationDetailsFileSystemSizeGb,\n MountPoint = cloudVmClusterFileSystemConfigurationDetailsMountPoint,\n },\n },\n FreeformTags = \n {\n { \"Department\", \"Finance\" },\n },\n IsLocalBackupEnabled = cloudVmClusterIsLocalBackupEnabled,\n IsSparseDiskgroupEnabled = cloudVmClusterIsSparseDiskgroupEnabled,\n LicenseModel = cloudVmClusterLicenseModel,\n MemorySizeInGbs = cloudVmClusterMemorySizeInGbs,\n NsgIds = cloudVmClusterNsgIds,\n OcpuCount = cloudVmClusterOcpuCount,\n PrivateZoneId = testZone.Id,\n ScanListenerPortTcp = cloudVmClusterScanListenerPortTcp,\n ScanListenerPortTcpSsl = cloudVmClusterScanListenerPortTcpSsl,\n SystemVersion = cloudVmClusterSystemVersion,\n TimeZone = cloudVmClusterTimeZone,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-oci/sdk/go/oci/Database\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Database.NewCloudVmCluster(ctx, \"test_cloud_vm_cluster\", \u0026Database.CloudVmClusterArgs{\n\t\t\tBackupSubnetId: pulumi.Any(testSubnet.Id),\n\t\t\tCloudExadataInfrastructureId: pulumi.Any(testCloudExadataInfrastructure.Id),\n\t\t\tCompartmentId: pulumi.Any(compartmentId),\n\t\t\tCpuCoreCount: pulumi.Any(cloudVmClusterCpuCoreCount),\n\t\t\tDisplayName: pulumi.Any(cloudVmClusterDisplayName),\n\t\t\tGiVersion: pulumi.Any(cloudVmClusterGiVersion),\n\t\t\tHostname: pulumi.Any(cloudVmClusterHostname),\n\t\t\tSshPublicKeys: pulumi.Any(cloudVmClusterSshPublicKeys),\n\t\t\tSubnetId: pulumi.Any(testSubnet.Id),\n\t\t\tBackupNetworkNsgIds: pulumi.Any(cloudVmClusterBackupNetworkNsgIds),\n\t\t\tClusterName: pulumi.Any(cloudVmClusterClusterName),\n\t\t\tDataCollectionOptions: \u0026database.CloudVmClusterDataCollectionOptionsArgs{\n\t\t\t\tIsDiagnosticsEventsEnabled: pulumi.Any(cloudVmClusterDataCollectionOptionsIsDiagnosticsEventsEnabled),\n\t\t\t\tIsHealthMonitoringEnabled: pulumi.Any(cloudVmClusterDataCollectionOptionsIsHealthMonitoringEnabled),\n\t\t\t\tIsIncidentLogsEnabled: pulumi.Any(cloudVmClusterDataCollectionOptionsIsIncidentLogsEnabled),\n\t\t\t},\n\t\t\tDataStoragePercentage: pulumi.Any(cloudVmClusterDataStoragePercentage),\n\t\t\tDataStorageSizeInTbs: pulumi.Any(cloudVmClusterDataStorageSizeInTbs),\n\t\t\tDbNodeStorageSizeInGbs: pulumi.Any(cloudVmClusterDbNodeStorageSizeInGbs),\n\t\t\tDbServers: pulumi.Any(cloudVmClusterDbServers),\n\t\t\tDefinedTags: pulumi.Any(cloudVmClusterDefinedTags),\n\t\t\tDomain: pulumi.Any(cloudVmClusterDomain),\n\t\t\tFileSystemConfigurationDetails: database.CloudVmClusterFileSystemConfigurationDetailArray{\n\t\t\t\t\u0026database.CloudVmClusterFileSystemConfigurationDetailArgs{\n\t\t\t\t\tFileSystemSizeGb: pulumi.Any(cloudVmClusterFileSystemConfigurationDetailsFileSystemSizeGb),\n\t\t\t\t\tMountPoint: pulumi.Any(cloudVmClusterFileSystemConfigurationDetailsMountPoint),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFreeformTags: pulumi.Map{\n\t\t\t\t\"Department\": pulumi.Any(\"Finance\"),\n\t\t\t},\n\t\t\tIsLocalBackupEnabled: pulumi.Any(cloudVmClusterIsLocalBackupEnabled),\n\t\t\tIsSparseDiskgroupEnabled: pulumi.Any(cloudVmClusterIsSparseDiskgroupEnabled),\n\t\t\tLicenseModel: pulumi.Any(cloudVmClusterLicenseModel),\n\t\t\tMemorySizeInGbs: pulumi.Any(cloudVmClusterMemorySizeInGbs),\n\t\t\tNsgIds: pulumi.Any(cloudVmClusterNsgIds),\n\t\t\tOcpuCount: pulumi.Any(cloudVmClusterOcpuCount),\n\t\t\tPrivateZoneId: pulumi.Any(testZone.Id),\n\t\t\tScanListenerPortTcp: pulumi.Any(cloudVmClusterScanListenerPortTcp),\n\t\t\tScanListenerPortTcpSsl: pulumi.Any(cloudVmClusterScanListenerPortTcpSsl),\n\t\t\tSystemVersion: pulumi.Any(cloudVmClusterSystemVersion),\n\t\t\tTimeZone: pulumi.Any(cloudVmClusterTimeZone),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.oci.Database.CloudVmCluster;\nimport com.pulumi.oci.Database.CloudVmClusterArgs;\nimport com.pulumi.oci.Database.inputs.CloudVmClusterDataCollectionOptionsArgs;\nimport com.pulumi.oci.Database.inputs.CloudVmClusterFileSystemConfigurationDetailArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testCloudVmCluster = new CloudVmCluster(\"testCloudVmCluster\", CloudVmClusterArgs.builder() \n .backupSubnetId(testSubnet.id())\n .cloudExadataInfrastructureId(testCloudExadataInfrastructure.id())\n .compartmentId(compartmentId)\n .cpuCoreCount(cloudVmClusterCpuCoreCount)\n .displayName(cloudVmClusterDisplayName)\n .giVersion(cloudVmClusterGiVersion)\n .hostname(cloudVmClusterHostname)\n .sshPublicKeys(cloudVmClusterSshPublicKeys)\n .subnetId(testSubnet.id())\n .backupNetworkNsgIds(cloudVmClusterBackupNetworkNsgIds)\n .clusterName(cloudVmClusterClusterName)\n .dataCollectionOptions(CloudVmClusterDataCollectionOptionsArgs.builder()\n .isDiagnosticsEventsEnabled(cloudVmClusterDataCollectionOptionsIsDiagnosticsEventsEnabled)\n .isHealthMonitoringEnabled(cloudVmClusterDataCollectionOptionsIsHealthMonitoringEnabled)\n .isIncidentLogsEnabled(cloudVmClusterDataCollectionOptionsIsIncidentLogsEnabled)\n .build())\n .dataStoragePercentage(cloudVmClusterDataStoragePercentage)\n .dataStorageSizeInTbs(cloudVmClusterDataStorageSizeInTbs)\n .dbNodeStorageSizeInGbs(cloudVmClusterDbNodeStorageSizeInGbs)\n .dbServers(cloudVmClusterDbServers)\n .definedTags(cloudVmClusterDefinedTags)\n .domain(cloudVmClusterDomain)\n .fileSystemConfigurationDetails(CloudVmClusterFileSystemConfigurationDetailArgs.builder()\n .fileSystemSizeGb(cloudVmClusterFileSystemConfigurationDetailsFileSystemSizeGb)\n .mountPoint(cloudVmClusterFileSystemConfigurationDetailsMountPoint)\n .build())\n .freeformTags(Map.of(\"Department\", \"Finance\"))\n .isLocalBackupEnabled(cloudVmClusterIsLocalBackupEnabled)\n .isSparseDiskgroupEnabled(cloudVmClusterIsSparseDiskgroupEnabled)\n .licenseModel(cloudVmClusterLicenseModel)\n .memorySizeInGbs(cloudVmClusterMemorySizeInGbs)\n .nsgIds(cloudVmClusterNsgIds)\n .ocpuCount(cloudVmClusterOcpuCount)\n .privateZoneId(testZone.id())\n .scanListenerPortTcp(cloudVmClusterScanListenerPortTcp)\n .scanListenerPortTcpSsl(cloudVmClusterScanListenerPortTcpSsl)\n .systemVersion(cloudVmClusterSystemVersion)\n .timeZone(cloudVmClusterTimeZone)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCloudVmCluster:\n type: oci:Database:CloudVmCluster\n name: test_cloud_vm_cluster\n properties:\n backupSubnetId: ${testSubnet.id}\n cloudExadataInfrastructureId: ${testCloudExadataInfrastructure.id}\n compartmentId: ${compartmentId}\n cpuCoreCount: ${cloudVmClusterCpuCoreCount}\n displayName: ${cloudVmClusterDisplayName}\n giVersion: ${cloudVmClusterGiVersion}\n hostname: ${cloudVmClusterHostname}\n sshPublicKeys: ${cloudVmClusterSshPublicKeys}\n subnetId: ${testSubnet.id}\n backupNetworkNsgIds: ${cloudVmClusterBackupNetworkNsgIds}\n clusterName: ${cloudVmClusterClusterName}\n dataCollectionOptions:\n isDiagnosticsEventsEnabled: ${cloudVmClusterDataCollectionOptionsIsDiagnosticsEventsEnabled}\n isHealthMonitoringEnabled: ${cloudVmClusterDataCollectionOptionsIsHealthMonitoringEnabled}\n isIncidentLogsEnabled: ${cloudVmClusterDataCollectionOptionsIsIncidentLogsEnabled}\n dataStoragePercentage: ${cloudVmClusterDataStoragePercentage}\n dataStorageSizeInTbs: ${cloudVmClusterDataStorageSizeInTbs}\n dbNodeStorageSizeInGbs: ${cloudVmClusterDbNodeStorageSizeInGbs}\n dbServers: ${cloudVmClusterDbServers}\n definedTags: ${cloudVmClusterDefinedTags}\n domain: ${cloudVmClusterDomain}\n fileSystemConfigurationDetails:\n - fileSystemSizeGb: ${cloudVmClusterFileSystemConfigurationDetailsFileSystemSizeGb}\n mountPoint: ${cloudVmClusterFileSystemConfigurationDetailsMountPoint}\n freeformTags:\n Department: Finance\n isLocalBackupEnabled: ${cloudVmClusterIsLocalBackupEnabled}\n isSparseDiskgroupEnabled: ${cloudVmClusterIsSparseDiskgroupEnabled}\n licenseModel: ${cloudVmClusterLicenseModel}\n memorySizeInGbs: ${cloudVmClusterMemorySizeInGbs}\n nsgIds: ${cloudVmClusterNsgIds}\n ocpuCount: ${cloudVmClusterOcpuCount}\n privateZoneId: ${testZone.id}\n scanListenerPortTcp: ${cloudVmClusterScanListenerPortTcp}\n scanListenerPortTcpSsl: ${cloudVmClusterScanListenerPortTcpSsl}\n systemVersion: ${cloudVmClusterSystemVersion}\n timeZone: ${cloudVmClusterTimeZone}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloudVmClusters can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import oci:Database/cloudVmCluster:CloudVmCluster test_cloud_vm_cluster \"id\"\n```\n", "properties": { "availabilityDomain": { "type": "string", @@ -419200,6 +419580,13 @@ "type": "string", "description": "A domain name used for the cloud VM cluster. If the Oracle-provided internet and VCN resolver is enabled for the specified subnet, the domain name for the subnet is used (do not provide one). Otherwise, provide a valid DNS domain name. Hyphens (-) are not permitted. Applies to Exadata Cloud Service instances only.\n" }, + "fileSystemConfigurationDetails": { + "type": "array", + "items": { + "$ref": "#/types/oci:Database/CloudVmClusterFileSystemConfigurationDetail:CloudVmClusterFileSystemConfigurationDetail" + }, + "description": "(Updatable) Details of the file system configuration of the VM cluster.\n" + }, "freeformTags": { "type": "object", "additionalProperties": { @@ -419363,6 +419750,7 @@ "diskRedundancy", "displayName", "domain", + "fileSystemConfigurationDetails", "freeformTags", "giVersion", "hostname", @@ -419470,6 +419858,13 @@ "description": "A domain name used for the cloud VM cluster. If the Oracle-provided internet and VCN resolver is enabled for the specified subnet, the domain name for the subnet is used (do not provide one). Otherwise, provide a valid DNS domain name. Hyphens (-) are not permitted. Applies to Exadata Cloud Service instances only.\n", "willReplaceOnChanges": true }, + "fileSystemConfigurationDetails": { + "type": "array", + "items": { + "$ref": "#/types/oci:Database/CloudVmClusterFileSystemConfigurationDetail:CloudVmClusterFileSystemConfigurationDetail" + }, + "description": "(Updatable) Details of the file system configuration of the VM cluster.\n" + }, "freeformTags": { "type": "object", "additionalProperties": { @@ -419650,6 +420045,13 @@ "description": "A domain name used for the cloud VM cluster. If the Oracle-provided internet and VCN resolver is enabled for the specified subnet, the domain name for the subnet is used (do not provide one). Otherwise, provide a valid DNS domain name. Hyphens (-) are not permitted. Applies to Exadata Cloud Service instances only.\n", "willReplaceOnChanges": true }, + "fileSystemConfigurationDetails": { + "type": "array", + "items": { + "$ref": "#/types/oci:Database/CloudVmClusterFileSystemConfigurationDetail:CloudVmClusterFileSystemConfigurationDetail" + }, + "description": "(Updatable) Details of the file system configuration of the VM cluster.\n" + }, "freeformTags": { "type": "object", "additionalProperties": { @@ -477670,7 +478072,7 @@ } }, "oci:LoadBalancer/backend:Backend": { - "description": "This resource provides the Backend resource in Oracle Cloud Infrastructure Load Balancer service.\n\nAdds a backend server to a backend set.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as oci from \"@pulumi/oci\";\n\nconst testBackend = new oci.loadbalancer.Backend(\"test_backend\", {\n backendsetName: testBackendSet.name,\n ipAddress: backendIpAddress,\n loadBalancerId: testLoadBalancer.id,\n port: backendPort,\n backup: backendBackup,\n drain: backendDrain,\n offline: backendOffline,\n weight: backendWeight,\n});\n```\n```python\nimport pulumi\nimport pulumi_oci as oci\n\ntest_backend = oci.load_balancer.Backend(\"test_backend\",\n backendset_name=test_backend_set[\"name\"],\n ip_address=backend_ip_address,\n load_balancer_id=test_load_balancer[\"id\"],\n port=backend_port,\n backup=backend_backup,\n drain=backend_drain,\n offline=backend_offline,\n weight=backend_weight)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Oci = Pulumi.Oci;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testBackend = new Oci.LoadBalancer.Backend(\"test_backend\", new()\n {\n BackendsetName = testBackendSet.Name,\n IpAddress = backendIpAddress,\n LoadBalancerId = testLoadBalancer.Id,\n Port = backendPort,\n Backup = backendBackup,\n Drain = backendDrain,\n Offline = backendOffline,\n Weight = backendWeight,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-oci/sdk/go/oci/LoadBalancer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := LoadBalancer.NewBackend(ctx, \"test_backend\", \u0026LoadBalancer.BackendArgs{\n\t\t\tBackendsetName: pulumi.Any(testBackendSet.Name),\n\t\t\tIpAddress: pulumi.Any(backendIpAddress),\n\t\t\tLoadBalancerId: pulumi.Any(testLoadBalancer.Id),\n\t\t\tPort: pulumi.Any(backendPort),\n\t\t\tBackup: pulumi.Any(backendBackup),\n\t\t\tDrain: pulumi.Any(backendDrain),\n\t\t\tOffline: pulumi.Any(backendOffline),\n\t\t\tWeight: pulumi.Any(backendWeight),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.oci.LoadBalancer.Backend;\nimport com.pulumi.oci.LoadBalancer.BackendArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testBackend = new Backend(\"testBackend\", BackendArgs.builder() \n .backendsetName(testBackendSet.name())\n .ipAddress(backendIpAddress)\n .loadBalancerId(testLoadBalancer.id())\n .port(backendPort)\n .backup(backendBackup)\n .drain(backendDrain)\n .offline(backendOffline)\n .weight(backendWeight)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testBackend:\n type: oci:LoadBalancer:Backend\n name: test_backend\n properties:\n backendsetName: ${testBackendSet.name}\n ipAddress: ${backendIpAddress}\n loadBalancerId: ${testLoadBalancer.id}\n port: ${backendPort}\n backup: ${backendBackup}\n drain: ${backendDrain}\n offline: ${backendOffline}\n weight: ${backendWeight}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nBackends can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import oci:LoadBalancer/backend:Backend test_backend \"loadBalancers/{loadBalancerId}/backendSets/{backendSetName}/backends/{backendName}\"\n```\n", + "description": "This resource provides the Backend resource in Oracle Cloud Infrastructure Load Balancer service.\n\nAdds a backend server to a backend set.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as oci from \"@pulumi/oci\";\n\nconst testBackend = new oci.loadbalancer.Backend(\"test_backend\", {\n backendsetName: testBackendSet.name,\n ipAddress: backendIpAddress,\n loadBalancerId: testLoadBalancer.id,\n port: backendPort,\n backup: backendBackup,\n drain: backendDrain,\n maxConnections: backendMaxConnections,\n offline: backendOffline,\n weight: backendWeight,\n});\n```\n```python\nimport pulumi\nimport pulumi_oci as oci\n\ntest_backend = oci.load_balancer.Backend(\"test_backend\",\n backendset_name=test_backend_set[\"name\"],\n ip_address=backend_ip_address,\n load_balancer_id=test_load_balancer[\"id\"],\n port=backend_port,\n backup=backend_backup,\n drain=backend_drain,\n max_connections=backend_max_connections,\n offline=backend_offline,\n weight=backend_weight)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Oci = Pulumi.Oci;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testBackend = new Oci.LoadBalancer.Backend(\"test_backend\", new()\n {\n BackendsetName = testBackendSet.Name,\n IpAddress = backendIpAddress,\n LoadBalancerId = testLoadBalancer.Id,\n Port = backendPort,\n Backup = backendBackup,\n Drain = backendDrain,\n MaxConnections = backendMaxConnections,\n Offline = backendOffline,\n Weight = backendWeight,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-oci/sdk/go/oci/LoadBalancer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := LoadBalancer.NewBackend(ctx, \"test_backend\", \u0026LoadBalancer.BackendArgs{\n\t\t\tBackendsetName: pulumi.Any(testBackendSet.Name),\n\t\t\tIpAddress: pulumi.Any(backendIpAddress),\n\t\t\tLoadBalancerId: pulumi.Any(testLoadBalancer.Id),\n\t\t\tPort: pulumi.Any(backendPort),\n\t\t\tBackup: pulumi.Any(backendBackup),\n\t\t\tDrain: pulumi.Any(backendDrain),\n\t\t\tMaxConnections: pulumi.Any(backendMaxConnections),\n\t\t\tOffline: pulumi.Any(backendOffline),\n\t\t\tWeight: pulumi.Any(backendWeight),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.oci.LoadBalancer.Backend;\nimport com.pulumi.oci.LoadBalancer.BackendArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testBackend = new Backend(\"testBackend\", BackendArgs.builder() \n .backendsetName(testBackendSet.name())\n .ipAddress(backendIpAddress)\n .loadBalancerId(testLoadBalancer.id())\n .port(backendPort)\n .backup(backendBackup)\n .drain(backendDrain)\n .maxConnections(backendMaxConnections)\n .offline(backendOffline)\n .weight(backendWeight)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testBackend:\n type: oci:LoadBalancer:Backend\n name: test_backend\n properties:\n backendsetName: ${testBackendSet.name}\n ipAddress: ${backendIpAddress}\n loadBalancerId: ${testLoadBalancer.id}\n port: ${backendPort}\n backup: ${backendBackup}\n drain: ${backendDrain}\n maxConnections: ${backendMaxConnections}\n offline: ${backendOffline}\n weight: ${backendWeight}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nBackends can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import oci:LoadBalancer/backend:Backend test_backend \"loadBalancers/{loadBalancerId}/backendSets/{backendSetName}/backends/{backendName}\"\n```\n", "properties": { "backendsetName": { "type": "string", @@ -477692,6 +478094,10 @@ "type": "string", "description": "The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the load balancer associated with the backend set and servers.\n" }, + "maxConnections": { + "type": "integer", + "description": "(Updatable) The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300`\n" + }, "name": { "type": "string", "description": "A read-only field showing the IP address and port that uniquely identify this backend server in the backend set. Example: `10.0.0.3:8080`\n" @@ -477717,6 +478123,7 @@ "drain", "ipAddress", "loadBalancerId", + "maxConnections", "name", "offline", "port", @@ -477747,6 +478154,10 @@ "description": "The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the load balancer associated with the backend set and servers.\n", "willReplaceOnChanges": true }, + "maxConnections": { + "type": "integer", + "description": "(Updatable) The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300`\n" + }, "offline": { "type": "boolean", "description": "(Updatable) Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false`\n" @@ -477793,6 +478204,10 @@ "description": "The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the load balancer associated with the backend set and servers.\n", "willReplaceOnChanges": true }, + "maxConnections": { + "type": "integer", + "description": "(Updatable) The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300`\n" + }, "name": { "type": "string", "description": "A read-only field showing the IP address and port that uniquely identify this backend server in the backend set. Example: `10.0.0.3:8080`\n" @@ -477818,13 +478233,18 @@ } }, "oci:LoadBalancer/backendSet:BackendSet": { - "description": "This resource provides the Backend Set resource in Oracle Cloud Infrastructure Load Balancer service.\n\nAdds a backend set to a load balancer.\n\n## Supported Aliases\n\n* `oci_load_balancer_backendset`\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as oci from \"@pulumi/oci\";\n\nconst testBackendSet = new oci.loadbalancer.BackendSet(\"test_backend_set\", {\n healthChecker: {\n protocol: backendSetHealthCheckerProtocol,\n intervalMs: backendSetHealthCheckerIntervalMs,\n isForcePlainText: backendSetHealthCheckerIsForcePlainText,\n port: backendSetHealthCheckerPort,\n responseBodyRegex: backendSetHealthCheckerResponseBodyRegex,\n retries: backendSetHealthCheckerRetries,\n returnCode: backendSetHealthCheckerReturnCode,\n timeoutInMillis: backendSetHealthCheckerTimeoutInMillis,\n urlPath: backendSetHealthCheckerUrlPath,\n },\n loadBalancerId: testLoadBalancer.id,\n name: backendSetName,\n policy: backendSetPolicy,\n lbCookieSessionPersistenceConfiguration: {\n cookieName: backendSetLbCookieSessionPersistenceConfigurationCookieName,\n disableFallback: backendSetLbCookieSessionPersistenceConfigurationDisableFallback,\n domain: backendSetLbCookieSessionPersistenceConfigurationDomain,\n isHttpOnly: backendSetLbCookieSessionPersistenceConfigurationIsHttpOnly,\n isSecure: backendSetLbCookieSessionPersistenceConfigurationIsSecure,\n maxAgeInSeconds: backendSetLbCookieSessionPersistenceConfigurationMaxAgeInSeconds,\n path: backendSetLbCookieSessionPersistenceConfigurationPath,\n },\n sessionPersistenceConfiguration: {\n cookieName: backendSetSessionPersistenceConfigurationCookieName,\n disableFallback: backendSetSessionPersistenceConfigurationDisableFallback,\n },\n sslConfiguration: {\n certificateIds: backendSetSslConfigurationCertificateIds,\n certificateName: testCertificate.name,\n cipherSuiteName: backendSetSslConfigurationCipherSuiteName,\n protocols: backendSetSslConfigurationProtocols,\n serverOrderPreference: backendSetSslConfigurationServerOrderPreference,\n trustedCertificateAuthorityIds: backendSetSslConfigurationTrustedCertificateAuthorityIds,\n verifyDepth: backendSetSslConfigurationVerifyDepth,\n verifyPeerCertificate: backendSetSslConfigurationVerifyPeerCertificate,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_oci as oci\n\ntest_backend_set = oci.load_balancer.BackendSet(\"test_backend_set\",\n health_checker=oci.load_balancer.BackendSetHealthCheckerArgs(\n protocol=backend_set_health_checker_protocol,\n interval_ms=backend_set_health_checker_interval_ms,\n is_force_plain_text=backend_set_health_checker_is_force_plain_text,\n port=backend_set_health_checker_port,\n response_body_regex=backend_set_health_checker_response_body_regex,\n retries=backend_set_health_checker_retries,\n return_code=backend_set_health_checker_return_code,\n timeout_in_millis=backend_set_health_checker_timeout_in_millis,\n url_path=backend_set_health_checker_url_path,\n ),\n load_balancer_id=test_load_balancer[\"id\"],\n name=backend_set_name,\n policy=backend_set_policy,\n lb_cookie_session_persistence_configuration=oci.load_balancer.BackendSetLbCookieSessionPersistenceConfigurationArgs(\n cookie_name=backend_set_lb_cookie_session_persistence_configuration_cookie_name,\n disable_fallback=backend_set_lb_cookie_session_persistence_configuration_disable_fallback,\n domain=backend_set_lb_cookie_session_persistence_configuration_domain,\n is_http_only=backend_set_lb_cookie_session_persistence_configuration_is_http_only,\n is_secure=backend_set_lb_cookie_session_persistence_configuration_is_secure,\n max_age_in_seconds=backend_set_lb_cookie_session_persistence_configuration_max_age_in_seconds,\n path=backend_set_lb_cookie_session_persistence_configuration_path,\n ),\n session_persistence_configuration=oci.load_balancer.BackendSetSessionPersistenceConfigurationArgs(\n cookie_name=backend_set_session_persistence_configuration_cookie_name,\n disable_fallback=backend_set_session_persistence_configuration_disable_fallback,\n ),\n ssl_configuration=oci.load_balancer.BackendSetSslConfigurationArgs(\n certificate_ids=backend_set_ssl_configuration_certificate_ids,\n certificate_name=test_certificate[\"name\"],\n cipher_suite_name=backend_set_ssl_configuration_cipher_suite_name,\n protocols=backend_set_ssl_configuration_protocols,\n server_order_preference=backend_set_ssl_configuration_server_order_preference,\n trusted_certificate_authority_ids=backend_set_ssl_configuration_trusted_certificate_authority_ids,\n verify_depth=backend_set_ssl_configuration_verify_depth,\n verify_peer_certificate=backend_set_ssl_configuration_verify_peer_certificate,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Oci = Pulumi.Oci;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testBackendSet = new Oci.LoadBalancer.BackendSet(\"test_backend_set\", new()\n {\n HealthChecker = new Oci.LoadBalancer.Inputs.BackendSetHealthCheckerArgs\n {\n Protocol = backendSetHealthCheckerProtocol,\n IntervalMs = backendSetHealthCheckerIntervalMs,\n IsForcePlainText = backendSetHealthCheckerIsForcePlainText,\n Port = backendSetHealthCheckerPort,\n ResponseBodyRegex = backendSetHealthCheckerResponseBodyRegex,\n Retries = backendSetHealthCheckerRetries,\n ReturnCode = backendSetHealthCheckerReturnCode,\n TimeoutInMillis = backendSetHealthCheckerTimeoutInMillis,\n UrlPath = backendSetHealthCheckerUrlPath,\n },\n LoadBalancerId = testLoadBalancer.Id,\n Name = backendSetName,\n Policy = backendSetPolicy,\n LbCookieSessionPersistenceConfiguration = new Oci.LoadBalancer.Inputs.BackendSetLbCookieSessionPersistenceConfigurationArgs\n {\n CookieName = backendSetLbCookieSessionPersistenceConfigurationCookieName,\n DisableFallback = backendSetLbCookieSessionPersistenceConfigurationDisableFallback,\n Domain = backendSetLbCookieSessionPersistenceConfigurationDomain,\n IsHttpOnly = backendSetLbCookieSessionPersistenceConfigurationIsHttpOnly,\n IsSecure = backendSetLbCookieSessionPersistenceConfigurationIsSecure,\n MaxAgeInSeconds = backendSetLbCookieSessionPersistenceConfigurationMaxAgeInSeconds,\n Path = backendSetLbCookieSessionPersistenceConfigurationPath,\n },\n SessionPersistenceConfiguration = new Oci.LoadBalancer.Inputs.BackendSetSessionPersistenceConfigurationArgs\n {\n CookieName = backendSetSessionPersistenceConfigurationCookieName,\n DisableFallback = backendSetSessionPersistenceConfigurationDisableFallback,\n },\n SslConfiguration = new Oci.LoadBalancer.Inputs.BackendSetSslConfigurationArgs\n {\n CertificateIds = backendSetSslConfigurationCertificateIds,\n CertificateName = testCertificate.Name,\n CipherSuiteName = backendSetSslConfigurationCipherSuiteName,\n Protocols = backendSetSslConfigurationProtocols,\n ServerOrderPreference = backendSetSslConfigurationServerOrderPreference,\n TrustedCertificateAuthorityIds = backendSetSslConfigurationTrustedCertificateAuthorityIds,\n VerifyDepth = backendSetSslConfigurationVerifyDepth,\n VerifyPeerCertificate = backendSetSslConfigurationVerifyPeerCertificate,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-oci/sdk/go/oci/LoadBalancer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := LoadBalancer.NewBackendSet(ctx, \"test_backend_set\", \u0026LoadBalancer.BackendSetArgs{\n\t\t\tHealthChecker: \u0026loadbalancer.BackendSetHealthCheckerArgs{\n\t\t\t\tProtocol: pulumi.Any(backendSetHealthCheckerProtocol),\n\t\t\t\tIntervalMs: pulumi.Any(backendSetHealthCheckerIntervalMs),\n\t\t\t\tIsForcePlainText: pulumi.Any(backendSetHealthCheckerIsForcePlainText),\n\t\t\t\tPort: pulumi.Any(backendSetHealthCheckerPort),\n\t\t\t\tResponseBodyRegex: pulumi.Any(backendSetHealthCheckerResponseBodyRegex),\n\t\t\t\tRetries: pulumi.Any(backendSetHealthCheckerRetries),\n\t\t\t\tReturnCode: pulumi.Any(backendSetHealthCheckerReturnCode),\n\t\t\t\tTimeoutInMillis: pulumi.Any(backendSetHealthCheckerTimeoutInMillis),\n\t\t\t\tUrlPath: pulumi.Any(backendSetHealthCheckerUrlPath),\n\t\t\t},\n\t\t\tLoadBalancerId: pulumi.Any(testLoadBalancer.Id),\n\t\t\tName: pulumi.Any(backendSetName),\n\t\t\tPolicy: pulumi.Any(backendSetPolicy),\n\t\t\tLbCookieSessionPersistenceConfiguration: \u0026loadbalancer.BackendSetLbCookieSessionPersistenceConfigurationArgs{\n\t\t\t\tCookieName: pulumi.Any(backendSetLbCookieSessionPersistenceConfigurationCookieName),\n\t\t\t\tDisableFallback: pulumi.Any(backendSetLbCookieSessionPersistenceConfigurationDisableFallback),\n\t\t\t\tDomain: pulumi.Any(backendSetLbCookieSessionPersistenceConfigurationDomain),\n\t\t\t\tIsHttpOnly: pulumi.Any(backendSetLbCookieSessionPersistenceConfigurationIsHttpOnly),\n\t\t\t\tIsSecure: pulumi.Any(backendSetLbCookieSessionPersistenceConfigurationIsSecure),\n\t\t\t\tMaxAgeInSeconds: pulumi.Any(backendSetLbCookieSessionPersistenceConfigurationMaxAgeInSeconds),\n\t\t\t\tPath: pulumi.Any(backendSetLbCookieSessionPersistenceConfigurationPath),\n\t\t\t},\n\t\t\tSessionPersistenceConfiguration: \u0026loadbalancer.BackendSetSessionPersistenceConfigurationArgs{\n\t\t\t\tCookieName: pulumi.Any(backendSetSessionPersistenceConfigurationCookieName),\n\t\t\t\tDisableFallback: pulumi.Any(backendSetSessionPersistenceConfigurationDisableFallback),\n\t\t\t},\n\t\t\tSslConfiguration: \u0026loadbalancer.BackendSetSslConfigurationArgs{\n\t\t\t\tCertificateIds: pulumi.Any(backendSetSslConfigurationCertificateIds),\n\t\t\t\tCertificateName: pulumi.Any(testCertificate.Name),\n\t\t\t\tCipherSuiteName: pulumi.Any(backendSetSslConfigurationCipherSuiteName),\n\t\t\t\tProtocols: pulumi.Any(backendSetSslConfigurationProtocols),\n\t\t\t\tServerOrderPreference: pulumi.Any(backendSetSslConfigurationServerOrderPreference),\n\t\t\t\tTrustedCertificateAuthorityIds: pulumi.Any(backendSetSslConfigurationTrustedCertificateAuthorityIds),\n\t\t\t\tVerifyDepth: pulumi.Any(backendSetSslConfigurationVerifyDepth),\n\t\t\t\tVerifyPeerCertificate: pulumi.Any(backendSetSslConfigurationVerifyPeerCertificate),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.oci.LoadBalancer.BackendSet;\nimport com.pulumi.oci.LoadBalancer.BackendSetArgs;\nimport com.pulumi.oci.LoadBalancer.inputs.BackendSetHealthCheckerArgs;\nimport com.pulumi.oci.LoadBalancer.inputs.BackendSetLbCookieSessionPersistenceConfigurationArgs;\nimport com.pulumi.oci.LoadBalancer.inputs.BackendSetSessionPersistenceConfigurationArgs;\nimport com.pulumi.oci.LoadBalancer.inputs.BackendSetSslConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testBackendSet = new BackendSet(\"testBackendSet\", BackendSetArgs.builder() \n .healthChecker(BackendSetHealthCheckerArgs.builder()\n .protocol(backendSetHealthCheckerProtocol)\n .intervalMs(backendSetHealthCheckerIntervalMs)\n .isForcePlainText(backendSetHealthCheckerIsForcePlainText)\n .port(backendSetHealthCheckerPort)\n .responseBodyRegex(backendSetHealthCheckerResponseBodyRegex)\n .retries(backendSetHealthCheckerRetries)\n .returnCode(backendSetHealthCheckerReturnCode)\n .timeoutInMillis(backendSetHealthCheckerTimeoutInMillis)\n .urlPath(backendSetHealthCheckerUrlPath)\n .build())\n .loadBalancerId(testLoadBalancer.id())\n .name(backendSetName)\n .policy(backendSetPolicy)\n .lbCookieSessionPersistenceConfiguration(BackendSetLbCookieSessionPersistenceConfigurationArgs.builder()\n .cookieName(backendSetLbCookieSessionPersistenceConfigurationCookieName)\n .disableFallback(backendSetLbCookieSessionPersistenceConfigurationDisableFallback)\n .domain(backendSetLbCookieSessionPersistenceConfigurationDomain)\n .isHttpOnly(backendSetLbCookieSessionPersistenceConfigurationIsHttpOnly)\n .isSecure(backendSetLbCookieSessionPersistenceConfigurationIsSecure)\n .maxAgeInSeconds(backendSetLbCookieSessionPersistenceConfigurationMaxAgeInSeconds)\n .path(backendSetLbCookieSessionPersistenceConfigurationPath)\n .build())\n .sessionPersistenceConfiguration(BackendSetSessionPersistenceConfigurationArgs.builder()\n .cookieName(backendSetSessionPersistenceConfigurationCookieName)\n .disableFallback(backendSetSessionPersistenceConfigurationDisableFallback)\n .build())\n .sslConfiguration(BackendSetSslConfigurationArgs.builder()\n .certificateIds(backendSetSslConfigurationCertificateIds)\n .certificateName(testCertificate.name())\n .cipherSuiteName(backendSetSslConfigurationCipherSuiteName)\n .protocols(backendSetSslConfigurationProtocols)\n .serverOrderPreference(backendSetSslConfigurationServerOrderPreference)\n .trustedCertificateAuthorityIds(backendSetSslConfigurationTrustedCertificateAuthorityIds)\n .verifyDepth(backendSetSslConfigurationVerifyDepth)\n .verifyPeerCertificate(backendSetSslConfigurationVerifyPeerCertificate)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testBackendSet:\n type: oci:LoadBalancer:BackendSet\n name: test_backend_set\n properties:\n healthChecker:\n protocol: ${backendSetHealthCheckerProtocol}\n intervalMs: ${backendSetHealthCheckerIntervalMs}\n isForcePlainText: ${backendSetHealthCheckerIsForcePlainText}\n port: ${backendSetHealthCheckerPort}\n responseBodyRegex: ${backendSetHealthCheckerResponseBodyRegex}\n retries: ${backendSetHealthCheckerRetries}\n returnCode: ${backendSetHealthCheckerReturnCode}\n timeoutInMillis: ${backendSetHealthCheckerTimeoutInMillis}\n urlPath: ${backendSetHealthCheckerUrlPath}\n loadBalancerId: ${testLoadBalancer.id}\n name: ${backendSetName}\n policy: ${backendSetPolicy}\n lbCookieSessionPersistenceConfiguration:\n cookieName: ${backendSetLbCookieSessionPersistenceConfigurationCookieName}\n disableFallback: ${backendSetLbCookieSessionPersistenceConfigurationDisableFallback}\n domain: ${backendSetLbCookieSessionPersistenceConfigurationDomain}\n isHttpOnly: ${backendSetLbCookieSessionPersistenceConfigurationIsHttpOnly}\n isSecure: ${backendSetLbCookieSessionPersistenceConfigurationIsSecure}\n maxAgeInSeconds: ${backendSetLbCookieSessionPersistenceConfigurationMaxAgeInSeconds}\n path: ${backendSetLbCookieSessionPersistenceConfigurationPath}\n sessionPersistenceConfiguration:\n cookieName: ${backendSetSessionPersistenceConfigurationCookieName}\n disableFallback: ${backendSetSessionPersistenceConfigurationDisableFallback}\n sslConfiguration:\n certificateIds: ${backendSetSslConfigurationCertificateIds}\n certificateName: ${testCertificate.name}\n cipherSuiteName: ${backendSetSslConfigurationCipherSuiteName}\n protocols: ${backendSetSslConfigurationProtocols}\n serverOrderPreference: ${backendSetSslConfigurationServerOrderPreference}\n trustedCertificateAuthorityIds: ${backendSetSslConfigurationTrustedCertificateAuthorityIds}\n verifyDepth: ${backendSetSslConfigurationVerifyDepth}\n verifyPeerCertificate: ${backendSetSslConfigurationVerifyPeerCertificate}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n**Note:** The `sessionPersistenceConfiguration` (application cookie stickiness) and `lbCookieSessionPersistenceConfiguration`\n (LB cookie stickiness) attributes are mutually exclusive. To avoid returning an error, configure only one of these two\n attributes per backend set.\n\n## Import\n\nBackendSets can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import oci:LoadBalancer/backendSet:BackendSet test_backend_set \"loadBalancers/{loadBalancerId}/backendSets/{backendSetName}\"\n```\n", + "description": "This resource provides the Backend Set resource in Oracle Cloud Infrastructure Load Balancer service.\n\nAdds a backend set to a load balancer.\n\n## Supported Aliases\n\n* `oci_load_balancer_backendset`\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as oci from \"@pulumi/oci\";\n\nconst testBackendSet = new oci.loadbalancer.BackendSet(\"test_backend_set\", {\n healthChecker: {\n protocol: backendSetHealthCheckerProtocol,\n intervalMs: backendSetHealthCheckerIntervalMs,\n isForcePlainText: backendSetHealthCheckerIsForcePlainText,\n port: backendSetHealthCheckerPort,\n responseBodyRegex: backendSetHealthCheckerResponseBodyRegex,\n retries: backendSetHealthCheckerRetries,\n returnCode: backendSetHealthCheckerReturnCode,\n timeoutInMillis: backendSetHealthCheckerTimeoutInMillis,\n urlPath: backendSetHealthCheckerUrlPath,\n },\n loadBalancerId: testLoadBalancer.id,\n name: backendSetName,\n policy: backendSetPolicy,\n backendMaxConnections: backendSetBackendMaxConnections,\n lbCookieSessionPersistenceConfiguration: {\n cookieName: backendSetLbCookieSessionPersistenceConfigurationCookieName,\n disableFallback: backendSetLbCookieSessionPersistenceConfigurationDisableFallback,\n domain: backendSetLbCookieSessionPersistenceConfigurationDomain,\n isHttpOnly: backendSetLbCookieSessionPersistenceConfigurationIsHttpOnly,\n isSecure: backendSetLbCookieSessionPersistenceConfigurationIsSecure,\n maxAgeInSeconds: backendSetLbCookieSessionPersistenceConfigurationMaxAgeInSeconds,\n path: backendSetLbCookieSessionPersistenceConfigurationPath,\n },\n sessionPersistenceConfiguration: {\n cookieName: backendSetSessionPersistenceConfigurationCookieName,\n disableFallback: backendSetSessionPersistenceConfigurationDisableFallback,\n },\n sslConfiguration: {\n certificateIds: backendSetSslConfigurationCertificateIds,\n certificateName: testCertificate.name,\n cipherSuiteName: backendSetSslConfigurationCipherSuiteName,\n protocols: backendSetSslConfigurationProtocols,\n serverOrderPreference: backendSetSslConfigurationServerOrderPreference,\n trustedCertificateAuthorityIds: backendSetSslConfigurationTrustedCertificateAuthorityIds,\n verifyDepth: backendSetSslConfigurationVerifyDepth,\n verifyPeerCertificate: backendSetSslConfigurationVerifyPeerCertificate,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_oci as oci\n\ntest_backend_set = oci.load_balancer.BackendSet(\"test_backend_set\",\n health_checker=oci.load_balancer.BackendSetHealthCheckerArgs(\n protocol=backend_set_health_checker_protocol,\n interval_ms=backend_set_health_checker_interval_ms,\n is_force_plain_text=backend_set_health_checker_is_force_plain_text,\n port=backend_set_health_checker_port,\n response_body_regex=backend_set_health_checker_response_body_regex,\n retries=backend_set_health_checker_retries,\n return_code=backend_set_health_checker_return_code,\n timeout_in_millis=backend_set_health_checker_timeout_in_millis,\n url_path=backend_set_health_checker_url_path,\n ),\n load_balancer_id=test_load_balancer[\"id\"],\n name=backend_set_name,\n policy=backend_set_policy,\n backend_max_connections=backend_set_backend_max_connections,\n lb_cookie_session_persistence_configuration=oci.load_balancer.BackendSetLbCookieSessionPersistenceConfigurationArgs(\n cookie_name=backend_set_lb_cookie_session_persistence_configuration_cookie_name,\n disable_fallback=backend_set_lb_cookie_session_persistence_configuration_disable_fallback,\n domain=backend_set_lb_cookie_session_persistence_configuration_domain,\n is_http_only=backend_set_lb_cookie_session_persistence_configuration_is_http_only,\n is_secure=backend_set_lb_cookie_session_persistence_configuration_is_secure,\n max_age_in_seconds=backend_set_lb_cookie_session_persistence_configuration_max_age_in_seconds,\n path=backend_set_lb_cookie_session_persistence_configuration_path,\n ),\n session_persistence_configuration=oci.load_balancer.BackendSetSessionPersistenceConfigurationArgs(\n cookie_name=backend_set_session_persistence_configuration_cookie_name,\n disable_fallback=backend_set_session_persistence_configuration_disable_fallback,\n ),\n ssl_configuration=oci.load_balancer.BackendSetSslConfigurationArgs(\n certificate_ids=backend_set_ssl_configuration_certificate_ids,\n certificate_name=test_certificate[\"name\"],\n cipher_suite_name=backend_set_ssl_configuration_cipher_suite_name,\n protocols=backend_set_ssl_configuration_protocols,\n server_order_preference=backend_set_ssl_configuration_server_order_preference,\n trusted_certificate_authority_ids=backend_set_ssl_configuration_trusted_certificate_authority_ids,\n verify_depth=backend_set_ssl_configuration_verify_depth,\n verify_peer_certificate=backend_set_ssl_configuration_verify_peer_certificate,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Oci = Pulumi.Oci;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testBackendSet = new Oci.LoadBalancer.BackendSet(\"test_backend_set\", new()\n {\n HealthChecker = new Oci.LoadBalancer.Inputs.BackendSetHealthCheckerArgs\n {\n Protocol = backendSetHealthCheckerProtocol,\n IntervalMs = backendSetHealthCheckerIntervalMs,\n IsForcePlainText = backendSetHealthCheckerIsForcePlainText,\n Port = backendSetHealthCheckerPort,\n ResponseBodyRegex = backendSetHealthCheckerResponseBodyRegex,\n Retries = backendSetHealthCheckerRetries,\n ReturnCode = backendSetHealthCheckerReturnCode,\n TimeoutInMillis = backendSetHealthCheckerTimeoutInMillis,\n UrlPath = backendSetHealthCheckerUrlPath,\n },\n LoadBalancerId = testLoadBalancer.Id,\n Name = backendSetName,\n Policy = backendSetPolicy,\n BackendMaxConnections = backendSetBackendMaxConnections,\n LbCookieSessionPersistenceConfiguration = new Oci.LoadBalancer.Inputs.BackendSetLbCookieSessionPersistenceConfigurationArgs\n {\n CookieName = backendSetLbCookieSessionPersistenceConfigurationCookieName,\n DisableFallback = backendSetLbCookieSessionPersistenceConfigurationDisableFallback,\n Domain = backendSetLbCookieSessionPersistenceConfigurationDomain,\n IsHttpOnly = backendSetLbCookieSessionPersistenceConfigurationIsHttpOnly,\n IsSecure = backendSetLbCookieSessionPersistenceConfigurationIsSecure,\n MaxAgeInSeconds = backendSetLbCookieSessionPersistenceConfigurationMaxAgeInSeconds,\n Path = backendSetLbCookieSessionPersistenceConfigurationPath,\n },\n SessionPersistenceConfiguration = new Oci.LoadBalancer.Inputs.BackendSetSessionPersistenceConfigurationArgs\n {\n CookieName = backendSetSessionPersistenceConfigurationCookieName,\n DisableFallback = backendSetSessionPersistenceConfigurationDisableFallback,\n },\n SslConfiguration = new Oci.LoadBalancer.Inputs.BackendSetSslConfigurationArgs\n {\n CertificateIds = backendSetSslConfigurationCertificateIds,\n CertificateName = testCertificate.Name,\n CipherSuiteName = backendSetSslConfigurationCipherSuiteName,\n Protocols = backendSetSslConfigurationProtocols,\n ServerOrderPreference = backendSetSslConfigurationServerOrderPreference,\n TrustedCertificateAuthorityIds = backendSetSslConfigurationTrustedCertificateAuthorityIds,\n VerifyDepth = backendSetSslConfigurationVerifyDepth,\n VerifyPeerCertificate = backendSetSslConfigurationVerifyPeerCertificate,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-oci/sdk/go/oci/LoadBalancer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := LoadBalancer.NewBackendSet(ctx, \"test_backend_set\", \u0026LoadBalancer.BackendSetArgs{\n\t\t\tHealthChecker: \u0026loadbalancer.BackendSetHealthCheckerArgs{\n\t\t\t\tProtocol: pulumi.Any(backendSetHealthCheckerProtocol),\n\t\t\t\tIntervalMs: pulumi.Any(backendSetHealthCheckerIntervalMs),\n\t\t\t\tIsForcePlainText: pulumi.Any(backendSetHealthCheckerIsForcePlainText),\n\t\t\t\tPort: pulumi.Any(backendSetHealthCheckerPort),\n\t\t\t\tResponseBodyRegex: pulumi.Any(backendSetHealthCheckerResponseBodyRegex),\n\t\t\t\tRetries: pulumi.Any(backendSetHealthCheckerRetries),\n\t\t\t\tReturnCode: pulumi.Any(backendSetHealthCheckerReturnCode),\n\t\t\t\tTimeoutInMillis: pulumi.Any(backendSetHealthCheckerTimeoutInMillis),\n\t\t\t\tUrlPath: pulumi.Any(backendSetHealthCheckerUrlPath),\n\t\t\t},\n\t\t\tLoadBalancerId: pulumi.Any(testLoadBalancer.Id),\n\t\t\tName: pulumi.Any(backendSetName),\n\t\t\tPolicy: pulumi.Any(backendSetPolicy),\n\t\t\tBackendMaxConnections: pulumi.Any(backendSetBackendMaxConnections),\n\t\t\tLbCookieSessionPersistenceConfiguration: \u0026loadbalancer.BackendSetLbCookieSessionPersistenceConfigurationArgs{\n\t\t\t\tCookieName: pulumi.Any(backendSetLbCookieSessionPersistenceConfigurationCookieName),\n\t\t\t\tDisableFallback: pulumi.Any(backendSetLbCookieSessionPersistenceConfigurationDisableFallback),\n\t\t\t\tDomain: pulumi.Any(backendSetLbCookieSessionPersistenceConfigurationDomain),\n\t\t\t\tIsHttpOnly: pulumi.Any(backendSetLbCookieSessionPersistenceConfigurationIsHttpOnly),\n\t\t\t\tIsSecure: pulumi.Any(backendSetLbCookieSessionPersistenceConfigurationIsSecure),\n\t\t\t\tMaxAgeInSeconds: pulumi.Any(backendSetLbCookieSessionPersistenceConfigurationMaxAgeInSeconds),\n\t\t\t\tPath: pulumi.Any(backendSetLbCookieSessionPersistenceConfigurationPath),\n\t\t\t},\n\t\t\tSessionPersistenceConfiguration: \u0026loadbalancer.BackendSetSessionPersistenceConfigurationArgs{\n\t\t\t\tCookieName: pulumi.Any(backendSetSessionPersistenceConfigurationCookieName),\n\t\t\t\tDisableFallback: pulumi.Any(backendSetSessionPersistenceConfigurationDisableFallback),\n\t\t\t},\n\t\t\tSslConfiguration: \u0026loadbalancer.BackendSetSslConfigurationArgs{\n\t\t\t\tCertificateIds: pulumi.Any(backendSetSslConfigurationCertificateIds),\n\t\t\t\tCertificateName: pulumi.Any(testCertificate.Name),\n\t\t\t\tCipherSuiteName: pulumi.Any(backendSetSslConfigurationCipherSuiteName),\n\t\t\t\tProtocols: pulumi.Any(backendSetSslConfigurationProtocols),\n\t\t\t\tServerOrderPreference: pulumi.Any(backendSetSslConfigurationServerOrderPreference),\n\t\t\t\tTrustedCertificateAuthorityIds: pulumi.Any(backendSetSslConfigurationTrustedCertificateAuthorityIds),\n\t\t\t\tVerifyDepth: pulumi.Any(backendSetSslConfigurationVerifyDepth),\n\t\t\t\tVerifyPeerCertificate: pulumi.Any(backendSetSslConfigurationVerifyPeerCertificate),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.oci.LoadBalancer.BackendSet;\nimport com.pulumi.oci.LoadBalancer.BackendSetArgs;\nimport com.pulumi.oci.LoadBalancer.inputs.BackendSetHealthCheckerArgs;\nimport com.pulumi.oci.LoadBalancer.inputs.BackendSetLbCookieSessionPersistenceConfigurationArgs;\nimport com.pulumi.oci.LoadBalancer.inputs.BackendSetSessionPersistenceConfigurationArgs;\nimport com.pulumi.oci.LoadBalancer.inputs.BackendSetSslConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testBackendSet = new BackendSet(\"testBackendSet\", BackendSetArgs.builder() \n .healthChecker(BackendSetHealthCheckerArgs.builder()\n .protocol(backendSetHealthCheckerProtocol)\n .intervalMs(backendSetHealthCheckerIntervalMs)\n .isForcePlainText(backendSetHealthCheckerIsForcePlainText)\n .port(backendSetHealthCheckerPort)\n .responseBodyRegex(backendSetHealthCheckerResponseBodyRegex)\n .retries(backendSetHealthCheckerRetries)\n .returnCode(backendSetHealthCheckerReturnCode)\n .timeoutInMillis(backendSetHealthCheckerTimeoutInMillis)\n .urlPath(backendSetHealthCheckerUrlPath)\n .build())\n .loadBalancerId(testLoadBalancer.id())\n .name(backendSetName)\n .policy(backendSetPolicy)\n .backendMaxConnections(backendSetBackendMaxConnections)\n .lbCookieSessionPersistenceConfiguration(BackendSetLbCookieSessionPersistenceConfigurationArgs.builder()\n .cookieName(backendSetLbCookieSessionPersistenceConfigurationCookieName)\n .disableFallback(backendSetLbCookieSessionPersistenceConfigurationDisableFallback)\n .domain(backendSetLbCookieSessionPersistenceConfigurationDomain)\n .isHttpOnly(backendSetLbCookieSessionPersistenceConfigurationIsHttpOnly)\n .isSecure(backendSetLbCookieSessionPersistenceConfigurationIsSecure)\n .maxAgeInSeconds(backendSetLbCookieSessionPersistenceConfigurationMaxAgeInSeconds)\n .path(backendSetLbCookieSessionPersistenceConfigurationPath)\n .build())\n .sessionPersistenceConfiguration(BackendSetSessionPersistenceConfigurationArgs.builder()\n .cookieName(backendSetSessionPersistenceConfigurationCookieName)\n .disableFallback(backendSetSessionPersistenceConfigurationDisableFallback)\n .build())\n .sslConfiguration(BackendSetSslConfigurationArgs.builder()\n .certificateIds(backendSetSslConfigurationCertificateIds)\n .certificateName(testCertificate.name())\n .cipherSuiteName(backendSetSslConfigurationCipherSuiteName)\n .protocols(backendSetSslConfigurationProtocols)\n .serverOrderPreference(backendSetSslConfigurationServerOrderPreference)\n .trustedCertificateAuthorityIds(backendSetSslConfigurationTrustedCertificateAuthorityIds)\n .verifyDepth(backendSetSslConfigurationVerifyDepth)\n .verifyPeerCertificate(backendSetSslConfigurationVerifyPeerCertificate)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testBackendSet:\n type: oci:LoadBalancer:BackendSet\n name: test_backend_set\n properties:\n healthChecker:\n protocol: ${backendSetHealthCheckerProtocol}\n intervalMs: ${backendSetHealthCheckerIntervalMs}\n isForcePlainText: ${backendSetHealthCheckerIsForcePlainText}\n port: ${backendSetHealthCheckerPort}\n responseBodyRegex: ${backendSetHealthCheckerResponseBodyRegex}\n retries: ${backendSetHealthCheckerRetries}\n returnCode: ${backendSetHealthCheckerReturnCode}\n timeoutInMillis: ${backendSetHealthCheckerTimeoutInMillis}\n urlPath: ${backendSetHealthCheckerUrlPath}\n loadBalancerId: ${testLoadBalancer.id}\n name: ${backendSetName}\n policy: ${backendSetPolicy}\n backendMaxConnections: ${backendSetBackendMaxConnections}\n lbCookieSessionPersistenceConfiguration:\n cookieName: ${backendSetLbCookieSessionPersistenceConfigurationCookieName}\n disableFallback: ${backendSetLbCookieSessionPersistenceConfigurationDisableFallback}\n domain: ${backendSetLbCookieSessionPersistenceConfigurationDomain}\n isHttpOnly: ${backendSetLbCookieSessionPersistenceConfigurationIsHttpOnly}\n isSecure: ${backendSetLbCookieSessionPersistenceConfigurationIsSecure}\n maxAgeInSeconds: ${backendSetLbCookieSessionPersistenceConfigurationMaxAgeInSeconds}\n path: ${backendSetLbCookieSessionPersistenceConfigurationPath}\n sessionPersistenceConfiguration:\n cookieName: ${backendSetSessionPersistenceConfigurationCookieName}\n disableFallback: ${backendSetSessionPersistenceConfigurationDisableFallback}\n sslConfiguration:\n certificateIds: ${backendSetSslConfigurationCertificateIds}\n certificateName: ${testCertificate.name}\n cipherSuiteName: ${backendSetSslConfigurationCipherSuiteName}\n protocols: ${backendSetSslConfigurationProtocols}\n serverOrderPreference: ${backendSetSslConfigurationServerOrderPreference}\n trustedCertificateAuthorityIds: ${backendSetSslConfigurationTrustedCertificateAuthorityIds}\n verifyDepth: ${backendSetSslConfigurationVerifyDepth}\n verifyPeerCertificate: ${backendSetSslConfigurationVerifyPeerCertificate}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n**Note:** The `sessionPersistenceConfiguration` (application cookie stickiness) and `lbCookieSessionPersistenceConfiguration`\n (LB cookie stickiness) attributes are mutually exclusive. To avoid returning an error, configure only one of these two\n attributes per backend set.\n\n## Import\n\nBackendSets can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import oci:LoadBalancer/backendSet:BackendSet test_backend_set \"loadBalancers/{loadBalancerId}/backendSets/{backendSetName}\"\n```\n", "properties": { + "backendMaxConnections": { + "type": "integer", + "description": "(Updatable) The maximum number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting. If this is not set then the number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting is unlimited. Example: `300`\n" + }, "backends": { "type": "array", "items": { "$ref": "#/types/oci:LoadBalancer/BackendSetBackend:BackendSetBackend" - } + }, + "description": "(Updatable)\n" }, "healthChecker": { "$ref": "#/types/oci:LoadBalancer/BackendSetHealthChecker:BackendSetHealthChecker", @@ -477860,6 +478280,7 @@ }, "required": [ "backends", + "backendMaxConnections", "healthChecker", "lbCookieSessionPersistenceConfiguration", "loadBalancerId", @@ -477869,6 +478290,10 @@ "state" ], "inputProperties": { + "backendMaxConnections": { + "type": "integer", + "description": "(Updatable) The maximum number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting. If this is not set then the number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting is unlimited. Example: `300`\n" + }, "healthChecker": { "$ref": "#/types/oci:LoadBalancer/BackendSetHealthChecker:BackendSetHealthChecker", "description": "(Updatable) The health check policy's configuration details.\n" @@ -477908,11 +478333,16 @@ "stateInputs": { "description": "Input properties used for looking up and filtering BackendSet resources.\n", "properties": { + "backendMaxConnections": { + "type": "integer", + "description": "(Updatable) The maximum number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting. If this is not set then the number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting is unlimited. Example: `300`\n" + }, "backends": { "type": "array", "items": { "$ref": "#/types/oci:LoadBalancer/BackendSetBackend:BackendSetBackend" - } + }, + "description": "(Updatable)\n" }, "healthChecker": { "$ref": "#/types/oci:LoadBalancer/BackendSetHealthChecker:BackendSetHealthChecker", @@ -478349,7 +478779,7 @@ } }, "oci:LoadBalancer/loadBalancer:LoadBalancer": { - "description": "This resource provides the Load Balancer resource in Oracle Cloud Infrastructure Load Balancer service.\n\nCreates a new load balancer in the specified compartment. For general information about load balancers,\nsee [Overview of the Load Balancing Service](https://docs.cloud.oracle.com/iaas/Content/Balance/Concepts/balanceoverview.htm).\n\nFor the purposes of access control, you must provide the OCID of the compartment where you want\nthe load balancer to reside. Notice that the load balancer doesn't have to be in the same compartment as the VCN\nor backend set. If you're not sure which compartment to use, put the load balancer in the same compartment as the VCN.\nFor information about access control and compartments, see\n[Overview of the IAM Service](https://docs.cloud.oracle.com/iaas/Content/Identity/Concepts/overview.htm).\n\nYou must specify a display name for the load balancer. It does not have to be unique, and you can change it.\n\nFor information about Availability Domains, see\n[Regions and Availability Domains](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/regions.htm).\nTo get a list of Availability Domains, use the `ListAvailabilityDomains` operation\nin the Identity and Access Management Service API.\n\nAll Oracle Cloud Infrastructure resources, including load balancers, get an Oracle-assigned,\nunique ID called an Oracle Cloud Identifier (OCID). When you create a resource, you can find its OCID\nin the response. You can also retrieve a resource's OCID by using a List API operation on that resource type,\nor by viewing the resource in the Console. Fore more information, see\n[Resource Identifiers](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm).\n\nWhen you create a load balancer, the system assigns an IP address.\nTo get the IP address, use the [GetLoadBalancer](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancer/GetLoadBalancer) operation.\n\n\n## Supported Aliases\n\n* `oci_load_balancer`\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as oci from \"@pulumi/oci\";\n\nconst testLoadBalancer = new oci.loadbalancer.LoadBalancer(\"test_load_balancer\", {\n compartmentId: compartmentId,\n displayName: loadBalancerDisplayName,\n shape: loadBalancerShape,\n subnetIds: loadBalancerSubnetIds,\n definedTags: {\n \"Operations.CostCenter\": \"42\",\n },\n freeformTags: {\n Department: \"Finance\",\n },\n ipMode: loadBalancerIpMode,\n isPrivate: loadBalancerIsPrivate,\n networkSecurityGroupIds: loadBalancerNetworkSecurityGroupIds,\n reservedIps: [{\n id: loadBalancerReservedIpsId,\n }],\n shapeDetails: {\n maximumBandwidthInMbps: loadBalancerShapeDetailsMaximumBandwidthInMbps,\n minimumBandwidthInMbps: loadBalancerShapeDetailsMinimumBandwidthInMbps,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_oci as oci\n\ntest_load_balancer = oci.load_balancer.LoadBalancer(\"test_load_balancer\",\n compartment_id=compartment_id,\n display_name=load_balancer_display_name,\n shape=load_balancer_shape,\n subnet_ids=load_balancer_subnet_ids,\n defined_tags={\n \"Operations.CostCenter\": \"42\",\n },\n freeform_tags={\n \"Department\": \"Finance\",\n },\n ip_mode=load_balancer_ip_mode,\n is_private=load_balancer_is_private,\n network_security_group_ids=load_balancer_network_security_group_ids,\n reserved_ips=[oci.load_balancer.LoadBalancerReservedIpArgs(\n id=load_balancer_reserved_ips_id,\n )],\n shape_details=oci.load_balancer.LoadBalancerShapeDetailsArgs(\n maximum_bandwidth_in_mbps=load_balancer_shape_details_maximum_bandwidth_in_mbps,\n minimum_bandwidth_in_mbps=load_balancer_shape_details_minimum_bandwidth_in_mbps,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Oci = Pulumi.Oci;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testLoadBalancer = new Oci.LoadBalancer.LoadBalancer(\"test_load_balancer\", new()\n {\n CompartmentId = compartmentId,\n DisplayName = loadBalancerDisplayName,\n Shape = loadBalancerShape,\n SubnetIds = loadBalancerSubnetIds,\n DefinedTags = \n {\n { \"Operations.CostCenter\", \"42\" },\n },\n FreeformTags = \n {\n { \"Department\", \"Finance\" },\n },\n IpMode = loadBalancerIpMode,\n IsPrivate = loadBalancerIsPrivate,\n NetworkSecurityGroupIds = loadBalancerNetworkSecurityGroupIds,\n ReservedIps = new[]\n {\n new Oci.LoadBalancer.Inputs.LoadBalancerReservedIpArgs\n {\n Id = loadBalancerReservedIpsId,\n },\n },\n ShapeDetails = new Oci.LoadBalancer.Inputs.LoadBalancerShapeDetailsArgs\n {\n MaximumBandwidthInMbps = loadBalancerShapeDetailsMaximumBandwidthInMbps,\n MinimumBandwidthInMbps = loadBalancerShapeDetailsMinimumBandwidthInMbps,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-oci/sdk/go/oci/LoadBalancer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := LoadBalancer.NewLoadBalancer(ctx, \"test_load_balancer\", \u0026LoadBalancer.LoadBalancerArgs{\n\t\t\tCompartmentId: pulumi.Any(compartmentId),\n\t\t\tDisplayName: pulumi.Any(loadBalancerDisplayName),\n\t\t\tShape: pulumi.Any(loadBalancerShape),\n\t\t\tSubnetIds: pulumi.Any(loadBalancerSubnetIds),\n\t\t\tDefinedTags: pulumi.Map{\n\t\t\t\t\"Operations.CostCenter\": pulumi.Any(\"42\"),\n\t\t\t},\n\t\t\tFreeformTags: pulumi.Map{\n\t\t\t\t\"Department\": pulumi.Any(\"Finance\"),\n\t\t\t},\n\t\t\tIpMode: pulumi.Any(loadBalancerIpMode),\n\t\t\tIsPrivate: pulumi.Any(loadBalancerIsPrivate),\n\t\t\tNetworkSecurityGroupIds: pulumi.Any(loadBalancerNetworkSecurityGroupIds),\n\t\t\tReservedIps: loadbalancer.LoadBalancerReservedIpArray{\n\t\t\t\t\u0026loadbalancer.LoadBalancerReservedIpArgs{\n\t\t\t\t\tId: pulumi.Any(loadBalancerReservedIpsId),\n\t\t\t\t},\n\t\t\t},\n\t\t\tShapeDetails: \u0026loadbalancer.LoadBalancerShapeDetailsArgs{\n\t\t\t\tMaximumBandwidthInMbps: pulumi.Any(loadBalancerShapeDetailsMaximumBandwidthInMbps),\n\t\t\t\tMinimumBandwidthInMbps: pulumi.Any(loadBalancerShapeDetailsMinimumBandwidthInMbps),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.oci.LoadBalancer.LoadBalancer;\nimport com.pulumi.oci.LoadBalancer.LoadBalancerArgs;\nimport com.pulumi.oci.LoadBalancer.inputs.LoadBalancerReservedIpArgs;\nimport com.pulumi.oci.LoadBalancer.inputs.LoadBalancerShapeDetailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testLoadBalancer = new LoadBalancer(\"testLoadBalancer\", LoadBalancerArgs.builder() \n .compartmentId(compartmentId)\n .displayName(loadBalancerDisplayName)\n .shape(loadBalancerShape)\n .subnetIds(loadBalancerSubnetIds)\n .definedTags(Map.of(\"Operations.CostCenter\", \"42\"))\n .freeformTags(Map.of(\"Department\", \"Finance\"))\n .ipMode(loadBalancerIpMode)\n .isPrivate(loadBalancerIsPrivate)\n .networkSecurityGroupIds(loadBalancerNetworkSecurityGroupIds)\n .reservedIps(LoadBalancerReservedIpArgs.builder()\n .id(loadBalancerReservedIpsId)\n .build())\n .shapeDetails(LoadBalancerShapeDetailsArgs.builder()\n .maximumBandwidthInMbps(loadBalancerShapeDetailsMaximumBandwidthInMbps)\n .minimumBandwidthInMbps(loadBalancerShapeDetailsMinimumBandwidthInMbps)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testLoadBalancer:\n type: oci:LoadBalancer:LoadBalancer\n name: test_load_balancer\n properties:\n compartmentId: ${compartmentId}\n displayName: ${loadBalancerDisplayName}\n shape: ${loadBalancerShape}\n subnetIds: ${loadBalancerSubnetIds}\n definedTags:\n Operations.CostCenter: '42'\n freeformTags:\n Department: Finance\n ipMode: ${loadBalancerIpMode}\n isPrivate: ${loadBalancerIsPrivate}\n networkSecurityGroupIds: ${loadBalancerNetworkSecurityGroupIds}\n reservedIps:\n - id: ${loadBalancerReservedIpsId}\n shapeDetails:\n maximumBandwidthInMbps: ${loadBalancerShapeDetailsMaximumBandwidthInMbps}\n minimumBandwidthInMbps: ${loadBalancerShapeDetailsMinimumBandwidthInMbps}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLoadBalancers can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import oci:LoadBalancer/loadBalancer:LoadBalancer test_load_balancer \"id\"\n```\n", + "description": "This resource provides the Load Balancer resource in Oracle Cloud Infrastructure Load Balancer service.\n\nCreates a new load balancer in the specified compartment. For general information about load balancers,\nsee [Overview of the Load Balancing Service](https://docs.cloud.oracle.com/iaas/Content/Balance/Concepts/balanceoverview.htm).\n\nFor the purposes of access control, you must provide the OCID of the compartment where you want\nthe load balancer to reside. Notice that the load balancer doesn't have to be in the same compartment as the VCN\nor backend set. If you're not sure which compartment to use, put the load balancer in the same compartment as the VCN.\nFor information about access control and compartments, see\n[Overview of the IAM Service](https://docs.cloud.oracle.com/iaas/Content/Identity/Concepts/overview.htm).\n\nYou must specify a display name for the load balancer. It does not have to be unique, and you can change it.\n\nFor information about Availability Domains, see\n[Regions and Availability Domains](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/regions.htm).\nTo get a list of Availability Domains, use the `ListAvailabilityDomains` operation\nin the Identity and Access Management Service API.\n\nAll Oracle Cloud Infrastructure resources, including load balancers, get an Oracle-assigned,\nunique ID called an Oracle Cloud Identifier (OCID). When you create a resource, you can find its OCID\nin the response. You can also retrieve a resource's OCID by using a List API operation on that resource type,\nor by viewing the resource in the Console. Fore more information, see\n[Resource Identifiers](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm).\n\nWhen you create a load balancer, the system assigns an IP address.\nTo get the IP address, use the [GetLoadBalancer](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancer/GetLoadBalancer) operation.\n\n\n## Supported Aliases\n\n* `oci_load_balancer`\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as oci from \"@pulumi/oci\";\n\nconst testLoadBalancer = new oci.loadbalancer.LoadBalancer(\"test_load_balancer\", {\n compartmentId: compartmentId,\n displayName: loadBalancerDisplayName,\n shape: loadBalancerShape,\n subnetIds: loadBalancerSubnetIds,\n definedTags: {\n \"Operations.CostCenter\": \"42\",\n },\n freeformTags: {\n Department: \"Finance\",\n },\n ipMode: loadBalancerIpMode,\n isDeleteProtectionEnabled: loadBalancerIsDeleteProtectionEnabled,\n isPrivate: loadBalancerIsPrivate,\n networkSecurityGroupIds: loadBalancerNetworkSecurityGroupIds,\n reservedIps: [{\n id: loadBalancerReservedIpsId,\n }],\n shapeDetails: {\n maximumBandwidthInMbps: loadBalancerShapeDetailsMaximumBandwidthInMbps,\n minimumBandwidthInMbps: loadBalancerShapeDetailsMinimumBandwidthInMbps,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_oci as oci\n\ntest_load_balancer = oci.load_balancer.LoadBalancer(\"test_load_balancer\",\n compartment_id=compartment_id,\n display_name=load_balancer_display_name,\n shape=load_balancer_shape,\n subnet_ids=load_balancer_subnet_ids,\n defined_tags={\n \"Operations.CostCenter\": \"42\",\n },\n freeform_tags={\n \"Department\": \"Finance\",\n },\n ip_mode=load_balancer_ip_mode,\n is_delete_protection_enabled=load_balancer_is_delete_protection_enabled,\n is_private=load_balancer_is_private,\n network_security_group_ids=load_balancer_network_security_group_ids,\n reserved_ips=[oci.load_balancer.LoadBalancerReservedIpArgs(\n id=load_balancer_reserved_ips_id,\n )],\n shape_details=oci.load_balancer.LoadBalancerShapeDetailsArgs(\n maximum_bandwidth_in_mbps=load_balancer_shape_details_maximum_bandwidth_in_mbps,\n minimum_bandwidth_in_mbps=load_balancer_shape_details_minimum_bandwidth_in_mbps,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Oci = Pulumi.Oci;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testLoadBalancer = new Oci.LoadBalancer.LoadBalancer(\"test_load_balancer\", new()\n {\n CompartmentId = compartmentId,\n DisplayName = loadBalancerDisplayName,\n Shape = loadBalancerShape,\n SubnetIds = loadBalancerSubnetIds,\n DefinedTags = \n {\n { \"Operations.CostCenter\", \"42\" },\n },\n FreeformTags = \n {\n { \"Department\", \"Finance\" },\n },\n IpMode = loadBalancerIpMode,\n IsDeleteProtectionEnabled = loadBalancerIsDeleteProtectionEnabled,\n IsPrivate = loadBalancerIsPrivate,\n NetworkSecurityGroupIds = loadBalancerNetworkSecurityGroupIds,\n ReservedIps = new[]\n {\n new Oci.LoadBalancer.Inputs.LoadBalancerReservedIpArgs\n {\n Id = loadBalancerReservedIpsId,\n },\n },\n ShapeDetails = new Oci.LoadBalancer.Inputs.LoadBalancerShapeDetailsArgs\n {\n MaximumBandwidthInMbps = loadBalancerShapeDetailsMaximumBandwidthInMbps,\n MinimumBandwidthInMbps = loadBalancerShapeDetailsMinimumBandwidthInMbps,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-oci/sdk/go/oci/LoadBalancer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := LoadBalancer.NewLoadBalancer(ctx, \"test_load_balancer\", \u0026LoadBalancer.LoadBalancerArgs{\n\t\t\tCompartmentId: pulumi.Any(compartmentId),\n\t\t\tDisplayName: pulumi.Any(loadBalancerDisplayName),\n\t\t\tShape: pulumi.Any(loadBalancerShape),\n\t\t\tSubnetIds: pulumi.Any(loadBalancerSubnetIds),\n\t\t\tDefinedTags: pulumi.Map{\n\t\t\t\t\"Operations.CostCenter\": pulumi.Any(\"42\"),\n\t\t\t},\n\t\t\tFreeformTags: pulumi.Map{\n\t\t\t\t\"Department\": pulumi.Any(\"Finance\"),\n\t\t\t},\n\t\t\tIpMode: pulumi.Any(loadBalancerIpMode),\n\t\t\tIsDeleteProtectionEnabled: pulumi.Any(loadBalancerIsDeleteProtectionEnabled),\n\t\t\tIsPrivate: pulumi.Any(loadBalancerIsPrivate),\n\t\t\tNetworkSecurityGroupIds: pulumi.Any(loadBalancerNetworkSecurityGroupIds),\n\t\t\tReservedIps: loadbalancer.LoadBalancerReservedIpArray{\n\t\t\t\t\u0026loadbalancer.LoadBalancerReservedIpArgs{\n\t\t\t\t\tId: pulumi.Any(loadBalancerReservedIpsId),\n\t\t\t\t},\n\t\t\t},\n\t\t\tShapeDetails: \u0026loadbalancer.LoadBalancerShapeDetailsArgs{\n\t\t\t\tMaximumBandwidthInMbps: pulumi.Any(loadBalancerShapeDetailsMaximumBandwidthInMbps),\n\t\t\t\tMinimumBandwidthInMbps: pulumi.Any(loadBalancerShapeDetailsMinimumBandwidthInMbps),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.oci.LoadBalancer.LoadBalancer;\nimport com.pulumi.oci.LoadBalancer.LoadBalancerArgs;\nimport com.pulumi.oci.LoadBalancer.inputs.LoadBalancerReservedIpArgs;\nimport com.pulumi.oci.LoadBalancer.inputs.LoadBalancerShapeDetailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testLoadBalancer = new LoadBalancer(\"testLoadBalancer\", LoadBalancerArgs.builder() \n .compartmentId(compartmentId)\n .displayName(loadBalancerDisplayName)\n .shape(loadBalancerShape)\n .subnetIds(loadBalancerSubnetIds)\n .definedTags(Map.of(\"Operations.CostCenter\", \"42\"))\n .freeformTags(Map.of(\"Department\", \"Finance\"))\n .ipMode(loadBalancerIpMode)\n .isDeleteProtectionEnabled(loadBalancerIsDeleteProtectionEnabled)\n .isPrivate(loadBalancerIsPrivate)\n .networkSecurityGroupIds(loadBalancerNetworkSecurityGroupIds)\n .reservedIps(LoadBalancerReservedIpArgs.builder()\n .id(loadBalancerReservedIpsId)\n .build())\n .shapeDetails(LoadBalancerShapeDetailsArgs.builder()\n .maximumBandwidthInMbps(loadBalancerShapeDetailsMaximumBandwidthInMbps)\n .minimumBandwidthInMbps(loadBalancerShapeDetailsMinimumBandwidthInMbps)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testLoadBalancer:\n type: oci:LoadBalancer:LoadBalancer\n name: test_load_balancer\n properties:\n compartmentId: ${compartmentId}\n displayName: ${loadBalancerDisplayName}\n shape: ${loadBalancerShape}\n subnetIds: ${loadBalancerSubnetIds}\n definedTags:\n Operations.CostCenter: '42'\n freeformTags:\n Department: Finance\n ipMode: ${loadBalancerIpMode}\n isDeleteProtectionEnabled: ${loadBalancerIsDeleteProtectionEnabled}\n isPrivate: ${loadBalancerIsPrivate}\n networkSecurityGroupIds: ${loadBalancerNetworkSecurityGroupIds}\n reservedIps:\n - id: ${loadBalancerReservedIpsId}\n shapeDetails:\n maximumBandwidthInMbps: ${loadBalancerShapeDetailsMaximumBandwidthInMbps}\n minimumBandwidthInMbps: ${loadBalancerShapeDetailsMinimumBandwidthInMbps}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLoadBalancers can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import oci:LoadBalancer/loadBalancer:LoadBalancer test_load_balancer \"id\"\n```\n", "properties": { "compartmentId": { "type": "string", @@ -478392,6 +478822,10 @@ "type": "string", "description": "IPv6 is currently supported only in the Government Cloud. Whether the load balancer has an IPv4 or IPv6 IP address.\n\nIf \"IPV4\", the service assigns an IPv4 address and the load balancer supports IPv4 traffic.\n\nIf \"IPV6\", the service assigns an IPv6 address and the load balancer supports IPv6 traffic.\n\nExample: \"ipMode\":\"IPV6\"\n" }, + "isDeleteProtectionEnabled": { + "type": "boolean", + "description": "(Updatable) Whether or not the load balancer has delete protection enabled.\n\nIf \"true\", the loadbalancer will be protected against deletion if configured to accept traffic.\n\nIf \"false\", the loadbalancer will not be protected against deletion.\n\nDelete protection will not be enabled unless a value of \"true\" is provided. Example: `true`\n" + }, "isPrivate": { "type": "boolean", "description": "Whether the load balancer has a VCN-local (private) IP address.\n\nIf \"true\", the service assigns a private IP address to the load balancer.\n\nIf \"false\", the service assigns a public IP address to the load balancer.\n\nA public load balancer is accessible from the internet, depending on your VCN's [security list rules](https://docs.cloud.oracle.com/iaas/Content/Network/Concepts/securitylists.htm). For more information about public and private load balancers, see [How Load Balancing Works](https://docs.cloud.oracle.com/iaas/Content/Balance/Concepts/balanceoverview.htm#how-load-balancing-works).\n\nExample: `true`\n" @@ -478412,7 +478846,7 @@ }, "shape": { "type": "string", - "description": "(Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: Starting May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`.\n" + "description": "(Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: After May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`.\n" }, "shapeDetails": { "$ref": "#/types/oci:LoadBalancer/LoadBalancerShapeDetails:LoadBalancerShapeDetails", @@ -478449,6 +478883,7 @@ "ipAddressDetails", "ipAddresses", "ipMode", + "isDeleteProtectionEnabled", "isPrivate", "shape", "shapeDetails", @@ -478485,6 +478920,10 @@ "description": "IPv6 is currently supported only in the Government Cloud. Whether the load balancer has an IPv4 or IPv6 IP address.\n\nIf \"IPV4\", the service assigns an IPv4 address and the load balancer supports IPv4 traffic.\n\nIf \"IPV6\", the service assigns an IPv6 address and the load balancer supports IPv6 traffic.\n\nExample: \"ipMode\":\"IPV6\"\n", "willReplaceOnChanges": true }, + "isDeleteProtectionEnabled": { + "type": "boolean", + "description": "(Updatable) Whether or not the load balancer has delete protection enabled.\n\nIf \"true\", the loadbalancer will be protected against deletion if configured to accept traffic.\n\nIf \"false\", the loadbalancer will not be protected against deletion.\n\nDelete protection will not be enabled unless a value of \"true\" is provided. Example: `true`\n" + }, "isPrivate": { "type": "boolean", "description": "Whether the load balancer has a VCN-local (private) IP address.\n\nIf \"true\", the service assigns a private IP address to the load balancer.\n\nIf \"false\", the service assigns a public IP address to the load balancer.\n\nA public load balancer is accessible from the internet, depending on your VCN's [security list rules](https://docs.cloud.oracle.com/iaas/Content/Network/Concepts/securitylists.htm). For more information about public and private load balancers, see [How Load Balancing Works](https://docs.cloud.oracle.com/iaas/Content/Balance/Concepts/balanceoverview.htm#how-load-balancing-works).\n\nExample: `true`\n", @@ -478507,7 +478946,7 @@ }, "shape": { "type": "string", - "description": "(Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: Starting May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`.\n" + "description": "(Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: After May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`.\n" }, "shapeDetails": { "$ref": "#/types/oci:LoadBalancer/LoadBalancerShapeDetails:LoadBalancerShapeDetails", @@ -478573,6 +479012,10 @@ "description": "IPv6 is currently supported only in the Government Cloud. Whether the load balancer has an IPv4 or IPv6 IP address.\n\nIf \"IPV4\", the service assigns an IPv4 address and the load balancer supports IPv4 traffic.\n\nIf \"IPV6\", the service assigns an IPv6 address and the load balancer supports IPv6 traffic.\n\nExample: \"ipMode\":\"IPV6\"\n", "willReplaceOnChanges": true }, + "isDeleteProtectionEnabled": { + "type": "boolean", + "description": "(Updatable) Whether or not the load balancer has delete protection enabled.\n\nIf \"true\", the loadbalancer will be protected against deletion if configured to accept traffic.\n\nIf \"false\", the loadbalancer will not be protected against deletion.\n\nDelete protection will not be enabled unless a value of \"true\" is provided. Example: `true`\n" + }, "isPrivate": { "type": "boolean", "description": "Whether the load balancer has a VCN-local (private) IP address.\n\nIf \"true\", the service assigns a private IP address to the load balancer.\n\nIf \"false\", the service assigns a public IP address to the load balancer.\n\nA public load balancer is accessible from the internet, depending on your VCN's [security list rules](https://docs.cloud.oracle.com/iaas/Content/Network/Concepts/securitylists.htm). For more information about public and private load balancers, see [How Load Balancing Works](https://docs.cloud.oracle.com/iaas/Content/Balance/Concepts/balanceoverview.htm#how-load-balancing-works).\n\nExample: `true`\n", @@ -478595,7 +479038,7 @@ }, "shape": { "type": "string", - "description": "(Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: Starting May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`.\n" + "description": "(Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: After May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`.\n" }, "shapeDetails": { "$ref": "#/types/oci:LoadBalancer/LoadBalancerShapeDetails:LoadBalancerShapeDetails", @@ -478799,7 +479242,7 @@ } }, "oci:LoadBalancer/ruleSet:RuleSet": { - "description": "This resource provides the Rule Set resource in Oracle Cloud Infrastructure Load Balancer service.\n\nCreates a new rule set associated with the specified load balancer. For more information, see\n[Managing Rule Sets](https://docs.cloud.oracle.com/iaas/Content/Balance/Tasks/managingrulesets.htm).\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as oci from \"@pulumi/oci\";\n\nconst testRuleSet = new oci.loadbalancer.RuleSet(\"test_rule_set\", {\n items: [{\n action: ruleSetItemsAction,\n allowedMethods: ruleSetItemsAllowedMethods,\n areInvalidCharactersAllowed: ruleSetItemsAreInvalidCharactersAllowed,\n conditions: [{\n attributeName: ruleSetItemsConditionsAttributeName,\n attributeValue: ruleSetItemsConditionsAttributeValue,\n operator: ruleSetItemsConditionsOperator,\n }],\n description: ruleSetItemsDescription,\n header: ruleSetItemsHeader,\n httpLargeHeaderSizeInKb: ruleSetItemsHttpLargeHeaderSizeInKb,\n prefix: ruleSetItemsPrefix,\n redirectUri: {\n host: ruleSetItemsRedirectUriHost,\n path: ruleSetItemsRedirectUriPath,\n port: ruleSetItemsRedirectUriPort,\n protocol: ruleSetItemsRedirectUriProtocol,\n query: ruleSetItemsRedirectUriQuery,\n },\n responseCode: ruleSetItemsResponseCode,\n statusCode: ruleSetItemsStatusCode,\n suffix: ruleSetItemsSuffix,\n value: ruleSetItemsValue,\n }],\n loadBalancerId: testLoadBalancer.id,\n name: ruleSetName,\n});\n```\n```python\nimport pulumi\nimport pulumi_oci as oci\n\ntest_rule_set = oci.load_balancer.RuleSet(\"test_rule_set\",\n items=[oci.load_balancer.RuleSetItemArgs(\n action=rule_set_items_action,\n allowed_methods=rule_set_items_allowed_methods,\n are_invalid_characters_allowed=rule_set_items_are_invalid_characters_allowed,\n conditions=[oci.load_balancer.RuleSetItemConditionArgs(\n attribute_name=rule_set_items_conditions_attribute_name,\n attribute_value=rule_set_items_conditions_attribute_value,\n operator=rule_set_items_conditions_operator,\n )],\n description=rule_set_items_description,\n header=rule_set_items_header,\n http_large_header_size_in_kb=rule_set_items_http_large_header_size_in_kb,\n prefix=rule_set_items_prefix,\n redirect_uri=oci.load_balancer.RuleSetItemRedirectUriArgs(\n host=rule_set_items_redirect_uri_host,\n path=rule_set_items_redirect_uri_path,\n port=rule_set_items_redirect_uri_port,\n protocol=rule_set_items_redirect_uri_protocol,\n query=rule_set_items_redirect_uri_query,\n ),\n response_code=rule_set_items_response_code,\n status_code=rule_set_items_status_code,\n suffix=rule_set_items_suffix,\n value=rule_set_items_value,\n )],\n load_balancer_id=test_load_balancer[\"id\"],\n name=rule_set_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Oci = Pulumi.Oci;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testRuleSet = new Oci.LoadBalancer.RuleSet(\"test_rule_set\", new()\n {\n Items = new[]\n {\n new Oci.LoadBalancer.Inputs.RuleSetItemArgs\n {\n Action = ruleSetItemsAction,\n AllowedMethods = ruleSetItemsAllowedMethods,\n AreInvalidCharactersAllowed = ruleSetItemsAreInvalidCharactersAllowed,\n Conditions = new[]\n {\n new Oci.LoadBalancer.Inputs.RuleSetItemConditionArgs\n {\n AttributeName = ruleSetItemsConditionsAttributeName,\n AttributeValue = ruleSetItemsConditionsAttributeValue,\n Operator = ruleSetItemsConditionsOperator,\n },\n },\n Description = ruleSetItemsDescription,\n Header = ruleSetItemsHeader,\n HttpLargeHeaderSizeInKb = ruleSetItemsHttpLargeHeaderSizeInKb,\n Prefix = ruleSetItemsPrefix,\n RedirectUri = new Oci.LoadBalancer.Inputs.RuleSetItemRedirectUriArgs\n {\n Host = ruleSetItemsRedirectUriHost,\n Path = ruleSetItemsRedirectUriPath,\n Port = ruleSetItemsRedirectUriPort,\n Protocol = ruleSetItemsRedirectUriProtocol,\n Query = ruleSetItemsRedirectUriQuery,\n },\n ResponseCode = ruleSetItemsResponseCode,\n StatusCode = ruleSetItemsStatusCode,\n Suffix = ruleSetItemsSuffix,\n Value = ruleSetItemsValue,\n },\n },\n LoadBalancerId = testLoadBalancer.Id,\n Name = ruleSetName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-oci/sdk/go/oci/LoadBalancer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := LoadBalancer.NewRuleSet(ctx, \"test_rule_set\", \u0026LoadBalancer.RuleSetArgs{\n\t\t\tItems: loadbalancer.RuleSetItemArray{\n\t\t\t\t\u0026loadbalancer.RuleSetItemArgs{\n\t\t\t\t\tAction: pulumi.Any(ruleSetItemsAction),\n\t\t\t\t\tAllowedMethods: pulumi.Any(ruleSetItemsAllowedMethods),\n\t\t\t\t\tAreInvalidCharactersAllowed: pulumi.Any(ruleSetItemsAreInvalidCharactersAllowed),\n\t\t\t\t\tConditions: loadbalancer.RuleSetItemConditionArray{\n\t\t\t\t\t\t\u0026loadbalancer.RuleSetItemConditionArgs{\n\t\t\t\t\t\t\tAttributeName: pulumi.Any(ruleSetItemsConditionsAttributeName),\n\t\t\t\t\t\t\tAttributeValue: pulumi.Any(ruleSetItemsConditionsAttributeValue),\n\t\t\t\t\t\t\tOperator: pulumi.Any(ruleSetItemsConditionsOperator),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tDescription: pulumi.Any(ruleSetItemsDescription),\n\t\t\t\t\tHeader: pulumi.Any(ruleSetItemsHeader),\n\t\t\t\t\tHttpLargeHeaderSizeInKb: pulumi.Any(ruleSetItemsHttpLargeHeaderSizeInKb),\n\t\t\t\t\tPrefix: pulumi.Any(ruleSetItemsPrefix),\n\t\t\t\t\tRedirectUri: \u0026loadbalancer.RuleSetItemRedirectUriArgs{\n\t\t\t\t\t\tHost: pulumi.Any(ruleSetItemsRedirectUriHost),\n\t\t\t\t\t\tPath: pulumi.Any(ruleSetItemsRedirectUriPath),\n\t\t\t\t\t\tPort: pulumi.Any(ruleSetItemsRedirectUriPort),\n\t\t\t\t\t\tProtocol: pulumi.Any(ruleSetItemsRedirectUriProtocol),\n\t\t\t\t\t\tQuery: pulumi.Any(ruleSetItemsRedirectUriQuery),\n\t\t\t\t\t},\n\t\t\t\t\tResponseCode: pulumi.Any(ruleSetItemsResponseCode),\n\t\t\t\t\tStatusCode: pulumi.Any(ruleSetItemsStatusCode),\n\t\t\t\t\tSuffix: pulumi.Any(ruleSetItemsSuffix),\n\t\t\t\t\tValue: pulumi.Any(ruleSetItemsValue),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLoadBalancerId: pulumi.Any(testLoadBalancer.Id),\n\t\t\tName: pulumi.Any(ruleSetName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.oci.LoadBalancer.RuleSet;\nimport com.pulumi.oci.LoadBalancer.RuleSetArgs;\nimport com.pulumi.oci.LoadBalancer.inputs.RuleSetItemArgs;\nimport com.pulumi.oci.LoadBalancer.inputs.RuleSetItemRedirectUriArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testRuleSet = new RuleSet(\"testRuleSet\", RuleSetArgs.builder() \n .items(RuleSetItemArgs.builder()\n .action(ruleSetItemsAction)\n .allowedMethods(ruleSetItemsAllowedMethods)\n .areInvalidCharactersAllowed(ruleSetItemsAreInvalidCharactersAllowed)\n .conditions(RuleSetItemConditionArgs.builder()\n .attributeName(ruleSetItemsConditionsAttributeName)\n .attributeValue(ruleSetItemsConditionsAttributeValue)\n .operator(ruleSetItemsConditionsOperator)\n .build())\n .description(ruleSetItemsDescription)\n .header(ruleSetItemsHeader)\n .httpLargeHeaderSizeInKb(ruleSetItemsHttpLargeHeaderSizeInKb)\n .prefix(ruleSetItemsPrefix)\n .redirectUri(RuleSetItemRedirectUriArgs.builder()\n .host(ruleSetItemsRedirectUriHost)\n .path(ruleSetItemsRedirectUriPath)\n .port(ruleSetItemsRedirectUriPort)\n .protocol(ruleSetItemsRedirectUriProtocol)\n .query(ruleSetItemsRedirectUriQuery)\n .build())\n .responseCode(ruleSetItemsResponseCode)\n .statusCode(ruleSetItemsStatusCode)\n .suffix(ruleSetItemsSuffix)\n .value(ruleSetItemsValue)\n .build())\n .loadBalancerId(testLoadBalancer.id())\n .name(ruleSetName)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testRuleSet:\n type: oci:LoadBalancer:RuleSet\n name: test_rule_set\n properties:\n items:\n - action: ${ruleSetItemsAction}\n allowedMethods: ${ruleSetItemsAllowedMethods}\n areInvalidCharactersAllowed: ${ruleSetItemsAreInvalidCharactersAllowed}\n conditions:\n - attributeName: ${ruleSetItemsConditionsAttributeName}\n attributeValue: ${ruleSetItemsConditionsAttributeValue}\n operator: ${ruleSetItemsConditionsOperator}\n description: ${ruleSetItemsDescription}\n header: ${ruleSetItemsHeader}\n httpLargeHeaderSizeInKb: ${ruleSetItemsHttpLargeHeaderSizeInKb}\n prefix: ${ruleSetItemsPrefix}\n redirectUri:\n host: ${ruleSetItemsRedirectUriHost}\n path: ${ruleSetItemsRedirectUriPath}\n port: ${ruleSetItemsRedirectUriPort}\n protocol: ${ruleSetItemsRedirectUriProtocol}\n query: ${ruleSetItemsRedirectUriQuery}\n responseCode: ${ruleSetItemsResponseCode}\n statusCode: ${ruleSetItemsStatusCode}\n suffix: ${ruleSetItemsSuffix}\n value: ${ruleSetItemsValue}\n loadBalancerId: ${testLoadBalancer.id}\n name: ${ruleSetName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRuleSets can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import oci:LoadBalancer/ruleSet:RuleSet test_rule_set \"loadBalancers/{loadBalancerId}/ruleSets/{ruleSetName}\"\n```\n", + "description": "This resource provides the Rule Set resource in Oracle Cloud Infrastructure Load Balancer service.\n\nCreates a new rule set associated with the specified load balancer. For more information, see\n[Managing Rule Sets](https://docs.cloud.oracle.com/iaas/Content/Balance/Tasks/managingrulesets.htm).\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as oci from \"@pulumi/oci\";\n\nconst testRuleSet = new oci.loadbalancer.RuleSet(\"test_rule_set\", {\n items: [{\n action: ruleSetItemsAction,\n allowedMethods: ruleSetItemsAllowedMethods,\n areInvalidCharactersAllowed: ruleSetItemsAreInvalidCharactersAllowed,\n conditions: [{\n attributeName: ruleSetItemsConditionsAttributeName,\n attributeValue: ruleSetItemsConditionsAttributeValue,\n operator: ruleSetItemsConditionsOperator,\n }],\n defaultMaxConnections: ruleSetItemsDefaultMaxConnections,\n description: ruleSetItemsDescription,\n header: ruleSetItemsHeader,\n httpLargeHeaderSizeInKb: ruleSetItemsHttpLargeHeaderSizeInKb,\n ipMaxConnections: [{\n ipAddresses: ruleSetItemsIpMaxConnectionsIpAddresses,\n maxConnections: ruleSetItemsIpMaxConnectionsMaxConnections,\n }],\n prefix: ruleSetItemsPrefix,\n redirectUri: {\n host: ruleSetItemsRedirectUriHost,\n path: ruleSetItemsRedirectUriPath,\n port: ruleSetItemsRedirectUriPort,\n protocol: ruleSetItemsRedirectUriProtocol,\n query: ruleSetItemsRedirectUriQuery,\n },\n responseCode: ruleSetItemsResponseCode,\n statusCode: ruleSetItemsStatusCode,\n suffix: ruleSetItemsSuffix,\n value: ruleSetItemsValue,\n }],\n loadBalancerId: testLoadBalancer.id,\n name: ruleSetName,\n});\n```\n```python\nimport pulumi\nimport pulumi_oci as oci\n\ntest_rule_set = oci.load_balancer.RuleSet(\"test_rule_set\",\n items=[oci.load_balancer.RuleSetItemArgs(\n action=rule_set_items_action,\n allowed_methods=rule_set_items_allowed_methods,\n are_invalid_characters_allowed=rule_set_items_are_invalid_characters_allowed,\n conditions=[oci.load_balancer.RuleSetItemConditionArgs(\n attribute_name=rule_set_items_conditions_attribute_name,\n attribute_value=rule_set_items_conditions_attribute_value,\n operator=rule_set_items_conditions_operator,\n )],\n default_max_connections=rule_set_items_default_max_connections,\n description=rule_set_items_description,\n header=rule_set_items_header,\n http_large_header_size_in_kb=rule_set_items_http_large_header_size_in_kb,\n ip_max_connections=[oci.load_balancer.RuleSetItemIpMaxConnectionArgs(\n ip_addresses=rule_set_items_ip_max_connections_ip_addresses,\n max_connections=rule_set_items_ip_max_connections_max_connections,\n )],\n prefix=rule_set_items_prefix,\n redirect_uri=oci.load_balancer.RuleSetItemRedirectUriArgs(\n host=rule_set_items_redirect_uri_host,\n path=rule_set_items_redirect_uri_path,\n port=rule_set_items_redirect_uri_port,\n protocol=rule_set_items_redirect_uri_protocol,\n query=rule_set_items_redirect_uri_query,\n ),\n response_code=rule_set_items_response_code,\n status_code=rule_set_items_status_code,\n suffix=rule_set_items_suffix,\n value=rule_set_items_value,\n )],\n load_balancer_id=test_load_balancer[\"id\"],\n name=rule_set_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Oci = Pulumi.Oci;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testRuleSet = new Oci.LoadBalancer.RuleSet(\"test_rule_set\", new()\n {\n Items = new[]\n {\n new Oci.LoadBalancer.Inputs.RuleSetItemArgs\n {\n Action = ruleSetItemsAction,\n AllowedMethods = ruleSetItemsAllowedMethods,\n AreInvalidCharactersAllowed = ruleSetItemsAreInvalidCharactersAllowed,\n Conditions = new[]\n {\n new Oci.LoadBalancer.Inputs.RuleSetItemConditionArgs\n {\n AttributeName = ruleSetItemsConditionsAttributeName,\n AttributeValue = ruleSetItemsConditionsAttributeValue,\n Operator = ruleSetItemsConditionsOperator,\n },\n },\n DefaultMaxConnections = ruleSetItemsDefaultMaxConnections,\n Description = ruleSetItemsDescription,\n Header = ruleSetItemsHeader,\n HttpLargeHeaderSizeInKb = ruleSetItemsHttpLargeHeaderSizeInKb,\n IpMaxConnections = new[]\n {\n new Oci.LoadBalancer.Inputs.RuleSetItemIpMaxConnectionArgs\n {\n IpAddresses = ruleSetItemsIpMaxConnectionsIpAddresses,\n MaxConnections = ruleSetItemsIpMaxConnectionsMaxConnections,\n },\n },\n Prefix = ruleSetItemsPrefix,\n RedirectUri = new Oci.LoadBalancer.Inputs.RuleSetItemRedirectUriArgs\n {\n Host = ruleSetItemsRedirectUriHost,\n Path = ruleSetItemsRedirectUriPath,\n Port = ruleSetItemsRedirectUriPort,\n Protocol = ruleSetItemsRedirectUriProtocol,\n Query = ruleSetItemsRedirectUriQuery,\n },\n ResponseCode = ruleSetItemsResponseCode,\n StatusCode = ruleSetItemsStatusCode,\n Suffix = ruleSetItemsSuffix,\n Value = ruleSetItemsValue,\n },\n },\n LoadBalancerId = testLoadBalancer.Id,\n Name = ruleSetName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-oci/sdk/go/oci/LoadBalancer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := LoadBalancer.NewRuleSet(ctx, \"test_rule_set\", \u0026LoadBalancer.RuleSetArgs{\n\t\t\tItems: loadbalancer.RuleSetItemArray{\n\t\t\t\t\u0026loadbalancer.RuleSetItemArgs{\n\t\t\t\t\tAction: pulumi.Any(ruleSetItemsAction),\n\t\t\t\t\tAllowedMethods: pulumi.Any(ruleSetItemsAllowedMethods),\n\t\t\t\t\tAreInvalidCharactersAllowed: pulumi.Any(ruleSetItemsAreInvalidCharactersAllowed),\n\t\t\t\t\tConditions: loadbalancer.RuleSetItemConditionArray{\n\t\t\t\t\t\t\u0026loadbalancer.RuleSetItemConditionArgs{\n\t\t\t\t\t\t\tAttributeName: pulumi.Any(ruleSetItemsConditionsAttributeName),\n\t\t\t\t\t\t\tAttributeValue: pulumi.Any(ruleSetItemsConditionsAttributeValue),\n\t\t\t\t\t\t\tOperator: pulumi.Any(ruleSetItemsConditionsOperator),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tDefaultMaxConnections: pulumi.Any(ruleSetItemsDefaultMaxConnections),\n\t\t\t\t\tDescription: pulumi.Any(ruleSetItemsDescription),\n\t\t\t\t\tHeader: pulumi.Any(ruleSetItemsHeader),\n\t\t\t\t\tHttpLargeHeaderSizeInKb: pulumi.Any(ruleSetItemsHttpLargeHeaderSizeInKb),\n\t\t\t\t\tIpMaxConnections: loadbalancer.RuleSetItemIpMaxConnectionArray{\n\t\t\t\t\t\t\u0026loadbalancer.RuleSetItemIpMaxConnectionArgs{\n\t\t\t\t\t\t\tIpAddresses: pulumi.Any(ruleSetItemsIpMaxConnectionsIpAddresses),\n\t\t\t\t\t\t\tMaxConnections: pulumi.Any(ruleSetItemsIpMaxConnectionsMaxConnections),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tPrefix: pulumi.Any(ruleSetItemsPrefix),\n\t\t\t\t\tRedirectUri: \u0026loadbalancer.RuleSetItemRedirectUriArgs{\n\t\t\t\t\t\tHost: pulumi.Any(ruleSetItemsRedirectUriHost),\n\t\t\t\t\t\tPath: pulumi.Any(ruleSetItemsRedirectUriPath),\n\t\t\t\t\t\tPort: pulumi.Any(ruleSetItemsRedirectUriPort),\n\t\t\t\t\t\tProtocol: pulumi.Any(ruleSetItemsRedirectUriProtocol),\n\t\t\t\t\t\tQuery: pulumi.Any(ruleSetItemsRedirectUriQuery),\n\t\t\t\t\t},\n\t\t\t\t\tResponseCode: pulumi.Any(ruleSetItemsResponseCode),\n\t\t\t\t\tStatusCode: pulumi.Any(ruleSetItemsStatusCode),\n\t\t\t\t\tSuffix: pulumi.Any(ruleSetItemsSuffix),\n\t\t\t\t\tValue: pulumi.Any(ruleSetItemsValue),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLoadBalancerId: pulumi.Any(testLoadBalancer.Id),\n\t\t\tName: pulumi.Any(ruleSetName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.oci.LoadBalancer.RuleSet;\nimport com.pulumi.oci.LoadBalancer.RuleSetArgs;\nimport com.pulumi.oci.LoadBalancer.inputs.RuleSetItemArgs;\nimport com.pulumi.oci.LoadBalancer.inputs.RuleSetItemRedirectUriArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testRuleSet = new RuleSet(\"testRuleSet\", RuleSetArgs.builder() \n .items(RuleSetItemArgs.builder()\n .action(ruleSetItemsAction)\n .allowedMethods(ruleSetItemsAllowedMethods)\n .areInvalidCharactersAllowed(ruleSetItemsAreInvalidCharactersAllowed)\n .conditions(RuleSetItemConditionArgs.builder()\n .attributeName(ruleSetItemsConditionsAttributeName)\n .attributeValue(ruleSetItemsConditionsAttributeValue)\n .operator(ruleSetItemsConditionsOperator)\n .build())\n .defaultMaxConnections(ruleSetItemsDefaultMaxConnections)\n .description(ruleSetItemsDescription)\n .header(ruleSetItemsHeader)\n .httpLargeHeaderSizeInKb(ruleSetItemsHttpLargeHeaderSizeInKb)\n .ipMaxConnections(RuleSetItemIpMaxConnectionArgs.builder()\n .ipAddresses(ruleSetItemsIpMaxConnectionsIpAddresses)\n .maxConnections(ruleSetItemsIpMaxConnectionsMaxConnections)\n .build())\n .prefix(ruleSetItemsPrefix)\n .redirectUri(RuleSetItemRedirectUriArgs.builder()\n .host(ruleSetItemsRedirectUriHost)\n .path(ruleSetItemsRedirectUriPath)\n .port(ruleSetItemsRedirectUriPort)\n .protocol(ruleSetItemsRedirectUriProtocol)\n .query(ruleSetItemsRedirectUriQuery)\n .build())\n .responseCode(ruleSetItemsResponseCode)\n .statusCode(ruleSetItemsStatusCode)\n .suffix(ruleSetItemsSuffix)\n .value(ruleSetItemsValue)\n .build())\n .loadBalancerId(testLoadBalancer.id())\n .name(ruleSetName)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testRuleSet:\n type: oci:LoadBalancer:RuleSet\n name: test_rule_set\n properties:\n items:\n - action: ${ruleSetItemsAction}\n allowedMethods: ${ruleSetItemsAllowedMethods}\n areInvalidCharactersAllowed: ${ruleSetItemsAreInvalidCharactersAllowed}\n conditions:\n - attributeName: ${ruleSetItemsConditionsAttributeName}\n attributeValue: ${ruleSetItemsConditionsAttributeValue}\n operator: ${ruleSetItemsConditionsOperator}\n defaultMaxConnections: ${ruleSetItemsDefaultMaxConnections}\n description: ${ruleSetItemsDescription}\n header: ${ruleSetItemsHeader}\n httpLargeHeaderSizeInKb: ${ruleSetItemsHttpLargeHeaderSizeInKb}\n ipMaxConnections:\n - ipAddresses: ${ruleSetItemsIpMaxConnectionsIpAddresses}\n maxConnections: ${ruleSetItemsIpMaxConnectionsMaxConnections}\n prefix: ${ruleSetItemsPrefix}\n redirectUri:\n host: ${ruleSetItemsRedirectUriHost}\n path: ${ruleSetItemsRedirectUriPath}\n port: ${ruleSetItemsRedirectUriPort}\n protocol: ${ruleSetItemsRedirectUriProtocol}\n query: ${ruleSetItemsRedirectUriQuery}\n responseCode: ${ruleSetItemsResponseCode}\n statusCode: ${ruleSetItemsStatusCode}\n suffix: ${ruleSetItemsSuffix}\n value: ${ruleSetItemsValue}\n loadBalancerId: ${testLoadBalancer.id}\n name: ${ruleSetName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRuleSets can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import oci:LoadBalancer/ruleSet:RuleSet test_rule_set \"loadBalancers/{loadBalancerId}/ruleSets/{ruleSetName}\"\n```\n", "properties": { "items": { "type": "array", @@ -572822,6 +573265,13 @@ "description": "The software version of the database servers (dom0) in the cloud Exadata infrastructure. Example: 20.1.15\n", "type": "string" }, + "definedFileSystemConfigurations": { + "description": "Details of the file system configuration of the Exadata infrastructure.\n", + "items": { + "$ref": "#/types/oci:Database/getCloudExadataInfrastructureDefinedFileSystemConfiguration:getCloudExadataInfrastructureDefinedFileSystemConfiguration" + }, + "type": "array" + }, "definedTags": { "additionalProperties": { "$ref": "pulumi.json#/Any" @@ -572937,6 +573387,7 @@ "dataStorageSizeInTbs", "dbNodeStorageSizeInGbs", "dbServerVersion", + "definedFileSystemConfigurations", "definedTags", "displayName", "freeformTags", @@ -573222,6 +573673,13 @@ "description": "The domain name for the cloud VM cluster.\n", "type": "string" }, + "fileSystemConfigurationDetails": { + "description": "Details of the file system configuration of the VM cluster.\n", + "items": { + "$ref": "#/types/oci:Database/getCloudVmClusterFileSystemConfigurationDetail:getCloudVmClusterFileSystemConfigurationDetail" + }, + "type": "array" + }, "freeformTags": { "additionalProperties": { "$ref": "pulumi.json#/Any" @@ -573390,6 +573848,7 @@ "diskRedundancy", "displayName", "domain", + "fileSystemConfigurationDetails", "freeformTags", "giVersion", "hostname", @@ -632932,7 +633391,7 @@ }, "listenerName": { "type": "string", - "description": "The name of the listener the rules are associated with.\n" + "description": "The name of the listener the rules are associated with. Example: `example_listener`\n" }, "loadBalancerId": { "type": "string", diff --git a/provider/go.mod b/provider/go.mod index 95f113f21a..2a3e8b04a1 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -9,7 +9,7 @@ replace ( ) require ( - github.com/oracle/terraform-provider-oci v1.0.19-0.20240501104716-ac30dbd40cf2 // indirect + github.com/oracle/terraform-provider-oci v1.0.19-0.20240507205851-a759718789dd // indirect github.com/oracle/terraform-provider-oci/shim v0.0.0 github.com/pulumi/pulumi-terraform-bridge/v3 v3.82.0 github.com/pulumi/pulumi/pkg/v3 v3.114.0 // indirect @@ -174,7 +174,7 @@ require ( github.com/oklog/run v1.1.0 // indirect github.com/opentracing/basictracer-go v1.1.0 // indirect github.com/opentracing/opentracing-go v1.2.0 // indirect - github.com/oracle/oci-go-sdk/v65 v65.65.0 // indirect + github.com/oracle/oci-go-sdk/v65 v65.65.1 // indirect github.com/pgavlin/fx v0.1.6 // indirect github.com/pgavlin/goldmark v1.1.33-0.20200616210433-b5eb04559386 // indirect github.com/pierrec/lz4 v2.6.1+incompatible // indirect diff --git a/provider/go.sum b/provider/go.sum index 79f8487da4..50a75cb6e5 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -2693,10 +2693,10 @@ github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxS github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw= github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= -github.com/oracle/oci-go-sdk/v65 v65.65.0 h1:DWUqWnycn2aUy+5rztpyQMtcEf/VgcVnDSRT+EzzzHU= -github.com/oracle/oci-go-sdk/v65 v65.65.0/go.mod h1:IBEV9l1qBzUpo7zgGaRUhbB05BVfcDGYRFBCPlTcPp0= -github.com/oracle/terraform-provider-oci v1.0.19-0.20240501104716-ac30dbd40cf2 h1:WDdd8/AfyUKjfg6VqDDJlw8zb7R2SPNR7WhvtKL4BaU= -github.com/oracle/terraform-provider-oci v1.0.19-0.20240501104716-ac30dbd40cf2/go.mod h1:/MecsNST46W3jYf7Jhscat69SHrEdAdJeBqV03Ima/k= +github.com/oracle/oci-go-sdk/v65 v65.65.1 h1:sv7uD844tJGa2Vc+2KaByoXQ0FllZDGV/2+9MdxN6nA= +github.com/oracle/oci-go-sdk/v65 v65.65.1/go.mod h1:IBEV9l1qBzUpo7zgGaRUhbB05BVfcDGYRFBCPlTcPp0= +github.com/oracle/terraform-provider-oci v1.0.19-0.20240507205851-a759718789dd h1:PwT/MjOtCRpTnfqVtODYhgNpswKLJvwp/VbZIc01Ouo= +github.com/oracle/terraform-provider-oci v1.0.19-0.20240507205851-a759718789dd/go.mod h1:3Lu9faf99cZYLblj3qa+4BSEcfVmmT3JNmet3fyIiAg= github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0MwY= diff --git a/provider/shim/go.mod b/provider/shim/go.mod index ce86b2f022..2585ba51fd 100644 --- a/provider/shim/go.mod +++ b/provider/shim/go.mod @@ -4,7 +4,7 @@ go 1.21 require ( github.com/hashicorp/terraform-plugin-sdk/v2 v2.22.0 - github.com/oracle/terraform-provider-oci v1.0.19-0.20240501104716-ac30dbd40cf2 + github.com/oracle/terraform-provider-oci v1.0.19-0.20240507205851-a759718789dd ) replace github.com/hashicorp/terraform-exec => github.com/hashicorp/terraform-exec v0.14.0 @@ -44,7 +44,7 @@ require ( github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/oklog/run v1.1.0 // indirect - github.com/oracle/oci-go-sdk/v65 v65.65.0 // indirect + github.com/oracle/oci-go-sdk/v65 v65.65.1 // indirect github.com/sony/gobreaker v0.5.0 // indirect github.com/vmihailenco/msgpack v4.0.4+incompatible // indirect github.com/vmihailenco/msgpack/v4 v4.3.12 // indirect diff --git a/provider/shim/go.sum b/provider/shim/go.sum index 194e3959a1..852724f62e 100644 --- a/provider/shim/go.sum +++ b/provider/shim/go.sum @@ -231,10 +231,10 @@ github.com/nsf/jsondiff v0.0.0-20200515183724-f29ed568f4ce h1:RPclfga2SEJmgMmz2k github.com/nsf/jsondiff v0.0.0-20200515183724-f29ed568f4ce/go.mod h1:uFMI8w+ref4v2r9jz+c9i1IfIttS/OkmLfrk1jne5hs= github.com/oklog/run v1.1.0 h1:GEenZ1cK0+q0+wsJew9qUg/DyD8k3JzYsZAi5gYi2mA= github.com/oklog/run v1.1.0/go.mod h1:sVPdnTZT1zYwAJeCMu2Th4T21pA3FPOQRfWjQlk7DVU= -github.com/oracle/oci-go-sdk/v65 v65.65.0 h1:DWUqWnycn2aUy+5rztpyQMtcEf/VgcVnDSRT+EzzzHU= -github.com/oracle/oci-go-sdk/v65 v65.65.0/go.mod h1:IBEV9l1qBzUpo7zgGaRUhbB05BVfcDGYRFBCPlTcPp0= -github.com/oracle/terraform-provider-oci v1.0.19-0.20240501104716-ac30dbd40cf2 h1:WDdd8/AfyUKjfg6VqDDJlw8zb7R2SPNR7WhvtKL4BaU= -github.com/oracle/terraform-provider-oci v1.0.19-0.20240501104716-ac30dbd40cf2/go.mod h1:/MecsNST46W3jYf7Jhscat69SHrEdAdJeBqV03Ima/k= +github.com/oracle/oci-go-sdk/v65 v65.65.1 h1:sv7uD844tJGa2Vc+2KaByoXQ0FllZDGV/2+9MdxN6nA= +github.com/oracle/oci-go-sdk/v65 v65.65.1/go.mod h1:IBEV9l1qBzUpo7zgGaRUhbB05BVfcDGYRFBCPlTcPp0= +github.com/oracle/terraform-provider-oci v1.0.19-0.20240507205851-a759718789dd h1:PwT/MjOtCRpTnfqVtODYhgNpswKLJvwp/VbZIc01Ouo= +github.com/oracle/terraform-provider-oci v1.0.19-0.20240507205851-a759718789dd/go.mod h1:3Lu9faf99cZYLblj3qa+4BSEcfVmmT3JNmet3fyIiAg= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= diff --git a/sdk/dotnet/Database/CloudExadataInfrastructure.cs b/sdk/dotnet/Database/CloudExadataInfrastructure.cs index c306a43bf1..102954adc5 100644 --- a/sdk/dotnet/Database/CloudExadataInfrastructure.cs +++ b/sdk/dotnet/Database/CloudExadataInfrastructure.cs @@ -158,6 +158,12 @@ public partial class CloudExadataInfrastructure : global::Pulumi.CustomResource [Output("dbServerVersion")] public Output DbServerVersion { get; private set; } = null!; + /// + /// Details of the file system configuration of the Exadata infrastructure. + /// + [Output("definedFileSystemConfigurations")] + public Output> DefinedFileSystemConfigurations { get; private set; } = null!; + /// /// (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). /// @@ -508,6 +514,18 @@ public InputList Custom [Input("dbServerVersion")] public Input? DbServerVersion { get; set; } + [Input("definedFileSystemConfigurations")] + private InputList? _definedFileSystemConfigurations; + + /// + /// Details of the file system configuration of the Exadata infrastructure. + /// + public InputList DefinedFileSystemConfigurations + { + get => _definedFileSystemConfigurations ?? (_definedFileSystemConfigurations = new InputList()); + set => _definedFileSystemConfigurations = value; + } + [Input("definedTags")] private InputMap? _definedTags; diff --git a/sdk/dotnet/Database/CloudVmCluster.cs b/sdk/dotnet/Database/CloudVmCluster.cs index e38cfd8a6e..bacbd87f2b 100644 --- a/sdk/dotnet/Database/CloudVmCluster.cs +++ b/sdk/dotnet/Database/CloudVmCluster.cs @@ -49,6 +49,14 @@ namespace Pulumi.Oci.Database /// DbServers = cloudVmClusterDbServers, /// DefinedTags = cloudVmClusterDefinedTags, /// Domain = cloudVmClusterDomain, + /// FileSystemConfigurationDetails = new[] + /// { + /// new Oci.Database.Inputs.CloudVmClusterFileSystemConfigurationDetailArgs + /// { + /// FileSystemSizeGb = cloudVmClusterFileSystemConfigurationDetailsFileSystemSizeGb, + /// MountPoint = cloudVmClusterFileSystemConfigurationDetailsMountPoint, + /// }, + /// }, /// FreeformTags = /// { /// { "Department", "Finance" }, @@ -186,6 +194,12 @@ public partial class CloudVmCluster : global::Pulumi.CustomResource [Output("domain")] public Output Domain { get; private set; } = null!; + /// + /// (Updatable) Details of the file system configuration of the VM cluster. + /// + [Output("fileSystemConfigurationDetails")] + public Output> FileSystemConfigurationDetails { get; private set; } = null!; + /// /// (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` /// @@ -539,6 +553,18 @@ public InputMap DefinedTags [Input("domain")] public Input? Domain { get; set; } + [Input("fileSystemConfigurationDetails")] + private InputList? _fileSystemConfigurationDetails; + + /// + /// (Updatable) Details of the file system configuration of the VM cluster. + /// + public InputList FileSystemConfigurationDetails + { + get => _fileSystemConfigurationDetails ?? (_fileSystemConfigurationDetails = new InputList()); + set => _fileSystemConfigurationDetails = value; + } + [Input("freeformTags")] private InputMap? _freeformTags; @@ -794,6 +820,18 @@ public InputMap DefinedTags [Input("domain")] public Input? Domain { get; set; } + [Input("fileSystemConfigurationDetails")] + private InputList? _fileSystemConfigurationDetails; + + /// + /// (Updatable) Details of the file system configuration of the VM cluster. + /// + public InputList FileSystemConfigurationDetails + { + get => _fileSystemConfigurationDetails ?? (_fileSystemConfigurationDetails = new InputList()); + set => _fileSystemConfigurationDetails = value; + } + [Input("freeformTags")] private InputMap? _freeformTags; diff --git a/sdk/dotnet/Database/GetCloudExadataInfrastructure.cs b/sdk/dotnet/Database/GetCloudExadataInfrastructure.cs index 301eb6a826..b4897d684d 100644 --- a/sdk/dotnet/Database/GetCloudExadataInfrastructure.cs +++ b/sdk/dotnet/Database/GetCloudExadataInfrastructure.cs @@ -149,6 +149,10 @@ public sealed class GetCloudExadataInfrastructureResult /// public readonly string DbServerVersion; /// + /// Details of the file system configuration of the Exadata infrastructure. + /// + public readonly ImmutableArray DefinedFileSystemConfigurations; + /// /// Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). /// public readonly ImmutableDictionary DefinedTags; @@ -265,6 +269,8 @@ private GetCloudExadataInfrastructureResult( string dbServerVersion, + ImmutableArray definedFileSystemConfigurations, + ImmutableDictionary definedTags, string displayName, @@ -322,6 +328,7 @@ private GetCloudExadataInfrastructureResult( DataStorageSizeInTbs = dataStorageSizeInTbs; DbNodeStorageSizeInGbs = dbNodeStorageSizeInGbs; DbServerVersion = dbServerVersion; + DefinedFileSystemConfigurations = definedFileSystemConfigurations; DefinedTags = definedTags; DisplayName = displayName; FreeformTags = freeformTags; diff --git a/sdk/dotnet/Database/GetCloudVmCluster.cs b/sdk/dotnet/Database/GetCloudVmCluster.cs index 5df1272503..e7742b3588 100644 --- a/sdk/dotnet/Database/GetCloudVmCluster.cs +++ b/sdk/dotnet/Database/GetCloudVmCluster.cs @@ -166,6 +166,10 @@ public sealed class GetCloudVmClusterResult /// public readonly string Domain; /// + /// Details of the file system configuration of the VM cluster. + /// + public readonly ImmutableArray FileSystemConfigurationDetails; + /// /// Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` /// public readonly ImmutableDictionary FreeformTags; @@ -330,6 +334,8 @@ private GetCloudVmClusterResult( string domain, + ImmutableArray fileSystemConfigurationDetails, + ImmutableDictionary freeformTags, string giVersion, @@ -412,6 +418,7 @@ private GetCloudVmClusterResult( DiskRedundancy = diskRedundancy; DisplayName = displayName; Domain = domain; + FileSystemConfigurationDetails = fileSystemConfigurationDetails; FreeformTags = freeformTags; GiVersion = giVersion; Hostname = hostname; diff --git a/sdk/dotnet/Database/Inputs/CloudExadataInfrastructureDefinedFileSystemConfigurationArgs.cs b/sdk/dotnet/Database/Inputs/CloudExadataInfrastructureDefinedFileSystemConfigurationArgs.cs new file mode 100644 index 0000000000..d473f65753 --- /dev/null +++ b/sdk/dotnet/Database/Inputs/CloudExadataInfrastructureDefinedFileSystemConfigurationArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Oci.Database.Inputs +{ + + public sealed class CloudExadataInfrastructureDefinedFileSystemConfigurationArgs : global::Pulumi.ResourceArgs + { + /// + /// If true, the file system is used to create a backup prior to Exadata VM OS update. + /// + [Input("isBackupPartition")] + public Input? IsBackupPartition { get; set; } + + /// + /// If true, the file system resize is allowed for the Exadata Infrastructure cluster. If false, the file system resize is not allowed. + /// + [Input("isResizable")] + public Input? IsResizable { get; set; } + + /// + /// The minimum size of file system. + /// + [Input("minSizeGb")] + public Input? MinSizeGb { get; set; } + + /// + /// The mount point of file system. + /// + [Input("mountPoint")] + public Input? MountPoint { get; set; } + + public CloudExadataInfrastructureDefinedFileSystemConfigurationArgs() + { + } + public static new CloudExadataInfrastructureDefinedFileSystemConfigurationArgs Empty => new CloudExadataInfrastructureDefinedFileSystemConfigurationArgs(); + } +} diff --git a/sdk/dotnet/Database/Inputs/CloudExadataInfrastructureDefinedFileSystemConfigurationGetArgs.cs b/sdk/dotnet/Database/Inputs/CloudExadataInfrastructureDefinedFileSystemConfigurationGetArgs.cs new file mode 100644 index 0000000000..1c0eea63cf --- /dev/null +++ b/sdk/dotnet/Database/Inputs/CloudExadataInfrastructureDefinedFileSystemConfigurationGetArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Oci.Database.Inputs +{ + + public sealed class CloudExadataInfrastructureDefinedFileSystemConfigurationGetArgs : global::Pulumi.ResourceArgs + { + /// + /// If true, the file system is used to create a backup prior to Exadata VM OS update. + /// + [Input("isBackupPartition")] + public Input? IsBackupPartition { get; set; } + + /// + /// If true, the file system resize is allowed for the Exadata Infrastructure cluster. If false, the file system resize is not allowed. + /// + [Input("isResizable")] + public Input? IsResizable { get; set; } + + /// + /// The minimum size of file system. + /// + [Input("minSizeGb")] + public Input? MinSizeGb { get; set; } + + /// + /// The mount point of file system. + /// + [Input("mountPoint")] + public Input? MountPoint { get; set; } + + public CloudExadataInfrastructureDefinedFileSystemConfigurationGetArgs() + { + } + public static new CloudExadataInfrastructureDefinedFileSystemConfigurationGetArgs Empty => new CloudExadataInfrastructureDefinedFileSystemConfigurationGetArgs(); + } +} diff --git a/sdk/dotnet/Database/Inputs/CloudVmClusterFileSystemConfigurationDetailArgs.cs b/sdk/dotnet/Database/Inputs/CloudVmClusterFileSystemConfigurationDetailArgs.cs new file mode 100644 index 0000000000..7e7d13a9e6 --- /dev/null +++ b/sdk/dotnet/Database/Inputs/CloudVmClusterFileSystemConfigurationDetailArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Oci.Database.Inputs +{ + + public sealed class CloudVmClusterFileSystemConfigurationDetailArgs : global::Pulumi.ResourceArgs + { + /// + /// (Updatable) The file system size to be allocated in GBs. + /// + [Input("fileSystemSizeGb")] + public Input? FileSystemSizeGb { get; set; } + + /// + /// (Updatable) The mount point of file system. + /// + [Input("mountPoint")] + public Input? MountPoint { get; set; } + + public CloudVmClusterFileSystemConfigurationDetailArgs() + { + } + public static new CloudVmClusterFileSystemConfigurationDetailArgs Empty => new CloudVmClusterFileSystemConfigurationDetailArgs(); + } +} diff --git a/sdk/dotnet/Database/Inputs/CloudVmClusterFileSystemConfigurationDetailGetArgs.cs b/sdk/dotnet/Database/Inputs/CloudVmClusterFileSystemConfigurationDetailGetArgs.cs new file mode 100644 index 0000000000..b7f659d109 --- /dev/null +++ b/sdk/dotnet/Database/Inputs/CloudVmClusterFileSystemConfigurationDetailGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Oci.Database.Inputs +{ + + public sealed class CloudVmClusterFileSystemConfigurationDetailGetArgs : global::Pulumi.ResourceArgs + { + /// + /// (Updatable) The file system size to be allocated in GBs. + /// + [Input("fileSystemSizeGb")] + public Input? FileSystemSizeGb { get; set; } + + /// + /// (Updatable) The mount point of file system. + /// + [Input("mountPoint")] + public Input? MountPoint { get; set; } + + public CloudVmClusterFileSystemConfigurationDetailGetArgs() + { + } + public static new CloudVmClusterFileSystemConfigurationDetailGetArgs Empty => new CloudVmClusterFileSystemConfigurationDetailGetArgs(); + } +} diff --git a/sdk/dotnet/Database/Outputs/CloudExadataInfrastructureDefinedFileSystemConfiguration.cs b/sdk/dotnet/Database/Outputs/CloudExadataInfrastructureDefinedFileSystemConfiguration.cs new file mode 100644 index 0000000000..89fa5d88d1 --- /dev/null +++ b/sdk/dotnet/Database/Outputs/CloudExadataInfrastructureDefinedFileSystemConfiguration.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Oci.Database.Outputs +{ + + [OutputType] + public sealed class CloudExadataInfrastructureDefinedFileSystemConfiguration + { + /// + /// If true, the file system is used to create a backup prior to Exadata VM OS update. + /// + public readonly bool? IsBackupPartition; + /// + /// If true, the file system resize is allowed for the Exadata Infrastructure cluster. If false, the file system resize is not allowed. + /// + public readonly bool? IsResizable; + /// + /// The minimum size of file system. + /// + public readonly int? MinSizeGb; + /// + /// The mount point of file system. + /// + public readonly string? MountPoint; + + [OutputConstructor] + private CloudExadataInfrastructureDefinedFileSystemConfiguration( + bool? isBackupPartition, + + bool? isResizable, + + int? minSizeGb, + + string? mountPoint) + { + IsBackupPartition = isBackupPartition; + IsResizable = isResizable; + MinSizeGb = minSizeGb; + MountPoint = mountPoint; + } + } +} diff --git a/sdk/dotnet/Database/Outputs/CloudVmClusterFileSystemConfigurationDetail.cs b/sdk/dotnet/Database/Outputs/CloudVmClusterFileSystemConfigurationDetail.cs new file mode 100644 index 0000000000..f3d5032bbf --- /dev/null +++ b/sdk/dotnet/Database/Outputs/CloudVmClusterFileSystemConfigurationDetail.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Oci.Database.Outputs +{ + + [OutputType] + public sealed class CloudVmClusterFileSystemConfigurationDetail + { + /// + /// (Updatable) The file system size to be allocated in GBs. + /// + public readonly int? FileSystemSizeGb; + /// + /// (Updatable) The mount point of file system. + /// + public readonly string? MountPoint; + + [OutputConstructor] + private CloudVmClusterFileSystemConfigurationDetail( + int? fileSystemSizeGb, + + string? mountPoint) + { + FileSystemSizeGb = fileSystemSizeGb; + MountPoint = mountPoint; + } + } +} diff --git a/sdk/dotnet/Database/Outputs/GetAutonomousContainerDatabasesAutonomousContainerDatabaseResult.cs b/sdk/dotnet/Database/Outputs/GetAutonomousContainerDatabasesAutonomousContainerDatabaseResult.cs index e345573cc5..3dc1ea156c 100644 --- a/sdk/dotnet/Database/Outputs/GetAutonomousContainerDatabasesAutonomousContainerDatabaseResult.cs +++ b/sdk/dotnet/Database/Outputs/GetAutonomousContainerDatabasesAutonomousContainerDatabaseResult.cs @@ -132,13 +132,10 @@ public sealed class GetAutonomousContainerDatabasesAutonomousContainerDatabaseRe public readonly ImmutableArray MaintenanceWindows; /// /// The amount of memory (in GBs) enabled per ECPU or OCPU in the Autonomous VM Cluster. - /// <<<<<<< HEAD /// public readonly int MemoryPerOracleComputeUnitInGbs; /// /// Enabling SHARED server architecture enables a database server to allow many client processes to share very few server processes, thereby increasing the number of supported users. - /// ======= - /// >>>>>>> 22609d6059 (Added - Support for Oracle Home Version Control - Phase 2 | ADB-D and ADB-C@C) /// public readonly string NetServicesArchitecture; /// diff --git a/sdk/dotnet/Database/Outputs/GetCloudExadataInfrastructureDefinedFileSystemConfigurationResult.cs b/sdk/dotnet/Database/Outputs/GetCloudExadataInfrastructureDefinedFileSystemConfigurationResult.cs new file mode 100644 index 0000000000..f4dba0858c --- /dev/null +++ b/sdk/dotnet/Database/Outputs/GetCloudExadataInfrastructureDefinedFileSystemConfigurationResult.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Oci.Database.Outputs +{ + + [OutputType] + public sealed class GetCloudExadataInfrastructureDefinedFileSystemConfigurationResult + { + /// + /// If true, the file system is used to create a backup prior to Exadata VM OS update. + /// + public readonly bool IsBackupPartition; + /// + /// If true, the file system resize is allowed for the Exadata Infrastructure cluster. If false, the file system resize is not allowed. + /// + public readonly bool IsResizable; + /// + /// The minimum size of file system. + /// + public readonly int MinSizeGb; + /// + /// The mount point of file system. + /// + public readonly string MountPoint; + + [OutputConstructor] + private GetCloudExadataInfrastructureDefinedFileSystemConfigurationResult( + bool isBackupPartition, + + bool isResizable, + + int minSizeGb, + + string mountPoint) + { + IsBackupPartition = isBackupPartition; + IsResizable = isResizable; + MinSizeGb = minSizeGb; + MountPoint = mountPoint; + } + } +} diff --git a/sdk/dotnet/Database/Outputs/GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationResult.cs b/sdk/dotnet/Database/Outputs/GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationResult.cs new file mode 100644 index 0000000000..c32c92680a --- /dev/null +++ b/sdk/dotnet/Database/Outputs/GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationResult.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Oci.Database.Outputs +{ + + [OutputType] + public sealed class GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationResult + { + /// + /// If true, the file system is used to create a backup prior to Exadata VM OS update. + /// + public readonly bool IsBackupPartition; + /// + /// If true, the file system resize is allowed for the Exadata Infrastructure cluster. If false, the file system resize is not allowed. + /// + public readonly bool IsResizable; + /// + /// The minimum size of file system. + /// + public readonly int MinSizeGb; + /// + /// The mount point of file system. + /// + public readonly string MountPoint; + + [OutputConstructor] + private GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationResult( + bool isBackupPartition, + + bool isResizable, + + int minSizeGb, + + string mountPoint) + { + IsBackupPartition = isBackupPartition; + IsResizable = isResizable; + MinSizeGb = minSizeGb; + MountPoint = mountPoint; + } + } +} diff --git a/sdk/dotnet/Database/Outputs/GetCloudExadataInfrastructuresCloudExadataInfrastructureResult.cs b/sdk/dotnet/Database/Outputs/GetCloudExadataInfrastructuresCloudExadataInfrastructureResult.cs index 4fbab7ec22..4f3f19e302 100644 --- a/sdk/dotnet/Database/Outputs/GetCloudExadataInfrastructuresCloudExadataInfrastructureResult.cs +++ b/sdk/dotnet/Database/Outputs/GetCloudExadataInfrastructuresCloudExadataInfrastructureResult.cs @@ -62,6 +62,10 @@ public sealed class GetCloudExadataInfrastructuresCloudExadataInfrastructureResu /// public readonly string DbServerVersion; /// + /// Details of the file system configuration of the Exadata infrastructure. + /// + public readonly ImmutableArray DefinedFileSystemConfigurations; + /// /// Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). /// public readonly ImmutableDictionary DefinedTags; @@ -176,6 +180,8 @@ private GetCloudExadataInfrastructuresCloudExadataInfrastructureResult( string dbServerVersion, + ImmutableArray definedFileSystemConfigurations, + ImmutableDictionary definedTags, string displayName, @@ -232,6 +238,7 @@ private GetCloudExadataInfrastructuresCloudExadataInfrastructureResult( DataStorageSizeInTbs = dataStorageSizeInTbs; DbNodeStorageSizeInGbs = dbNodeStorageSizeInGbs; DbServerVersion = dbServerVersion; + DefinedFileSystemConfigurations = definedFileSystemConfigurations; DefinedTags = definedTags; DisplayName = displayName; FreeformTags = freeformTags; diff --git a/sdk/dotnet/Database/Outputs/GetCloudVmClusterFileSystemConfigurationDetailResult.cs b/sdk/dotnet/Database/Outputs/GetCloudVmClusterFileSystemConfigurationDetailResult.cs new file mode 100644 index 0000000000..a650c90fca --- /dev/null +++ b/sdk/dotnet/Database/Outputs/GetCloudVmClusterFileSystemConfigurationDetailResult.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Oci.Database.Outputs +{ + + [OutputType] + public sealed class GetCloudVmClusterFileSystemConfigurationDetailResult + { + /// + /// The file system size to be allocated in GBs. + /// + public readonly int FileSystemSizeGb; + /// + /// The mount point of file system. + /// + public readonly string MountPoint; + + [OutputConstructor] + private GetCloudVmClusterFileSystemConfigurationDetailResult( + int fileSystemSizeGb, + + string mountPoint) + { + FileSystemSizeGb = fileSystemSizeGb; + MountPoint = mountPoint; + } + } +} diff --git a/sdk/dotnet/Database/Outputs/GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailResult.cs b/sdk/dotnet/Database/Outputs/GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailResult.cs new file mode 100644 index 0000000000..ee99ebf19d --- /dev/null +++ b/sdk/dotnet/Database/Outputs/GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailResult.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Oci.Database.Outputs +{ + + [OutputType] + public sealed class GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailResult + { + /// + /// The file system size to be allocated in GBs. + /// + public readonly int FileSystemSizeGb; + /// + /// The mount point of file system. + /// + public readonly string MountPoint; + + [OutputConstructor] + private GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailResult( + int fileSystemSizeGb, + + string mountPoint) + { + FileSystemSizeGb = fileSystemSizeGb; + MountPoint = mountPoint; + } + } +} diff --git a/sdk/dotnet/Database/Outputs/GetCloudVmClustersCloudVmClusterResult.cs b/sdk/dotnet/Database/Outputs/GetCloudVmClustersCloudVmClusterResult.cs index d67f9acce7..6be79a85d5 100644 --- a/sdk/dotnet/Database/Outputs/GetCloudVmClustersCloudVmClusterResult.cs +++ b/sdk/dotnet/Database/Outputs/GetCloudVmClustersCloudVmClusterResult.cs @@ -79,6 +79,10 @@ public sealed class GetCloudVmClustersCloudVmClusterResult /// public readonly string Domain; /// + /// Details of the file system configuration of the VM cluster. + /// + public readonly ImmutableArray FileSystemConfigurationDetails; + /// /// Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` /// public readonly ImmutableDictionary FreeformTags; @@ -238,6 +242,8 @@ private GetCloudVmClustersCloudVmClusterResult( string domain, + ImmutableArray fileSystemConfigurationDetails, + ImmutableDictionary freeformTags, string giVersion, @@ -319,6 +325,7 @@ private GetCloudVmClustersCloudVmClusterResult( DiskRedundancy = diskRedundancy; DisplayName = displayName; Domain = domain; + FileSystemConfigurationDetails = fileSystemConfigurationDetails; FreeformTags = freeformTags; GiVersion = giVersion; Hostname = hostname; diff --git a/sdk/dotnet/DisasterRecovery/Inputs/DrPlanPlanGroupArgs.cs b/sdk/dotnet/DisasterRecovery/Inputs/DrPlanPlanGroupArgs.cs index b6bb60ad80..ed82cd5909 100644 --- a/sdk/dotnet/DisasterRecovery/Inputs/DrPlanPlanGroupArgs.cs +++ b/sdk/dotnet/DisasterRecovery/Inputs/DrPlanPlanGroupArgs.cs @@ -24,6 +24,12 @@ public sealed class DrPlanPlanGroupArgs : global::Pulumi.ResourceArgs [Input("id")] public Input? Id { get; set; } + /// + /// A flag indicating whether this group should be enabled for execution. This flag is only applicable to the `USER_DEFINED_PAUSE` group. The flag should be null for the remaining group types. Example: `true` + /// + [Input("isPauseEnabled")] + public Input? IsPauseEnabled { get; set; } + [Input("steps")] private InputList? _steps; diff --git a/sdk/dotnet/DisasterRecovery/Inputs/DrPlanPlanGroupGetArgs.cs b/sdk/dotnet/DisasterRecovery/Inputs/DrPlanPlanGroupGetArgs.cs index bbd2cdc152..099536525f 100644 --- a/sdk/dotnet/DisasterRecovery/Inputs/DrPlanPlanGroupGetArgs.cs +++ b/sdk/dotnet/DisasterRecovery/Inputs/DrPlanPlanGroupGetArgs.cs @@ -24,6 +24,12 @@ public sealed class DrPlanPlanGroupGetArgs : global::Pulumi.ResourceArgs [Input("id")] public Input? Id { get; set; } + /// + /// A flag indicating whether this group should be enabled for execution. This flag is only applicable to the `USER_DEFINED_PAUSE` group. The flag should be null for the remaining group types. Example: `true` + /// + [Input("isPauseEnabled")] + public Input? IsPauseEnabled { get; set; } + [Input("steps")] private InputList? _steps; diff --git a/sdk/dotnet/DisasterRecovery/Outputs/DrPlanPlanGroup.cs b/sdk/dotnet/DisasterRecovery/Outputs/DrPlanPlanGroup.cs index 93e646641c..456caf1d0f 100644 --- a/sdk/dotnet/DisasterRecovery/Outputs/DrPlanPlanGroup.cs +++ b/sdk/dotnet/DisasterRecovery/Outputs/DrPlanPlanGroup.cs @@ -22,6 +22,10 @@ public sealed class DrPlanPlanGroup /// public readonly string? Id; /// + /// A flag indicating whether this group should be enabled for execution. This flag is only applicable to the `USER_DEFINED_PAUSE` group. The flag should be null for the remaining group types. Example: `true` + /// + public readonly bool? IsPauseEnabled; + /// /// The list of steps in the group. /// public readonly ImmutableArray Steps; @@ -40,12 +44,15 @@ private DrPlanPlanGroup( string? id, + bool? isPauseEnabled, + ImmutableArray steps, string? type) { DisplayName = displayName; Id = id; + IsPauseEnabled = isPauseEnabled; Steps = steps; Type = type; } diff --git a/sdk/dotnet/DisasterRecovery/Outputs/GetDrPlanPlanGroupResult.cs b/sdk/dotnet/DisasterRecovery/Outputs/GetDrPlanPlanGroupResult.cs index 3f17be52b8..c3e1d4a73c 100644 --- a/sdk/dotnet/DisasterRecovery/Outputs/GetDrPlanPlanGroupResult.cs +++ b/sdk/dotnet/DisasterRecovery/Outputs/GetDrPlanPlanGroupResult.cs @@ -22,6 +22,10 @@ public sealed class GetDrPlanPlanGroupResult /// public readonly string Id; /// + /// A flag indicating whether this group should be enabled for execution. This flag is only applicable to the `USER_DEFINED_PAUSE` group. The flag should be null for the remaining group types. Example: `true` + /// + public readonly bool IsPauseEnabled; + /// /// The list of steps in the group. /// public readonly ImmutableArray Steps; @@ -36,12 +40,15 @@ private GetDrPlanPlanGroupResult( string id, + bool isPauseEnabled, + ImmutableArray steps, string type) { DisplayName = displayName; Id = id; + IsPauseEnabled = isPauseEnabled; Steps = steps; Type = type; } diff --git a/sdk/dotnet/DisasterRecovery/Outputs/GetDrPlansDrPlanCollectionItemPlanGroupResult.cs b/sdk/dotnet/DisasterRecovery/Outputs/GetDrPlansDrPlanCollectionItemPlanGroupResult.cs index fbbb2877a9..478355fe32 100644 --- a/sdk/dotnet/DisasterRecovery/Outputs/GetDrPlansDrPlanCollectionItemPlanGroupResult.cs +++ b/sdk/dotnet/DisasterRecovery/Outputs/GetDrPlansDrPlanCollectionItemPlanGroupResult.cs @@ -22,6 +22,10 @@ public sealed class GetDrPlansDrPlanCollectionItemPlanGroupResult /// public readonly string Id; /// + /// A flag indicating whether this group should be enabled for execution. This flag is only applicable to the `USER_DEFINED_PAUSE` group. The flag should be null for the remaining group types. Example: `true` + /// + public readonly bool IsPauseEnabled; + /// /// The list of steps in the group. /// public readonly ImmutableArray Steps; @@ -36,12 +40,15 @@ private GetDrPlansDrPlanCollectionItemPlanGroupResult( string id, + bool isPauseEnabled, + ImmutableArray steps, string type) { DisplayName = displayName; Id = id; + IsPauseEnabled = isPauseEnabled; Steps = steps; Type = type; } diff --git a/sdk/dotnet/LoadBalancer/Backend.cs b/sdk/dotnet/LoadBalancer/Backend.cs index c955d43f34..4539e4e39f 100644 --- a/sdk/dotnet/LoadBalancer/Backend.cs +++ b/sdk/dotnet/LoadBalancer/Backend.cs @@ -32,6 +32,7 @@ namespace Pulumi.Oci.LoadBalancer /// Port = backendPort, /// Backup = backendBackup, /// Drain = backendDrain, + /// MaxConnections = backendMaxConnections, /// Offline = backendOffline, /// Weight = backendWeight, /// }); @@ -84,6 +85,12 @@ public partial class Backend : global::Pulumi.CustomResource [Output("loadBalancerId")] public Output LoadBalancerId { get; private set; } = null!; + /// + /// (Updatable) The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` + /// + [Output("maxConnections")] + public Output MaxConnections { get; private set; } = null!; + /// /// A read-only field showing the IP address and port that uniquely identify this backend server in the backend set. Example: `10.0.0.3:8080` /// @@ -195,6 +202,12 @@ public sealed class BackendArgs : global::Pulumi.ResourceArgs [Input("loadBalancerId", required: true)] public Input LoadBalancerId { get; set; } = null!; + /// + /// (Updatable) The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` + /// + [Input("maxConnections")] + public Input? MaxConnections { get; set; } + /// /// (Updatable) Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` /// @@ -259,6 +272,12 @@ public sealed class BackendState : global::Pulumi.ResourceArgs [Input("loadBalancerId")] public Input? LoadBalancerId { get; set; } + /// + /// (Updatable) The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` + /// + [Input("maxConnections")] + public Input? MaxConnections { get; set; } + /// /// A read-only field showing the IP address and port that uniquely identify this backend server in the backend set. Example: `10.0.0.3:8080` /// diff --git a/sdk/dotnet/LoadBalancer/BackendSet.cs b/sdk/dotnet/LoadBalancer/BackendSet.cs index 6ef6cdcccd..50a8109d78 100644 --- a/sdk/dotnet/LoadBalancer/BackendSet.cs +++ b/sdk/dotnet/LoadBalancer/BackendSet.cs @@ -45,6 +45,7 @@ namespace Pulumi.Oci.LoadBalancer /// LoadBalancerId = testLoadBalancer.Id, /// Name = backendSetName, /// Policy = backendSetPolicy, + /// BackendMaxConnections = backendSetBackendMaxConnections, /// LbCookieSessionPersistenceConfiguration = new Oci.LoadBalancer.Inputs.BackendSetLbCookieSessionPersistenceConfigurationArgs /// { /// CookieName = backendSetLbCookieSessionPersistenceConfigurationCookieName, @@ -90,6 +91,15 @@ namespace Pulumi.Oci.LoadBalancer [OciResourceType("oci:LoadBalancer/backendSet:BackendSet")] public partial class BackendSet : global::Pulumi.CustomResource { + /// + /// (Updatable) The maximum number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting. If this is not set then the number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting is unlimited. Example: `300` + /// + [Output("backendMaxConnections")] + public Output BackendMaxConnections { get; private set; } = null!; + + /// + /// (Updatable) + /// [Output("backends")] public Output> Backends { get; private set; } = null!; @@ -216,6 +226,12 @@ public static BackendSet Get(string name, Input id, BackendSetState? sta public sealed class BackendSetArgs : global::Pulumi.ResourceArgs { + /// + /// (Updatable) The maximum number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting. If this is not set then the number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting is unlimited. Example: `300` + /// + [Input("backendMaxConnections")] + public Input? BackendMaxConnections { get; set; } + /// /// (Updatable) The health check policy's configuration details. /// @@ -298,8 +314,18 @@ public BackendSetArgs() public sealed class BackendSetState : global::Pulumi.ResourceArgs { + /// + /// (Updatable) The maximum number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting. If this is not set then the number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting is unlimited. Example: `300` + /// + [Input("backendMaxConnections")] + public Input? BackendMaxConnections { get; set; } + [Input("backends")] private InputList? _backends; + + /// + /// (Updatable) + /// public InputList Backends { get => _backends ?? (_backends = new InputList()); diff --git a/sdk/dotnet/LoadBalancer/GetListenerRules.cs b/sdk/dotnet/LoadBalancer/GetListenerRules.cs index b46e6d2ef6..87eda306c9 100644 --- a/sdk/dotnet/LoadBalancer/GetListenerRules.cs +++ b/sdk/dotnet/LoadBalancer/GetListenerRules.cs @@ -92,7 +92,7 @@ public List Filters } /// - /// The name of the listener the rules are associated with. + /// The name of the listener the rules are associated with. Example: `example_listener` /// [Input("listenerName", required: true)] public string ListenerName { get; set; } = null!; @@ -120,7 +120,7 @@ public InputList Filters } /// - /// The name of the listener the rules are associated with. + /// The name of the listener the rules are associated with. Example: `example_listener` /// [Input("listenerName", required: true)] public Input ListenerName { get; set; } = null!; diff --git a/sdk/dotnet/LoadBalancer/Inputs/BackendSetBackendArgs.cs b/sdk/dotnet/LoadBalancer/Inputs/BackendSetBackendArgs.cs index 1145fe50ed..a5327e6a3b 100644 --- a/sdk/dotnet/LoadBalancer/Inputs/BackendSetBackendArgs.cs +++ b/sdk/dotnet/LoadBalancer/Inputs/BackendSetBackendArgs.cs @@ -13,23 +13,33 @@ namespace Pulumi.Oci.LoadBalancer.Inputs public sealed class BackendSetBackendArgs : global::Pulumi.ResourceArgs { /// - /// Whether the load balancer should treat this server as a backup unit. If `true`, the load balancer forwards no ingress traffic to this backend server unless all other backend servers not marked as "backup" fail the health check policy. + /// (Updatable) Whether the load balancer should treat this server as a backup unit. If `true`, the load balancer forwards no ingress traffic to this backend server unless all other backend servers not marked as "backup" fail the health check policy. + /// + /// **Note:** You cannot add a backend server marked as `backup` to a backend set that uses the IP Hash policy. + /// + /// Example: `false` /// [Input("backup")] public Input? Backup { get; set; } /// - /// Whether the load balancer should drain this server. Servers marked "drain" receive no new incoming traffic. Example: `false` + /// (Updatable) Whether the load balancer should drain this server. Servers marked "drain" receive no new incoming traffic. Example: `false` /// [Input("drain")] public Input? Drain { get; set; } /// - /// The IP address of the backend server. Example: `10.0.0.3` + /// (Updatable) The IP address of the backend server. Example: `10.0.0.3` /// [Input("ipAddress", required: true)] public Input IpAddress { get; set; } = null!; + /// + /// (Updatable) The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then the maximum number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` + /// + [Input("maxConnections")] + public Input? MaxConnections { get; set; } + /// /// A friendly name for the backend set. It must be unique and it cannot be changed. /// @@ -41,7 +51,7 @@ public sealed class BackendSetBackendArgs : global::Pulumi.ResourceArgs public Input? Name { get; set; } /// - /// Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` + /// (Updatable) Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` /// [Input("offline")] public Input? Offline { get; set; } @@ -53,7 +63,7 @@ public sealed class BackendSetBackendArgs : global::Pulumi.ResourceArgs public Input Port { get; set; } = null!; /// - /// The load balancing policy weight assigned to the server. Backend servers with a higher weight receive a larger proportion of incoming traffic. For example, a server weighted '3' receives 3 times the number of new connections as a server weighted '1'. For more information on load balancing policies, see [How Load Balancing Policies Work](https://docs.cloud.oracle.com/iaas/Content/Balance/Reference/lbpolicies.htm). Example: `3` + /// (Updatable) The load balancing policy weight assigned to the server. Backend servers with a higher weight receive a larger proportion of incoming traffic. For example, a server weighted '3' receives 3 times the number of new connections as a server weighted '1'. For more information on load balancing policies, see [How Load Balancing Policies Work](https://docs.cloud.oracle.com/iaas/Content/Balance/Reference/lbpolicies.htm). Example: `3` /// [Input("weight")] public Input? Weight { get; set; } diff --git a/sdk/dotnet/LoadBalancer/Inputs/BackendSetBackendGetArgs.cs b/sdk/dotnet/LoadBalancer/Inputs/BackendSetBackendGetArgs.cs index e6db3ced3e..c1bd821e46 100644 --- a/sdk/dotnet/LoadBalancer/Inputs/BackendSetBackendGetArgs.cs +++ b/sdk/dotnet/LoadBalancer/Inputs/BackendSetBackendGetArgs.cs @@ -13,23 +13,33 @@ namespace Pulumi.Oci.LoadBalancer.Inputs public sealed class BackendSetBackendGetArgs : global::Pulumi.ResourceArgs { /// - /// Whether the load balancer should treat this server as a backup unit. If `true`, the load balancer forwards no ingress traffic to this backend server unless all other backend servers not marked as "backup" fail the health check policy. + /// (Updatable) Whether the load balancer should treat this server as a backup unit. If `true`, the load balancer forwards no ingress traffic to this backend server unless all other backend servers not marked as "backup" fail the health check policy. + /// + /// **Note:** You cannot add a backend server marked as `backup` to a backend set that uses the IP Hash policy. + /// + /// Example: `false` /// [Input("backup")] public Input? Backup { get; set; } /// - /// Whether the load balancer should drain this server. Servers marked "drain" receive no new incoming traffic. Example: `false` + /// (Updatable) Whether the load balancer should drain this server. Servers marked "drain" receive no new incoming traffic. Example: `false` /// [Input("drain")] public Input? Drain { get; set; } /// - /// The IP address of the backend server. Example: `10.0.0.3` + /// (Updatable) The IP address of the backend server. Example: `10.0.0.3` /// [Input("ipAddress", required: true)] public Input IpAddress { get; set; } = null!; + /// + /// (Updatable) The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then the maximum number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` + /// + [Input("maxConnections")] + public Input? MaxConnections { get; set; } + /// /// A friendly name for the backend set. It must be unique and it cannot be changed. /// @@ -41,7 +51,7 @@ public sealed class BackendSetBackendGetArgs : global::Pulumi.ResourceArgs public Input? Name { get; set; } /// - /// Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` + /// (Updatable) Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` /// [Input("offline")] public Input? Offline { get; set; } @@ -53,7 +63,7 @@ public sealed class BackendSetBackendGetArgs : global::Pulumi.ResourceArgs public Input Port { get; set; } = null!; /// - /// The load balancing policy weight assigned to the server. Backend servers with a higher weight receive a larger proportion of incoming traffic. For example, a server weighted '3' receives 3 times the number of new connections as a server weighted '1'. For more information on load balancing policies, see [How Load Balancing Policies Work](https://docs.cloud.oracle.com/iaas/Content/Balance/Reference/lbpolicies.htm). Example: `3` + /// (Updatable) The load balancing policy weight assigned to the server. Backend servers with a higher weight receive a larger proportion of incoming traffic. For example, a server weighted '3' receives 3 times the number of new connections as a server weighted '1'. For more information on load balancing policies, see [How Load Balancing Policies Work](https://docs.cloud.oracle.com/iaas/Content/Balance/Reference/lbpolicies.htm). Example: `3` /// [Input("weight")] public Input? Weight { get; set; } diff --git a/sdk/dotnet/LoadBalancer/Inputs/LoadBalancerIpAddressDetailArgs.cs b/sdk/dotnet/LoadBalancer/Inputs/LoadBalancerIpAddressDetailArgs.cs index dbc3ef0b4a..df7fff0055 100644 --- a/sdk/dotnet/LoadBalancer/Inputs/LoadBalancerIpAddressDetailArgs.cs +++ b/sdk/dotnet/LoadBalancer/Inputs/LoadBalancerIpAddressDetailArgs.cs @@ -26,10 +26,6 @@ public sealed class LoadBalancerIpAddressDetailArgs : global::Pulumi.ResourceArg [Input("reservedIps")] private InputList? _reservedIps; - - /// - /// Pre-created public IP that will be used as the IP of this load balancer. This reserved IP will not be deleted when load balancer is deleted. This ip should not be already mapped to any other resource. - /// public InputList ReservedIps { get => _reservedIps ?? (_reservedIps = new InputList()); diff --git a/sdk/dotnet/LoadBalancer/Inputs/LoadBalancerIpAddressDetailGetArgs.cs b/sdk/dotnet/LoadBalancer/Inputs/LoadBalancerIpAddressDetailGetArgs.cs index 4dee287675..128f99caca 100644 --- a/sdk/dotnet/LoadBalancer/Inputs/LoadBalancerIpAddressDetailGetArgs.cs +++ b/sdk/dotnet/LoadBalancer/Inputs/LoadBalancerIpAddressDetailGetArgs.cs @@ -26,10 +26,6 @@ public sealed class LoadBalancerIpAddressDetailGetArgs : global::Pulumi.Resource [Input("reservedIps")] private InputList? _reservedIps; - - /// - /// Pre-created public IP that will be used as the IP of this load balancer. This reserved IP will not be deleted when load balancer is deleted. This ip should not be already mapped to any other resource. - /// public InputList ReservedIps { get => _reservedIps ?? (_reservedIps = new InputList()); diff --git a/sdk/dotnet/LoadBalancer/Inputs/LoadBalancerIpAddressDetailReservedIpArgs.cs b/sdk/dotnet/LoadBalancer/Inputs/LoadBalancerIpAddressDetailReservedIpArgs.cs index 088ac68004..9ea4ee3b36 100644 --- a/sdk/dotnet/LoadBalancer/Inputs/LoadBalancerIpAddressDetailReservedIpArgs.cs +++ b/sdk/dotnet/LoadBalancer/Inputs/LoadBalancerIpAddressDetailReservedIpArgs.cs @@ -13,7 +13,15 @@ namespace Pulumi.Oci.LoadBalancer.Inputs public sealed class LoadBalancerIpAddressDetailReservedIpArgs : global::Pulumi.ResourceArgs { /// - /// Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. + /// Ocid of the Reserved IP/Public Ip created with VCN. + /// + /// Reserved IPs are IPs which already registered using VCN API. + /// + /// Create a reserved Public IP and then while creating the load balancer pass the ocid of the reserved IP in this field reservedIp to attach the Ip to Load balancer. Load balancer will be configured to listen to traffic on this IP. + /// + /// Reserved IPs will not be deleted when the Load balancer is deleted. They will be unattached from the Load balancer. + /// + /// Example: "ocid1.publicip.oc1.phx.unique_ID" Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. /// [Input("id")] public Input? Id { get; set; } diff --git a/sdk/dotnet/LoadBalancer/Inputs/LoadBalancerIpAddressDetailReservedIpGetArgs.cs b/sdk/dotnet/LoadBalancer/Inputs/LoadBalancerIpAddressDetailReservedIpGetArgs.cs index 426080a3b4..a2250e83bf 100644 --- a/sdk/dotnet/LoadBalancer/Inputs/LoadBalancerIpAddressDetailReservedIpGetArgs.cs +++ b/sdk/dotnet/LoadBalancer/Inputs/LoadBalancerIpAddressDetailReservedIpGetArgs.cs @@ -13,7 +13,15 @@ namespace Pulumi.Oci.LoadBalancer.Inputs public sealed class LoadBalancerIpAddressDetailReservedIpGetArgs : global::Pulumi.ResourceArgs { /// - /// Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. + /// Ocid of the Reserved IP/Public Ip created with VCN. + /// + /// Reserved IPs are IPs which already registered using VCN API. + /// + /// Create a reserved Public IP and then while creating the load balancer pass the ocid of the reserved IP in this field reservedIp to attach the Ip to Load balancer. Load balancer will be configured to listen to traffic on this IP. + /// + /// Reserved IPs will not be deleted when the Load balancer is deleted. They will be unattached from the Load balancer. + /// + /// Example: "ocid1.publicip.oc1.phx.unique_ID" Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. /// [Input("id")] public Input? Id { get; set; } diff --git a/sdk/dotnet/LoadBalancer/Inputs/LoadBalancerReservedIpArgs.cs b/sdk/dotnet/LoadBalancer/Inputs/LoadBalancerReservedIpArgs.cs index 0d29d78f91..e6977bb28a 100644 --- a/sdk/dotnet/LoadBalancer/Inputs/LoadBalancerReservedIpArgs.cs +++ b/sdk/dotnet/LoadBalancer/Inputs/LoadBalancerReservedIpArgs.cs @@ -13,7 +13,15 @@ namespace Pulumi.Oci.LoadBalancer.Inputs public sealed class LoadBalancerReservedIpArgs : global::Pulumi.ResourceArgs { /// - /// Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. + /// Ocid of the Reserved IP/Public Ip created with VCN. + /// + /// Reserved IPs are IPs which already registered using VCN API. + /// + /// Create a reserved Public IP and then while creating the load balancer pass the ocid of the reserved IP in this field reservedIp to attach the Ip to Load balancer. Load balancer will be configured to listen to traffic on this IP. + /// + /// Reserved IPs will not be deleted when the Load balancer is deleted. They will be unattached from the Load balancer. + /// + /// Example: "ocid1.publicip.oc1.phx.unique_ID" Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. /// [Input("id")] public Input? Id { get; set; } diff --git a/sdk/dotnet/LoadBalancer/Inputs/LoadBalancerReservedIpGetArgs.cs b/sdk/dotnet/LoadBalancer/Inputs/LoadBalancerReservedIpGetArgs.cs index 9cb1e798c4..a07b933fcf 100644 --- a/sdk/dotnet/LoadBalancer/Inputs/LoadBalancerReservedIpGetArgs.cs +++ b/sdk/dotnet/LoadBalancer/Inputs/LoadBalancerReservedIpGetArgs.cs @@ -13,7 +13,15 @@ namespace Pulumi.Oci.LoadBalancer.Inputs public sealed class LoadBalancerReservedIpGetArgs : global::Pulumi.ResourceArgs { /// - /// Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. + /// Ocid of the Reserved IP/Public Ip created with VCN. + /// + /// Reserved IPs are IPs which already registered using VCN API. + /// + /// Create a reserved Public IP and then while creating the load balancer pass the ocid of the reserved IP in this field reservedIp to attach the Ip to Load balancer. Load balancer will be configured to listen to traffic on this IP. + /// + /// Reserved IPs will not be deleted when the Load balancer is deleted. They will be unattached from the Load balancer. + /// + /// Example: "ocid1.publicip.oc1.phx.unique_ID" Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. /// [Input("id")] public Input? Id { get; set; } diff --git a/sdk/dotnet/LoadBalancer/Inputs/RuleSetItemArgs.cs b/sdk/dotnet/LoadBalancer/Inputs/RuleSetItemArgs.cs index 1d319d70c4..838af341bf 100644 --- a/sdk/dotnet/LoadBalancer/Inputs/RuleSetItemArgs.cs +++ b/sdk/dotnet/LoadBalancer/Inputs/RuleSetItemArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.Oci.LoadBalancer.Inputs public sealed class RuleSetItemArgs : global::Pulumi.ResourceArgs { /// - /// (Updatable) The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` + /// (Updatable) The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `IP_BASED_MAX_CONNECTIONS`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` /// [Input("action", required: true)] public Input Action { get; set; } = null!; @@ -56,6 +56,12 @@ public InputList Conditions set => _conditions = value; } + /// + /// (Updatable) The maximum number of connections that the any IP can make to a listener unless the IP is mentioned in maxConnections. If no defaultMaxConnections is specified the default is unlimited. + /// + [Input("defaultMaxConnections")] + public Input? DefaultMaxConnections { get; set; } + /// /// (Updatable) A brief description of the access control rule. Avoid entering confidential information. /// @@ -76,6 +82,18 @@ public InputList Conditions [Input("httpLargeHeaderSizeInKb")] public Input? HttpLargeHeaderSizeInKb { get; set; } + [Input("ipMaxConnections")] + private InputList? _ipMaxConnections; + + /// + /// (Updatable) An array of IPs that have a maxConnection setting different than the default and what that maxConnection setting is + /// + public InputList IpMaxConnections + { + get => _ipMaxConnections ?? (_ipMaxConnections = new InputList()); + set => _ipMaxConnections = value; + } + /// /// (Updatable) A string to prepend to the header value. The resulting header value must still conform to RFC 7230. With the following exceptions: /// * value cannot contain `$` diff --git a/sdk/dotnet/LoadBalancer/Inputs/RuleSetItemGetArgs.cs b/sdk/dotnet/LoadBalancer/Inputs/RuleSetItemGetArgs.cs index b4ee222a90..04f80eb1f1 100644 --- a/sdk/dotnet/LoadBalancer/Inputs/RuleSetItemGetArgs.cs +++ b/sdk/dotnet/LoadBalancer/Inputs/RuleSetItemGetArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.Oci.LoadBalancer.Inputs public sealed class RuleSetItemGetArgs : global::Pulumi.ResourceArgs { /// - /// (Updatable) The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` + /// (Updatable) The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `IP_BASED_MAX_CONNECTIONS`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` /// [Input("action", required: true)] public Input Action { get; set; } = null!; @@ -56,6 +56,12 @@ public InputList Conditions set => _conditions = value; } + /// + /// (Updatable) The maximum number of connections that the any IP can make to a listener unless the IP is mentioned in maxConnections. If no defaultMaxConnections is specified the default is unlimited. + /// + [Input("defaultMaxConnections")] + public Input? DefaultMaxConnections { get; set; } + /// /// (Updatable) A brief description of the access control rule. Avoid entering confidential information. /// @@ -76,6 +82,18 @@ public InputList Conditions [Input("httpLargeHeaderSizeInKb")] public Input? HttpLargeHeaderSizeInKb { get; set; } + [Input("ipMaxConnections")] + private InputList? _ipMaxConnections; + + /// + /// (Updatable) An array of IPs that have a maxConnection setting different than the default and what that maxConnection setting is + /// + public InputList IpMaxConnections + { + get => _ipMaxConnections ?? (_ipMaxConnections = new InputList()); + set => _ipMaxConnections = value; + } + /// /// (Updatable) A string to prepend to the header value. The resulting header value must still conform to RFC 7230. With the following exceptions: /// * value cannot contain `$` diff --git a/sdk/dotnet/LoadBalancer/Inputs/RuleSetItemIpMaxConnectionArgs.cs b/sdk/dotnet/LoadBalancer/Inputs/RuleSetItemIpMaxConnectionArgs.cs new file mode 100644 index 0000000000..6ea68549e6 --- /dev/null +++ b/sdk/dotnet/LoadBalancer/Inputs/RuleSetItemIpMaxConnectionArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Oci.LoadBalancer.Inputs +{ + + public sealed class RuleSetItemIpMaxConnectionArgs : global::Pulumi.ResourceArgs + { + [Input("ipAddresses")] + private InputList? _ipAddresses; + + /// + /// (Updatable) Each element in the list should be valid IPv4 or IPv6 CIDR Block address. Example: '["129.213.176.0/24", "150.136.187.0/24", "2002::1234:abcd:ffff:c0a8:101/64"]' + /// + public InputList IpAddresses + { + get => _ipAddresses ?? (_ipAddresses = new InputList()); + set => _ipAddresses = value; + } + + /// + /// (Updatable) The maximum number of simultaneous connections that the specified IPs can make to the Listener. IPs without a maxConnections setting can make either defaultMaxConnections simultaneous connections to a listener or, if no defaultMaxConnections is specified, an unlimited number of simultaneous connections to a listener. + /// + [Input("maxConnections")] + public Input? MaxConnections { get; set; } + + public RuleSetItemIpMaxConnectionArgs() + { + } + public static new RuleSetItemIpMaxConnectionArgs Empty => new RuleSetItemIpMaxConnectionArgs(); + } +} diff --git a/sdk/dotnet/LoadBalancer/Inputs/RuleSetItemIpMaxConnectionGetArgs.cs b/sdk/dotnet/LoadBalancer/Inputs/RuleSetItemIpMaxConnectionGetArgs.cs new file mode 100644 index 0000000000..6a2c7a4a29 --- /dev/null +++ b/sdk/dotnet/LoadBalancer/Inputs/RuleSetItemIpMaxConnectionGetArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Oci.LoadBalancer.Inputs +{ + + public sealed class RuleSetItemIpMaxConnectionGetArgs : global::Pulumi.ResourceArgs + { + [Input("ipAddresses")] + private InputList? _ipAddresses; + + /// + /// (Updatable) Each element in the list should be valid IPv4 or IPv6 CIDR Block address. Example: '["129.213.176.0/24", "150.136.187.0/24", "2002::1234:abcd:ffff:c0a8:101/64"]' + /// + public InputList IpAddresses + { + get => _ipAddresses ?? (_ipAddresses = new InputList()); + set => _ipAddresses = value; + } + + /// + /// (Updatable) The maximum number of simultaneous connections that the specified IPs can make to the Listener. IPs without a maxConnections setting can make either defaultMaxConnections simultaneous connections to a listener or, if no defaultMaxConnections is specified, an unlimited number of simultaneous connections to a listener. + /// + [Input("maxConnections")] + public Input? MaxConnections { get; set; } + + public RuleSetItemIpMaxConnectionGetArgs() + { + } + public static new RuleSetItemIpMaxConnectionGetArgs Empty => new RuleSetItemIpMaxConnectionGetArgs(); + } +} diff --git a/sdk/dotnet/LoadBalancer/LoadBalancer.cs b/sdk/dotnet/LoadBalancer/LoadBalancer.cs index f0b063c783..774ab10e99 100644 --- a/sdk/dotnet/LoadBalancer/LoadBalancer.cs +++ b/sdk/dotnet/LoadBalancer/LoadBalancer.cs @@ -66,6 +66,7 @@ namespace Pulumi.Oci.LoadBalancer /// { "Department", "Finance" }, /// }, /// IpMode = loadBalancerIpMode, + /// IsDeleteProtectionEnabled = loadBalancerIsDeleteProtectionEnabled, /// IsPrivate = loadBalancerIsPrivate, /// NetworkSecurityGroupIds = loadBalancerNetworkSecurityGroupIds, /// ReservedIps = new[] @@ -144,6 +145,18 @@ public partial class LoadBalancer : global::Pulumi.CustomResource [Output("ipMode")] public Output IpMode { get; private set; } = null!; + /// + /// (Updatable) Whether or not the load balancer has delete protection enabled. + /// + /// If "true", the loadbalancer will be protected against deletion if configured to accept traffic. + /// + /// If "false", the loadbalancer will not be protected against deletion. + /// + /// Delete protection will not be enabled unless a value of "true" is provided. Example: `true` + /// + [Output("isDeleteProtectionEnabled")] + public Output IsDeleteProtectionEnabled { get; private set; } = null!; + /// /// Whether the load balancer has a VCN-local (private) IP address. /// @@ -179,7 +192,7 @@ public partial class LoadBalancer : global::Pulumi.CustomResource public Output> ReservedIps { get; private set; } = null!; /// - /// (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: Starting May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. + /// (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: After May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. /// [Output("shape")] public Output Shape { get; private set; } = null!; @@ -312,6 +325,18 @@ public InputMap FreeformTags [Input("ipMode")] public Input? IpMode { get; set; } + /// + /// (Updatable) Whether or not the load balancer has delete protection enabled. + /// + /// If "true", the loadbalancer will be protected against deletion if configured to accept traffic. + /// + /// If "false", the loadbalancer will not be protected against deletion. + /// + /// Delete protection will not be enabled unless a value of "true" is provided. Example: `true` + /// + [Input("isDeleteProtectionEnabled")] + public Input? IsDeleteProtectionEnabled { get; set; } + /// /// Whether the load balancer has a VCN-local (private) IP address. /// @@ -359,7 +384,7 @@ public InputList ReservedIps } /// - /// (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: Starting May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. + /// (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: After May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. /// [Input("shape", required: true)] public Input Shape { get; set; } = null!; @@ -467,6 +492,18 @@ public InputList IpAddresses [Input("ipMode")] public Input? IpMode { get; set; } + /// + /// (Updatable) Whether or not the load balancer has delete protection enabled. + /// + /// If "true", the loadbalancer will be protected against deletion if configured to accept traffic. + /// + /// If "false", the loadbalancer will not be protected against deletion. + /// + /// Delete protection will not be enabled unless a value of "true" is provided. Example: `true` + /// + [Input("isDeleteProtectionEnabled")] + public Input? IsDeleteProtectionEnabled { get; set; } + /// /// Whether the load balancer has a VCN-local (private) IP address. /// @@ -514,7 +551,7 @@ public InputList ReservedIps } /// - /// (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: Starting May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. + /// (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: After May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. /// [Input("shape")] public Input? Shape { get; set; } diff --git a/sdk/dotnet/LoadBalancer/Outputs/BackendSetBackend.cs b/sdk/dotnet/LoadBalancer/Outputs/BackendSetBackend.cs index d00c1cf1b5..e77566c298 100644 --- a/sdk/dotnet/LoadBalancer/Outputs/BackendSetBackend.cs +++ b/sdk/dotnet/LoadBalancer/Outputs/BackendSetBackend.cs @@ -14,18 +14,26 @@ namespace Pulumi.Oci.LoadBalancer.Outputs public sealed class BackendSetBackend { /// - /// Whether the load balancer should treat this server as a backup unit. If `true`, the load balancer forwards no ingress traffic to this backend server unless all other backend servers not marked as "backup" fail the health check policy. + /// (Updatable) Whether the load balancer should treat this server as a backup unit. If `true`, the load balancer forwards no ingress traffic to this backend server unless all other backend servers not marked as "backup" fail the health check policy. + /// + /// **Note:** You cannot add a backend server marked as `backup` to a backend set that uses the IP Hash policy. + /// + /// Example: `false` /// public readonly bool? Backup; /// - /// Whether the load balancer should drain this server. Servers marked "drain" receive no new incoming traffic. Example: `false` + /// (Updatable) Whether the load balancer should drain this server. Servers marked "drain" receive no new incoming traffic. Example: `false` /// public readonly bool? Drain; /// - /// The IP address of the backend server. Example: `10.0.0.3` + /// (Updatable) The IP address of the backend server. Example: `10.0.0.3` /// public readonly string IpAddress; /// + /// (Updatable) The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then the maximum number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` + /// + public readonly int? MaxConnections; + /// /// A friendly name for the backend set. It must be unique and it cannot be changed. /// /// Valid backend set names include only alphanumeric characters, dashes, and underscores. Backend set names cannot contain spaces. Avoid entering confidential information. @@ -34,7 +42,7 @@ public sealed class BackendSetBackend /// public readonly string? Name; /// - /// Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` + /// (Updatable) Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` /// public readonly bool? Offline; /// @@ -42,7 +50,7 @@ public sealed class BackendSetBackend /// public readonly int Port; /// - /// The load balancing policy weight assigned to the server. Backend servers with a higher weight receive a larger proportion of incoming traffic. For example, a server weighted '3' receives 3 times the number of new connections as a server weighted '1'. For more information on load balancing policies, see [How Load Balancing Policies Work](https://docs.cloud.oracle.com/iaas/Content/Balance/Reference/lbpolicies.htm). Example: `3` + /// (Updatable) The load balancing policy weight assigned to the server. Backend servers with a higher weight receive a larger proportion of incoming traffic. For example, a server weighted '3' receives 3 times the number of new connections as a server weighted '1'. For more information on load balancing policies, see [How Load Balancing Policies Work](https://docs.cloud.oracle.com/iaas/Content/Balance/Reference/lbpolicies.htm). Example: `3` /// public readonly int? Weight; @@ -54,6 +62,8 @@ private BackendSetBackend( string ipAddress, + int? maxConnections, + string? name, bool? offline, @@ -65,6 +75,7 @@ private BackendSetBackend( Backup = backup; Drain = drain; IpAddress = ipAddress; + MaxConnections = maxConnections; Name = name; Offline = offline; Port = port; diff --git a/sdk/dotnet/LoadBalancer/Outputs/GetBackendSetsBackendsetBackendResult.cs b/sdk/dotnet/LoadBalancer/Outputs/GetBackendSetsBackendsetBackendResult.cs index cd1475fbaf..a512d3ddd5 100644 --- a/sdk/dotnet/LoadBalancer/Outputs/GetBackendSetsBackendsetBackendResult.cs +++ b/sdk/dotnet/LoadBalancer/Outputs/GetBackendSetsBackendsetBackendResult.cs @@ -26,6 +26,10 @@ public sealed class GetBackendSetsBackendsetBackendResult /// public readonly string IpAddress; /// + /// The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then the maximum number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` + /// + public readonly int MaxConnections; + /// /// A friendly name for the backend set. It must be unique and it cannot be changed. /// public readonly string Name; @@ -50,6 +54,8 @@ private GetBackendSetsBackendsetBackendResult( string ipAddress, + int maxConnections, + string name, bool offline, @@ -61,6 +67,7 @@ private GetBackendSetsBackendsetBackendResult( Backup = backup; Drain = drain; IpAddress = ipAddress; + MaxConnections = maxConnections; Name = name; Offline = offline; Port = port; diff --git a/sdk/dotnet/LoadBalancer/Outputs/GetBackendSetsBackendsetResult.cs b/sdk/dotnet/LoadBalancer/Outputs/GetBackendSetsBackendsetResult.cs index ed92c97673..5506155aff 100644 --- a/sdk/dotnet/LoadBalancer/Outputs/GetBackendSetsBackendsetResult.cs +++ b/sdk/dotnet/LoadBalancer/Outputs/GetBackendSetsBackendsetResult.cs @@ -13,6 +13,10 @@ namespace Pulumi.Oci.LoadBalancer.Outputs [OutputType] public sealed class GetBackendSetsBackendsetResult { + /// + /// The maximum number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting. If this is not set then the number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting is unlimited. Example: `300` + /// + public readonly int BackendMaxConnections; public readonly ImmutableArray Backends; /// /// The health check policy configuration. For more information, see [Editing Health Check Policies](https://docs.cloud.oracle.com/iaas/Content/Balance/Tasks/editinghealthcheck.htm). @@ -47,6 +51,8 @@ public sealed class GetBackendSetsBackendsetResult [OutputConstructor] private GetBackendSetsBackendsetResult( + int backendMaxConnections, + ImmutableArray backends, ImmutableArray healthCheckers, @@ -67,6 +73,7 @@ private GetBackendSetsBackendsetResult( string state) { + BackendMaxConnections = backendMaxConnections; Backends = backends; HealthCheckers = healthCheckers; Id = id; diff --git a/sdk/dotnet/LoadBalancer/Outputs/GetBackendsBackendResult.cs b/sdk/dotnet/LoadBalancer/Outputs/GetBackendsBackendResult.cs index 61b3d42142..88acbc3ee3 100644 --- a/sdk/dotnet/LoadBalancer/Outputs/GetBackendsBackendResult.cs +++ b/sdk/dotnet/LoadBalancer/Outputs/GetBackendsBackendResult.cs @@ -34,6 +34,10 @@ public sealed class GetBackendsBackendResult /// public readonly string LoadBalancerId; /// + /// The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then the maximum number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` + /// + public readonly int MaxConnections; + /// /// A read-only field showing the IP address and port that uniquely identify this backend server in the backend set. Example: `10.0.0.3:8080` /// public readonly string Name; @@ -63,6 +67,8 @@ private GetBackendsBackendResult( string loadBalancerId, + int maxConnections, + string name, bool offline, @@ -78,6 +84,7 @@ private GetBackendsBackendResult( Drain = drain; IpAddress = ipAddress; LoadBalancerId = loadBalancerId; + MaxConnections = maxConnections; Name = name; Offline = offline; Port = port; diff --git a/sdk/dotnet/LoadBalancer/Outputs/GetListenerRulesListenerRuleRuleIpMaxConnectionResult.cs b/sdk/dotnet/LoadBalancer/Outputs/GetListenerRulesListenerRuleRuleIpMaxConnectionResult.cs new file mode 100644 index 0000000000..0a325f8eac --- /dev/null +++ b/sdk/dotnet/LoadBalancer/Outputs/GetListenerRulesListenerRuleRuleIpMaxConnectionResult.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Oci.LoadBalancer.Outputs +{ + + [OutputType] + public sealed class GetListenerRulesListenerRuleRuleIpMaxConnectionResult + { + /// + /// Each element in the list should be valid IPv4 or IPv6 CIDR Block address. Example: '["129.213.176.0/24", "150.136.187.0/24", "2002::1234:abcd:ffff:c0a8:101/64"]' + /// + public readonly ImmutableArray IpAddresses; + /// + /// The maximum number of simultaneous connections that the specified IPs can make to the Listener. IPs without a maxConnections setting can make either defaultMaxConnections simultaneous connections to a listener or, if no defaultMaxConnections is specified, an unlimited number of simultaneous connections to a listener. + /// + public readonly int MaxConnections; + + [OutputConstructor] + private GetListenerRulesListenerRuleRuleIpMaxConnectionResult( + ImmutableArray ipAddresses, + + int maxConnections) + { + IpAddresses = ipAddresses; + MaxConnections = maxConnections; + } + } +} diff --git a/sdk/dotnet/LoadBalancer/Outputs/GetListenerRulesListenerRuleRuleResult.cs b/sdk/dotnet/LoadBalancer/Outputs/GetListenerRulesListenerRuleRuleResult.cs index 25d6411d7d..7600bbcd26 100644 --- a/sdk/dotnet/LoadBalancer/Outputs/GetListenerRulesListenerRuleRuleResult.cs +++ b/sdk/dotnet/LoadBalancer/Outputs/GetListenerRulesListenerRuleRuleResult.cs @@ -14,7 +14,7 @@ namespace Pulumi.Oci.LoadBalancer.Outputs public sealed class GetListenerRulesListenerRuleRuleResult { /// - /// The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` + /// The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `IP_BASED_MAX_CONNECTIONS`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` /// public readonly string Action; /// @@ -27,6 +27,10 @@ public sealed class GetListenerRulesListenerRuleRuleResult public readonly bool AreInvalidCharactersAllowed; public readonly ImmutableArray Conditions; /// + /// The maximum number of connections that the any IP can make to a listener unless the IP is mentioned in maxConnections. If no defaultMaxConnections is specified the default is unlimited. + /// + public readonly int DefaultMaxConnections; + /// /// A brief description of the access control rule. Avoid entering confidential information. /// public readonly string Description; @@ -39,6 +43,10 @@ public sealed class GetListenerRulesListenerRuleRuleResult /// public readonly int HttpLargeHeaderSizeInKb; /// + /// An array of IPs that have a maxConnection setting different than the default and what that maxConnection setting is + /// + public readonly ImmutableArray IpMaxConnections; + /// /// A string to prepend to the header value. The resulting header value must still conform to RFC 7230. With the following exceptions: /// * value cannot contain `$` /// * value cannot contain patterns like `{variable_name}`. They are reserved for future extensions. Currently, such values are invalid. @@ -79,12 +87,16 @@ private GetListenerRulesListenerRuleRuleResult( ImmutableArray conditions, + int defaultMaxConnections, + string description, string header, int httpLargeHeaderSizeInKb, + ImmutableArray ipMaxConnections, + string prefix, ImmutableArray redirectUris, @@ -101,9 +113,11 @@ private GetListenerRulesListenerRuleRuleResult( AllowedMethods = allowedMethods; AreInvalidCharactersAllowed = areInvalidCharactersAllowed; Conditions = conditions; + DefaultMaxConnections = defaultMaxConnections; Description = description; Header = header; HttpLargeHeaderSizeInKb = httpLargeHeaderSizeInKb; + IpMaxConnections = ipMaxConnections; Prefix = prefix; RedirectUris = redirectUris; ResponseCode = responseCode; diff --git a/sdk/dotnet/LoadBalancer/Outputs/GetLoadBalancersLoadBalancerIpAddressDetailReservedIpResult.cs b/sdk/dotnet/LoadBalancer/Outputs/GetLoadBalancersLoadBalancerIpAddressDetailReservedIpResult.cs index a82c6a120c..689af6af02 100644 --- a/sdk/dotnet/LoadBalancer/Outputs/GetLoadBalancersLoadBalancerIpAddressDetailReservedIpResult.cs +++ b/sdk/dotnet/LoadBalancer/Outputs/GetLoadBalancersLoadBalancerIpAddressDetailReservedIpResult.cs @@ -14,7 +14,7 @@ namespace Pulumi.Oci.LoadBalancer.Outputs public sealed class GetLoadBalancersLoadBalancerIpAddressDetailReservedIpResult { /// - /// Ocid of the pre-created public IP. That should be attahed to this load balancer. + /// Ocid of the Reserved IP/Public Ip created with VCN. /// public readonly string Id; diff --git a/sdk/dotnet/LoadBalancer/Outputs/GetLoadBalancersLoadBalancerIpAddressDetailResult.cs b/sdk/dotnet/LoadBalancer/Outputs/GetLoadBalancersLoadBalancerIpAddressDetailResult.cs index dd620d4629..92e5d1ca35 100644 --- a/sdk/dotnet/LoadBalancer/Outputs/GetLoadBalancersLoadBalancerIpAddressDetailResult.cs +++ b/sdk/dotnet/LoadBalancer/Outputs/GetLoadBalancersLoadBalancerIpAddressDetailResult.cs @@ -21,9 +21,6 @@ public sealed class GetLoadBalancersLoadBalancerIpAddressDetailResult /// Whether the IP address is public or private. /// public readonly bool IsPublic; - /// - /// Pre-created public IP that will be used as the IP of this load balancer. This reserved IP will not be deleted when load balancer is deleted. This ip should not be already mapped to any other resource. - /// public readonly ImmutableArray ReservedIps; [OutputConstructor] diff --git a/sdk/dotnet/LoadBalancer/Outputs/GetLoadBalancersLoadBalancerReservedIpResult.cs b/sdk/dotnet/LoadBalancer/Outputs/GetLoadBalancersLoadBalancerReservedIpResult.cs index 97ae23cc4a..53ec58b020 100644 --- a/sdk/dotnet/LoadBalancer/Outputs/GetLoadBalancersLoadBalancerReservedIpResult.cs +++ b/sdk/dotnet/LoadBalancer/Outputs/GetLoadBalancersLoadBalancerReservedIpResult.cs @@ -14,7 +14,7 @@ namespace Pulumi.Oci.LoadBalancer.Outputs public sealed class GetLoadBalancersLoadBalancerReservedIpResult { /// - /// Ocid of the pre-created public IP. That should be attahed to this load balancer. + /// Ocid of the Reserved IP/Public Ip created with VCN. /// public readonly string Id; diff --git a/sdk/dotnet/LoadBalancer/Outputs/GetLoadBalancersLoadBalancerResult.cs b/sdk/dotnet/LoadBalancer/Outputs/GetLoadBalancersLoadBalancerResult.cs index cf64e42e4c..cd609812f9 100644 --- a/sdk/dotnet/LoadBalancer/Outputs/GetLoadBalancersLoadBalancerResult.cs +++ b/sdk/dotnet/LoadBalancer/Outputs/GetLoadBalancersLoadBalancerResult.cs @@ -30,7 +30,7 @@ public sealed class GetLoadBalancersLoadBalancerResult /// public readonly ImmutableDictionary FreeformTags; /// - /// Ocid of the pre-created public IP. That should be attahed to this load balancer. + /// Ocid of the Reserved IP/Public Ip created with VCN. /// public readonly string Id; /// @@ -43,6 +43,10 @@ public sealed class GetLoadBalancersLoadBalancerResult public readonly ImmutableArray IpAddresses; public readonly string IpMode; /// + /// Whether or not the load balancer has delete protection enabled. + /// + public readonly bool IsDeleteProtectionEnabled; + /// /// Whether the load balancer has a VCN-local (private) IP address. /// public readonly bool IsPrivate; @@ -94,6 +98,8 @@ private GetLoadBalancersLoadBalancerResult( string ipMode, + bool isDeleteProtectionEnabled, + bool isPrivate, ImmutableArray networkSecurityGroupIds, @@ -120,6 +126,7 @@ private GetLoadBalancersLoadBalancerResult( IpAddressDetails = ipAddressDetails; IpAddresses = ipAddresses; IpMode = ipMode; + IsDeleteProtectionEnabled = isDeleteProtectionEnabled; IsPrivate = isPrivate; NetworkSecurityGroupIds = networkSecurityGroupIds; ReservedIps = reservedIps; diff --git a/sdk/dotnet/LoadBalancer/Outputs/GetRuleSetItemIpMaxConnectionResult.cs b/sdk/dotnet/LoadBalancer/Outputs/GetRuleSetItemIpMaxConnectionResult.cs new file mode 100644 index 0000000000..6414957e2d --- /dev/null +++ b/sdk/dotnet/LoadBalancer/Outputs/GetRuleSetItemIpMaxConnectionResult.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Oci.LoadBalancer.Outputs +{ + + [OutputType] + public sealed class GetRuleSetItemIpMaxConnectionResult + { + /// + /// Each element in the list should be valid IPv4 or IPv6 CIDR Block address. Example: '["129.213.176.0/24", "150.136.187.0/24", "2002::1234:abcd:ffff:c0a8:101/64"]' + /// + public readonly ImmutableArray IpAddresses; + /// + /// The maximum number of simultaneous connections that the specified IPs can make to the Listener. IPs without a maxConnections setting can make either defaultMaxConnections simultaneous connections to a listener or, if no defaultMaxConnections is specified, an unlimited number of simultaneous connections to a listener. + /// + public readonly int MaxConnections; + + [OutputConstructor] + private GetRuleSetItemIpMaxConnectionResult( + ImmutableArray ipAddresses, + + int maxConnections) + { + IpAddresses = ipAddresses; + MaxConnections = maxConnections; + } + } +} diff --git a/sdk/dotnet/LoadBalancer/Outputs/GetRuleSetItemResult.cs b/sdk/dotnet/LoadBalancer/Outputs/GetRuleSetItemResult.cs index ba92c15224..37ad3f9647 100644 --- a/sdk/dotnet/LoadBalancer/Outputs/GetRuleSetItemResult.cs +++ b/sdk/dotnet/LoadBalancer/Outputs/GetRuleSetItemResult.cs @@ -14,7 +14,7 @@ namespace Pulumi.Oci.LoadBalancer.Outputs public sealed class GetRuleSetItemResult { /// - /// The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` + /// The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `IP_BASED_MAX_CONNECTIONS`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` /// public readonly string Action; /// @@ -27,6 +27,10 @@ public sealed class GetRuleSetItemResult public readonly bool AreInvalidCharactersAllowed; public readonly ImmutableArray Conditions; /// + /// The maximum number of connections that the any IP can make to a listener unless the IP is mentioned in maxConnections. If no defaultMaxConnections is specified the default is unlimited. + /// + public readonly int DefaultMaxConnections; + /// /// A brief description of the access control rule. Avoid entering confidential information. /// public readonly string Description; @@ -39,6 +43,10 @@ public sealed class GetRuleSetItemResult /// public readonly int HttpLargeHeaderSizeInKb; /// + /// An array of IPs that have a maxConnection setting different than the default and what that maxConnection setting is + /// + public readonly ImmutableArray IpMaxConnections; + /// /// A string to prepend to the header value. The resulting header value must still conform to RFC 7230. With the following exceptions: /// * value cannot contain `$` /// * value cannot contain patterns like `{variable_name}`. They are reserved for future extensions. Currently, such values are invalid. @@ -79,12 +87,16 @@ private GetRuleSetItemResult( ImmutableArray conditions, + int defaultMaxConnections, + string description, string header, int httpLargeHeaderSizeInKb, + ImmutableArray ipMaxConnections, + string prefix, ImmutableArray redirectUris, @@ -101,9 +113,11 @@ private GetRuleSetItemResult( AllowedMethods = allowedMethods; AreInvalidCharactersAllowed = areInvalidCharactersAllowed; Conditions = conditions; + DefaultMaxConnections = defaultMaxConnections; Description = description; Header = header; HttpLargeHeaderSizeInKb = httpLargeHeaderSizeInKb; + IpMaxConnections = ipMaxConnections; Prefix = prefix; RedirectUris = redirectUris; ResponseCode = responseCode; diff --git a/sdk/dotnet/LoadBalancer/Outputs/GetRuleSetsRuleSetItemIpMaxConnectionResult.cs b/sdk/dotnet/LoadBalancer/Outputs/GetRuleSetsRuleSetItemIpMaxConnectionResult.cs new file mode 100644 index 0000000000..f869d3e199 --- /dev/null +++ b/sdk/dotnet/LoadBalancer/Outputs/GetRuleSetsRuleSetItemIpMaxConnectionResult.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Oci.LoadBalancer.Outputs +{ + + [OutputType] + public sealed class GetRuleSetsRuleSetItemIpMaxConnectionResult + { + /// + /// Each element in the list should be valid IPv4 or IPv6 CIDR Block address. Example: '["129.213.176.0/24", "150.136.187.0/24", "2002::1234:abcd:ffff:c0a8:101/64"]' + /// + public readonly ImmutableArray IpAddresses; + /// + /// The maximum number of simultaneous connections that the specified IPs can make to the Listener. IPs without a maxConnections setting can make either defaultMaxConnections simultaneous connections to a listener or, if no defaultMaxConnections is specified, an unlimited number of simultaneous connections to a listener. + /// + public readonly int MaxConnections; + + [OutputConstructor] + private GetRuleSetsRuleSetItemIpMaxConnectionResult( + ImmutableArray ipAddresses, + + int maxConnections) + { + IpAddresses = ipAddresses; + MaxConnections = maxConnections; + } + } +} diff --git a/sdk/dotnet/LoadBalancer/Outputs/GetRuleSetsRuleSetItemResult.cs b/sdk/dotnet/LoadBalancer/Outputs/GetRuleSetsRuleSetItemResult.cs index 4d1316e9bc..c8ff854783 100644 --- a/sdk/dotnet/LoadBalancer/Outputs/GetRuleSetsRuleSetItemResult.cs +++ b/sdk/dotnet/LoadBalancer/Outputs/GetRuleSetsRuleSetItemResult.cs @@ -14,7 +14,7 @@ namespace Pulumi.Oci.LoadBalancer.Outputs public sealed class GetRuleSetsRuleSetItemResult { /// - /// The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` + /// The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `IP_BASED_MAX_CONNECTIONS`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` /// public readonly string Action; /// @@ -27,6 +27,10 @@ public sealed class GetRuleSetsRuleSetItemResult public readonly bool AreInvalidCharactersAllowed; public readonly ImmutableArray Conditions; /// + /// The maximum number of connections that the any IP can make to a listener unless the IP is mentioned in maxConnections. If no defaultMaxConnections is specified the default is unlimited. + /// + public readonly int DefaultMaxConnections; + /// /// A brief description of the access control rule. Avoid entering confidential information. /// public readonly string Description; @@ -39,6 +43,10 @@ public sealed class GetRuleSetsRuleSetItemResult /// public readonly int HttpLargeHeaderSizeInKb; /// + /// An array of IPs that have a maxConnection setting different than the default and what that maxConnection setting is + /// + public readonly ImmutableArray IpMaxConnections; + /// /// A string to prepend to the header value. The resulting header value must still conform to RFC 7230. With the following exceptions: /// * value cannot contain `$` /// * value cannot contain patterns like `{variable_name}`. They are reserved for future extensions. Currently, such values are invalid. @@ -79,12 +87,16 @@ private GetRuleSetsRuleSetItemResult( ImmutableArray conditions, + int defaultMaxConnections, + string description, string header, int httpLargeHeaderSizeInKb, + ImmutableArray ipMaxConnections, + string prefix, ImmutableArray redirectUris, @@ -101,9 +113,11 @@ private GetRuleSetsRuleSetItemResult( AllowedMethods = allowedMethods; AreInvalidCharactersAllowed = areInvalidCharactersAllowed; Conditions = conditions; + DefaultMaxConnections = defaultMaxConnections; Description = description; Header = header; HttpLargeHeaderSizeInKb = httpLargeHeaderSizeInKb; + IpMaxConnections = ipMaxConnections; Prefix = prefix; RedirectUris = redirectUris; ResponseCode = responseCode; diff --git a/sdk/dotnet/LoadBalancer/Outputs/LoadBalancerIpAddressDetail.cs b/sdk/dotnet/LoadBalancer/Outputs/LoadBalancerIpAddressDetail.cs index 103979f939..1a556da3ee 100644 --- a/sdk/dotnet/LoadBalancer/Outputs/LoadBalancerIpAddressDetail.cs +++ b/sdk/dotnet/LoadBalancer/Outputs/LoadBalancerIpAddressDetail.cs @@ -21,9 +21,6 @@ public sealed class LoadBalancerIpAddressDetail /// Whether the IP address is public or private. /// public readonly bool? IsPublic; - /// - /// Pre-created public IP that will be used as the IP of this load balancer. This reserved IP will not be deleted when load balancer is deleted. This ip should not be already mapped to any other resource. - /// public readonly ImmutableArray ReservedIps; [OutputConstructor] diff --git a/sdk/dotnet/LoadBalancer/Outputs/LoadBalancerIpAddressDetailReservedIp.cs b/sdk/dotnet/LoadBalancer/Outputs/LoadBalancerIpAddressDetailReservedIp.cs index d7907f5b45..8071d06137 100644 --- a/sdk/dotnet/LoadBalancer/Outputs/LoadBalancerIpAddressDetailReservedIp.cs +++ b/sdk/dotnet/LoadBalancer/Outputs/LoadBalancerIpAddressDetailReservedIp.cs @@ -14,7 +14,15 @@ namespace Pulumi.Oci.LoadBalancer.Outputs public sealed class LoadBalancerIpAddressDetailReservedIp { /// - /// Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. + /// Ocid of the Reserved IP/Public Ip created with VCN. + /// + /// Reserved IPs are IPs which already registered using VCN API. + /// + /// Create a reserved Public IP and then while creating the load balancer pass the ocid of the reserved IP in this field reservedIp to attach the Ip to Load balancer. Load balancer will be configured to listen to traffic on this IP. + /// + /// Reserved IPs will not be deleted when the Load balancer is deleted. They will be unattached from the Load balancer. + /// + /// Example: "ocid1.publicip.oc1.phx.unique_ID" Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. /// public readonly string? Id; diff --git a/sdk/dotnet/LoadBalancer/Outputs/LoadBalancerReservedIp.cs b/sdk/dotnet/LoadBalancer/Outputs/LoadBalancerReservedIp.cs index d77d171cb7..9ad24e119c 100644 --- a/sdk/dotnet/LoadBalancer/Outputs/LoadBalancerReservedIp.cs +++ b/sdk/dotnet/LoadBalancer/Outputs/LoadBalancerReservedIp.cs @@ -14,7 +14,15 @@ namespace Pulumi.Oci.LoadBalancer.Outputs public sealed class LoadBalancerReservedIp { /// - /// Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. + /// Ocid of the Reserved IP/Public Ip created with VCN. + /// + /// Reserved IPs are IPs which already registered using VCN API. + /// + /// Create a reserved Public IP and then while creating the load balancer pass the ocid of the reserved IP in this field reservedIp to attach the Ip to Load balancer. Load balancer will be configured to listen to traffic on this IP. + /// + /// Reserved IPs will not be deleted when the Load balancer is deleted. They will be unattached from the Load balancer. + /// + /// Example: "ocid1.publicip.oc1.phx.unique_ID" Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. /// public readonly string? Id; diff --git a/sdk/dotnet/LoadBalancer/Outputs/RuleSetItem.cs b/sdk/dotnet/LoadBalancer/Outputs/RuleSetItem.cs index 94bf288e46..faa30ca2a4 100644 --- a/sdk/dotnet/LoadBalancer/Outputs/RuleSetItem.cs +++ b/sdk/dotnet/LoadBalancer/Outputs/RuleSetItem.cs @@ -14,7 +14,7 @@ namespace Pulumi.Oci.LoadBalancer.Outputs public sealed class RuleSetItem { /// - /// (Updatable) The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` + /// (Updatable) The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `IP_BASED_MAX_CONNECTIONS`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` /// public readonly string Action; /// @@ -38,6 +38,10 @@ public sealed class RuleSetItem /// public readonly ImmutableArray Conditions; /// + /// (Updatable) The maximum number of connections that the any IP can make to a listener unless the IP is mentioned in maxConnections. If no defaultMaxConnections is specified the default is unlimited. + /// + public readonly int? DefaultMaxConnections; + /// /// (Updatable) A brief description of the access control rule. Avoid entering confidential information. /// /// example: `192.168.0.0/16 and 2001:db8::/32 are trusted clients. Whitelist them.` @@ -52,6 +56,10 @@ public sealed class RuleSetItem /// public readonly int? HttpLargeHeaderSizeInKb; /// + /// (Updatable) An array of IPs that have a maxConnection setting different than the default and what that maxConnection setting is + /// + public readonly ImmutableArray IpMaxConnections; + /// /// (Updatable) A string to prepend to the header value. The resulting header value must still conform to RFC 7230. With the following exceptions: /// * value cannot contain `$` /// * value cannot contain patterns like `{variable_name}`. They are reserved for future extensions. Currently, such values are invalid. @@ -132,12 +140,16 @@ private RuleSetItem( ImmutableArray conditions, + int? defaultMaxConnections, + string? description, string? header, int? httpLargeHeaderSizeInKb, + ImmutableArray ipMaxConnections, + string? prefix, Outputs.RuleSetItemRedirectUri? redirectUri, @@ -154,9 +166,11 @@ private RuleSetItem( AllowedMethods = allowedMethods; AreInvalidCharactersAllowed = areInvalidCharactersAllowed; Conditions = conditions; + DefaultMaxConnections = defaultMaxConnections; Description = description; Header = header; HttpLargeHeaderSizeInKb = httpLargeHeaderSizeInKb; + IpMaxConnections = ipMaxConnections; Prefix = prefix; RedirectUri = redirectUri; ResponseCode = responseCode; diff --git a/sdk/dotnet/LoadBalancer/Outputs/RuleSetItemIpMaxConnection.cs b/sdk/dotnet/LoadBalancer/Outputs/RuleSetItemIpMaxConnection.cs new file mode 100644 index 0000000000..4584b85f45 --- /dev/null +++ b/sdk/dotnet/LoadBalancer/Outputs/RuleSetItemIpMaxConnection.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Oci.LoadBalancer.Outputs +{ + + [OutputType] + public sealed class RuleSetItemIpMaxConnection + { + /// + /// (Updatable) Each element in the list should be valid IPv4 or IPv6 CIDR Block address. Example: '["129.213.176.0/24", "150.136.187.0/24", "2002::1234:abcd:ffff:c0a8:101/64"]' + /// + public readonly ImmutableArray IpAddresses; + /// + /// (Updatable) The maximum number of simultaneous connections that the specified IPs can make to the Listener. IPs without a maxConnections setting can make either defaultMaxConnections simultaneous connections to a listener or, if no defaultMaxConnections is specified, an unlimited number of simultaneous connections to a listener. + /// + public readonly int? MaxConnections; + + [OutputConstructor] + private RuleSetItemIpMaxConnection( + ImmutableArray ipAddresses, + + int? maxConnections) + { + IpAddresses = ipAddresses; + MaxConnections = maxConnections; + } + } +} diff --git a/sdk/dotnet/LoadBalancer/RuleSet.cs b/sdk/dotnet/LoadBalancer/RuleSet.cs index b6c6f937f3..c138305073 100644 --- a/sdk/dotnet/LoadBalancer/RuleSet.cs +++ b/sdk/dotnet/LoadBalancer/RuleSet.cs @@ -43,9 +43,18 @@ namespace Pulumi.Oci.LoadBalancer /// Operator = ruleSetItemsConditionsOperator, /// }, /// }, + /// DefaultMaxConnections = ruleSetItemsDefaultMaxConnections, /// Description = ruleSetItemsDescription, /// Header = ruleSetItemsHeader, /// HttpLargeHeaderSizeInKb = ruleSetItemsHttpLargeHeaderSizeInKb, + /// IpMaxConnections = new[] + /// { + /// new Oci.LoadBalancer.Inputs.RuleSetItemIpMaxConnectionArgs + /// { + /// IpAddresses = ruleSetItemsIpMaxConnectionsIpAddresses, + /// MaxConnections = ruleSetItemsIpMaxConnectionsMaxConnections, + /// }, + /// }, /// Prefix = ruleSetItemsPrefix, /// RedirectUri = new Oci.LoadBalancer.Inputs.RuleSetItemRedirectUriArgs /// { diff --git a/sdk/go/oci/database/cloudExadataInfrastructure.go b/sdk/go/oci/database/cloudExadataInfrastructure.go index 6dc939dab9..c2b2fe9946 100644 --- a/sdk/go/oci/database/cloudExadataInfrastructure.go +++ b/sdk/go/oci/database/cloudExadataInfrastructure.go @@ -111,6 +111,8 @@ type CloudExadataInfrastructure struct { DbNodeStorageSizeInGbs pulumi.IntOutput `pulumi:"dbNodeStorageSizeInGbs"` // The software version of the database servers (dom0) in the cloud Exadata infrastructure. Example: 20.1.15 DbServerVersion pulumi.StringOutput `pulumi:"dbServerVersion"` + // Details of the file system configuration of the Exadata infrastructure. + DefinedFileSystemConfigurations CloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput `pulumi:"definedFileSystemConfigurations"` // (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). DefinedTags pulumi.MapOutput `pulumi:"definedTags"` // (Updatable) The user-friendly name for the cloud Exadata infrastructure resource. The name does not need to be unique. @@ -224,6 +226,8 @@ type cloudExadataInfrastructureState struct { DbNodeStorageSizeInGbs *int `pulumi:"dbNodeStorageSizeInGbs"` // The software version of the database servers (dom0) in the cloud Exadata infrastructure. Example: 20.1.15 DbServerVersion *string `pulumi:"dbServerVersion"` + // Details of the file system configuration of the Exadata infrastructure. + DefinedFileSystemConfigurations []CloudExadataInfrastructureDefinedFileSystemConfiguration `pulumi:"definedFileSystemConfigurations"` // (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). DefinedTags map[string]interface{} `pulumi:"definedTags"` // (Updatable) The user-friendly name for the cloud Exadata infrastructure resource. The name does not need to be unique. @@ -296,6 +300,8 @@ type CloudExadataInfrastructureState struct { DbNodeStorageSizeInGbs pulumi.IntPtrInput // The software version of the database servers (dom0) in the cloud Exadata infrastructure. Example: 20.1.15 DbServerVersion pulumi.StringPtrInput + // Details of the file system configuration of the Exadata infrastructure. + DefinedFileSystemConfigurations CloudExadataInfrastructureDefinedFileSystemConfigurationArrayInput // (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). DefinedTags pulumi.MapInput // (Updatable) The user-friendly name for the cloud Exadata infrastructure resource. The name does not need to be unique. @@ -553,6 +559,13 @@ func (o CloudExadataInfrastructureOutput) DbServerVersion() pulumi.StringOutput return o.ApplyT(func(v *CloudExadataInfrastructure) pulumi.StringOutput { return v.DbServerVersion }).(pulumi.StringOutput) } +// Details of the file system configuration of the Exadata infrastructure. +func (o CloudExadataInfrastructureOutput) DefinedFileSystemConfigurations() CloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput { + return o.ApplyT(func(v *CloudExadataInfrastructure) CloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput { + return v.DefinedFileSystemConfigurations + }).(CloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput) +} + // (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). func (o CloudExadataInfrastructureOutput) DefinedTags() pulumi.MapOutput { return o.ApplyT(func(v *CloudExadataInfrastructure) pulumi.MapOutput { return v.DefinedTags }).(pulumi.MapOutput) diff --git a/sdk/go/oci/database/cloudVmCluster.go b/sdk/go/oci/database/cloudVmCluster.go index 7f47d70641..857b8fbbe3 100644 --- a/sdk/go/oci/database/cloudVmCluster.go +++ b/sdk/go/oci/database/cloudVmCluster.go @@ -53,6 +53,12 @@ import ( // DbServers: pulumi.Any(cloudVmClusterDbServers), // DefinedTags: pulumi.Any(cloudVmClusterDefinedTags), // Domain: pulumi.Any(cloudVmClusterDomain), +// FileSystemConfigurationDetails: database.CloudVmClusterFileSystemConfigurationDetailArray{ +// &database.CloudVmClusterFileSystemConfigurationDetailArgs{ +// FileSystemSizeGb: pulumi.Any(cloudVmClusterFileSystemConfigurationDetailsFileSystemSizeGb), +// MountPoint: pulumi.Any(cloudVmClusterFileSystemConfigurationDetailsMountPoint), +// }, +// }, // FreeformTags: pulumi.Map{ // "Department": pulumi.Any("Finance"), // }, @@ -127,6 +133,8 @@ type CloudVmCluster struct { DisplayName pulumi.StringOutput `pulumi:"displayName"` // A domain name used for the cloud VM cluster. If the Oracle-provided internet and VCN resolver is enabled for the specified subnet, the domain name for the subnet is used (do not provide one). Otherwise, provide a valid DNS domain name. Hyphens (-) are not permitted. Applies to Exadata Cloud Service instances only. Domain pulumi.StringOutput `pulumi:"domain"` + // (Updatable) Details of the file system configuration of the VM cluster. + FileSystemConfigurationDetails CloudVmClusterFileSystemConfigurationDetailArrayOutput `pulumi:"fileSystemConfigurationDetails"` // (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` FreeformTags pulumi.MapOutput `pulumi:"freeformTags"` // A valid Oracle Grid Infrastructure (GI) software version. @@ -296,6 +304,8 @@ type cloudVmClusterState struct { DisplayName *string `pulumi:"displayName"` // A domain name used for the cloud VM cluster. If the Oracle-provided internet and VCN resolver is enabled for the specified subnet, the domain name for the subnet is used (do not provide one). Otherwise, provide a valid DNS domain name. Hyphens (-) are not permitted. Applies to Exadata Cloud Service instances only. Domain *string `pulumi:"domain"` + // (Updatable) Details of the file system configuration of the VM cluster. + FileSystemConfigurationDetails []CloudVmClusterFileSystemConfigurationDetail `pulumi:"fileSystemConfigurationDetails"` // (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` FreeformTags map[string]interface{} `pulumi:"freeformTags"` // A valid Oracle Grid Infrastructure (GI) software version. @@ -409,6 +419,8 @@ type CloudVmClusterState struct { DisplayName pulumi.StringPtrInput // A domain name used for the cloud VM cluster. If the Oracle-provided internet and VCN resolver is enabled for the specified subnet, the domain name for the subnet is used (do not provide one). Otherwise, provide a valid DNS domain name. Hyphens (-) are not permitted. Applies to Exadata Cloud Service instances only. Domain pulumi.StringPtrInput + // (Updatable) Details of the file system configuration of the VM cluster. + FileSystemConfigurationDetails CloudVmClusterFileSystemConfigurationDetailArrayInput // (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` FreeformTags pulumi.MapInput // A valid Oracle Grid Infrastructure (GI) software version. @@ -522,6 +534,8 @@ type cloudVmClusterArgs struct { DisplayName string `pulumi:"displayName"` // A domain name used for the cloud VM cluster. If the Oracle-provided internet and VCN resolver is enabled for the specified subnet, the domain name for the subnet is used (do not provide one). Otherwise, provide a valid DNS domain name. Hyphens (-) are not permitted. Applies to Exadata Cloud Service instances only. Domain *string `pulumi:"domain"` + // (Updatable) Details of the file system configuration of the VM cluster. + FileSystemConfigurationDetails []CloudVmClusterFileSystemConfigurationDetail `pulumi:"fileSystemConfigurationDetails"` // (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` FreeformTags map[string]interface{} `pulumi:"freeformTags"` // A valid Oracle Grid Infrastructure (GI) software version. @@ -602,6 +616,8 @@ type CloudVmClusterArgs struct { DisplayName pulumi.StringInput // A domain name used for the cloud VM cluster. If the Oracle-provided internet and VCN resolver is enabled for the specified subnet, the domain name for the subnet is used (do not provide one). Otherwise, provide a valid DNS domain name. Hyphens (-) are not permitted. Applies to Exadata Cloud Service instances only. Domain pulumi.StringPtrInput + // (Updatable) Details of the file system configuration of the VM cluster. + FileSystemConfigurationDetails CloudVmClusterFileSystemConfigurationDetailArrayInput // (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` FreeformTags pulumi.MapInput // A valid Oracle Grid Infrastructure (GI) software version. @@ -822,6 +838,13 @@ func (o CloudVmClusterOutput) Domain() pulumi.StringOutput { return o.ApplyT(func(v *CloudVmCluster) pulumi.StringOutput { return v.Domain }).(pulumi.StringOutput) } +// (Updatable) Details of the file system configuration of the VM cluster. +func (o CloudVmClusterOutput) FileSystemConfigurationDetails() CloudVmClusterFileSystemConfigurationDetailArrayOutput { + return o.ApplyT(func(v *CloudVmCluster) CloudVmClusterFileSystemConfigurationDetailArrayOutput { + return v.FileSystemConfigurationDetails + }).(CloudVmClusterFileSystemConfigurationDetailArrayOutput) +} + // (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` func (o CloudVmClusterOutput) FreeformTags() pulumi.MapOutput { return o.ApplyT(func(v *CloudVmCluster) pulumi.MapOutput { return v.FreeformTags }).(pulumi.MapOutput) diff --git a/sdk/go/oci/database/getCloudExadataInfrastructure.go b/sdk/go/oci/database/getCloudExadataInfrastructure.go index 64c35181fd..b3cd53da58 100644 --- a/sdk/go/oci/database/getCloudExadataInfrastructure.go +++ b/sdk/go/oci/database/getCloudExadataInfrastructure.go @@ -83,6 +83,8 @@ type LookupCloudExadataInfrastructureResult struct { DbNodeStorageSizeInGbs int `pulumi:"dbNodeStorageSizeInGbs"` // The software version of the database servers (dom0) in the cloud Exadata infrastructure. Example: 20.1.15 DbServerVersion string `pulumi:"dbServerVersion"` + // Details of the file system configuration of the Exadata infrastructure. + DefinedFileSystemConfigurations []GetCloudExadataInfrastructureDefinedFileSystemConfiguration `pulumi:"definedFileSystemConfigurations"` // Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). DefinedTags map[string]interface{} `pulumi:"definedTags"` // The user-friendly name for the cloud Exadata infrastructure resource. The name does not need to be unique. @@ -233,6 +235,13 @@ func (o LookupCloudExadataInfrastructureResultOutput) DbServerVersion() pulumi.S return o.ApplyT(func(v LookupCloudExadataInfrastructureResult) string { return v.DbServerVersion }).(pulumi.StringOutput) } +// Details of the file system configuration of the Exadata infrastructure. +func (o LookupCloudExadataInfrastructureResultOutput) DefinedFileSystemConfigurations() GetCloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput { + return o.ApplyT(func(v LookupCloudExadataInfrastructureResult) []GetCloudExadataInfrastructureDefinedFileSystemConfiguration { + return v.DefinedFileSystemConfigurations + }).(GetCloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput) +} + // Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). func (o LookupCloudExadataInfrastructureResultOutput) DefinedTags() pulumi.MapOutput { return o.ApplyT(func(v LookupCloudExadataInfrastructureResult) map[string]interface{} { return v.DefinedTags }).(pulumi.MapOutput) diff --git a/sdk/go/oci/database/getCloudVmCluster.go b/sdk/go/oci/database/getCloudVmCluster.go index 900a6a79bd..d507da186c 100644 --- a/sdk/go/oci/database/getCloudVmCluster.go +++ b/sdk/go/oci/database/getCloudVmCluster.go @@ -92,6 +92,8 @@ type LookupCloudVmClusterResult struct { DisplayName string `pulumi:"displayName"` // The domain name for the cloud VM cluster. Domain string `pulumi:"domain"` + // Details of the file system configuration of the VM cluster. + FileSystemConfigurationDetails []GetCloudVmClusterFileSystemConfigurationDetail `pulumi:"fileSystemConfigurationDetails"` // Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` FreeformTags map[string]interface{} `pulumi:"freeformTags"` // A valid Oracle Grid Infrastructure (GI) software version. @@ -286,6 +288,13 @@ func (o LookupCloudVmClusterResultOutput) Domain() pulumi.StringOutput { return o.ApplyT(func(v LookupCloudVmClusterResult) string { return v.Domain }).(pulumi.StringOutput) } +// Details of the file system configuration of the VM cluster. +func (o LookupCloudVmClusterResultOutput) FileSystemConfigurationDetails() GetCloudVmClusterFileSystemConfigurationDetailArrayOutput { + return o.ApplyT(func(v LookupCloudVmClusterResult) []GetCloudVmClusterFileSystemConfigurationDetail { + return v.FileSystemConfigurationDetails + }).(GetCloudVmClusterFileSystemConfigurationDetailArrayOutput) +} + // Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` func (o LookupCloudVmClusterResultOutput) FreeformTags() pulumi.MapOutput { return o.ApplyT(func(v LookupCloudVmClusterResult) map[string]interface{} { return v.FreeformTags }).(pulumi.MapOutput) diff --git a/sdk/go/oci/database/pulumiTypes.go b/sdk/go/oci/database/pulumiTypes.go index c8f372f1e5..5bf226fb7f 100644 --- a/sdk/go/oci/database/pulumiTypes.go +++ b/sdk/go/oci/database/pulumiTypes.go @@ -7303,6 +7303,130 @@ func (o CloudExadataInfrastructureCustomerContactArrayOutput) Index(i pulumi.Int }).(CloudExadataInfrastructureCustomerContactOutput) } +type CloudExadataInfrastructureDefinedFileSystemConfiguration struct { + // If true, the file system is used to create a backup prior to Exadata VM OS update. + IsBackupPartition *bool `pulumi:"isBackupPartition"` + // If true, the file system resize is allowed for the Exadata Infrastructure cluster. If false, the file system resize is not allowed. + IsResizable *bool `pulumi:"isResizable"` + // The minimum size of file system. + MinSizeGb *int `pulumi:"minSizeGb"` + // The mount point of file system. + MountPoint *string `pulumi:"mountPoint"` +} + +// CloudExadataInfrastructureDefinedFileSystemConfigurationInput is an input type that accepts CloudExadataInfrastructureDefinedFileSystemConfigurationArgs and CloudExadataInfrastructureDefinedFileSystemConfigurationOutput values. +// You can construct a concrete instance of `CloudExadataInfrastructureDefinedFileSystemConfigurationInput` via: +// +// CloudExadataInfrastructureDefinedFileSystemConfigurationArgs{...} +type CloudExadataInfrastructureDefinedFileSystemConfigurationInput interface { + pulumi.Input + + ToCloudExadataInfrastructureDefinedFileSystemConfigurationOutput() CloudExadataInfrastructureDefinedFileSystemConfigurationOutput + ToCloudExadataInfrastructureDefinedFileSystemConfigurationOutputWithContext(context.Context) CloudExadataInfrastructureDefinedFileSystemConfigurationOutput +} + +type CloudExadataInfrastructureDefinedFileSystemConfigurationArgs struct { + // If true, the file system is used to create a backup prior to Exadata VM OS update. + IsBackupPartition pulumi.BoolPtrInput `pulumi:"isBackupPartition"` + // If true, the file system resize is allowed for the Exadata Infrastructure cluster. If false, the file system resize is not allowed. + IsResizable pulumi.BoolPtrInput `pulumi:"isResizable"` + // The minimum size of file system. + MinSizeGb pulumi.IntPtrInput `pulumi:"minSizeGb"` + // The mount point of file system. + MountPoint pulumi.StringPtrInput `pulumi:"mountPoint"` +} + +func (CloudExadataInfrastructureDefinedFileSystemConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CloudExadataInfrastructureDefinedFileSystemConfiguration)(nil)).Elem() +} + +func (i CloudExadataInfrastructureDefinedFileSystemConfigurationArgs) ToCloudExadataInfrastructureDefinedFileSystemConfigurationOutput() CloudExadataInfrastructureDefinedFileSystemConfigurationOutput { + return i.ToCloudExadataInfrastructureDefinedFileSystemConfigurationOutputWithContext(context.Background()) +} + +func (i CloudExadataInfrastructureDefinedFileSystemConfigurationArgs) ToCloudExadataInfrastructureDefinedFileSystemConfigurationOutputWithContext(ctx context.Context) CloudExadataInfrastructureDefinedFileSystemConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(CloudExadataInfrastructureDefinedFileSystemConfigurationOutput) +} + +// CloudExadataInfrastructureDefinedFileSystemConfigurationArrayInput is an input type that accepts CloudExadataInfrastructureDefinedFileSystemConfigurationArray and CloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput values. +// You can construct a concrete instance of `CloudExadataInfrastructureDefinedFileSystemConfigurationArrayInput` via: +// +// CloudExadataInfrastructureDefinedFileSystemConfigurationArray{ CloudExadataInfrastructureDefinedFileSystemConfigurationArgs{...} } +type CloudExadataInfrastructureDefinedFileSystemConfigurationArrayInput interface { + pulumi.Input + + ToCloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput() CloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput + ToCloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutputWithContext(context.Context) CloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput +} + +type CloudExadataInfrastructureDefinedFileSystemConfigurationArray []CloudExadataInfrastructureDefinedFileSystemConfigurationInput + +func (CloudExadataInfrastructureDefinedFileSystemConfigurationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]CloudExadataInfrastructureDefinedFileSystemConfiguration)(nil)).Elem() +} + +func (i CloudExadataInfrastructureDefinedFileSystemConfigurationArray) ToCloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput() CloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput { + return i.ToCloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutputWithContext(context.Background()) +} + +func (i CloudExadataInfrastructureDefinedFileSystemConfigurationArray) ToCloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutputWithContext(ctx context.Context) CloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput) +} + +type CloudExadataInfrastructureDefinedFileSystemConfigurationOutput struct{ *pulumi.OutputState } + +func (CloudExadataInfrastructureDefinedFileSystemConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CloudExadataInfrastructureDefinedFileSystemConfiguration)(nil)).Elem() +} + +func (o CloudExadataInfrastructureDefinedFileSystemConfigurationOutput) ToCloudExadataInfrastructureDefinedFileSystemConfigurationOutput() CloudExadataInfrastructureDefinedFileSystemConfigurationOutput { + return o +} + +func (o CloudExadataInfrastructureDefinedFileSystemConfigurationOutput) ToCloudExadataInfrastructureDefinedFileSystemConfigurationOutputWithContext(ctx context.Context) CloudExadataInfrastructureDefinedFileSystemConfigurationOutput { + return o +} + +// If true, the file system is used to create a backup prior to Exadata VM OS update. +func (o CloudExadataInfrastructureDefinedFileSystemConfigurationOutput) IsBackupPartition() pulumi.BoolPtrOutput { + return o.ApplyT(func(v CloudExadataInfrastructureDefinedFileSystemConfiguration) *bool { return v.IsBackupPartition }).(pulumi.BoolPtrOutput) +} + +// If true, the file system resize is allowed for the Exadata Infrastructure cluster. If false, the file system resize is not allowed. +func (o CloudExadataInfrastructureDefinedFileSystemConfigurationOutput) IsResizable() pulumi.BoolPtrOutput { + return o.ApplyT(func(v CloudExadataInfrastructureDefinedFileSystemConfiguration) *bool { return v.IsResizable }).(pulumi.BoolPtrOutput) +} + +// The minimum size of file system. +func (o CloudExadataInfrastructureDefinedFileSystemConfigurationOutput) MinSizeGb() pulumi.IntPtrOutput { + return o.ApplyT(func(v CloudExadataInfrastructureDefinedFileSystemConfiguration) *int { return v.MinSizeGb }).(pulumi.IntPtrOutput) +} + +// The mount point of file system. +func (o CloudExadataInfrastructureDefinedFileSystemConfigurationOutput) MountPoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v CloudExadataInfrastructureDefinedFileSystemConfiguration) *string { return v.MountPoint }).(pulumi.StringPtrOutput) +} + +type CloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput struct{ *pulumi.OutputState } + +func (CloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]CloudExadataInfrastructureDefinedFileSystemConfiguration)(nil)).Elem() +} + +func (o CloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput) ToCloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput() CloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput { + return o +} + +func (o CloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput) ToCloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutputWithContext(ctx context.Context) CloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput { + return o +} + +func (o CloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput) Index(i pulumi.IntInput) CloudExadataInfrastructureDefinedFileSystemConfigurationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) CloudExadataInfrastructureDefinedFileSystemConfiguration { + return vs[0].([]CloudExadataInfrastructureDefinedFileSystemConfiguration)[vs[1].(int)] + }).(CloudExadataInfrastructureDefinedFileSystemConfigurationOutput) +} + type CloudExadataInfrastructureMaintenanceWindow struct { // (Updatable) Determines the amount of time the system will wait before the start of each database server patching operation. Custom action timeout is in minutes and valid value is between 15 to 120 (inclusive). CustomActionTimeoutInMins *int `pulumi:"customActionTimeoutInMins"` @@ -8011,6 +8135,112 @@ func (o CloudVmClusterDataCollectionOptionsPtrOutput) IsIncidentLogsEnabled() pu }).(pulumi.BoolPtrOutput) } +type CloudVmClusterFileSystemConfigurationDetail struct { + // (Updatable) The file system size to be allocated in GBs. + FileSystemSizeGb *int `pulumi:"fileSystemSizeGb"` + // (Updatable) The mount point of file system. + MountPoint *string `pulumi:"mountPoint"` +} + +// CloudVmClusterFileSystemConfigurationDetailInput is an input type that accepts CloudVmClusterFileSystemConfigurationDetailArgs and CloudVmClusterFileSystemConfigurationDetailOutput values. +// You can construct a concrete instance of `CloudVmClusterFileSystemConfigurationDetailInput` via: +// +// CloudVmClusterFileSystemConfigurationDetailArgs{...} +type CloudVmClusterFileSystemConfigurationDetailInput interface { + pulumi.Input + + ToCloudVmClusterFileSystemConfigurationDetailOutput() CloudVmClusterFileSystemConfigurationDetailOutput + ToCloudVmClusterFileSystemConfigurationDetailOutputWithContext(context.Context) CloudVmClusterFileSystemConfigurationDetailOutput +} + +type CloudVmClusterFileSystemConfigurationDetailArgs struct { + // (Updatable) The file system size to be allocated in GBs. + FileSystemSizeGb pulumi.IntPtrInput `pulumi:"fileSystemSizeGb"` + // (Updatable) The mount point of file system. + MountPoint pulumi.StringPtrInput `pulumi:"mountPoint"` +} + +func (CloudVmClusterFileSystemConfigurationDetailArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CloudVmClusterFileSystemConfigurationDetail)(nil)).Elem() +} + +func (i CloudVmClusterFileSystemConfigurationDetailArgs) ToCloudVmClusterFileSystemConfigurationDetailOutput() CloudVmClusterFileSystemConfigurationDetailOutput { + return i.ToCloudVmClusterFileSystemConfigurationDetailOutputWithContext(context.Background()) +} + +func (i CloudVmClusterFileSystemConfigurationDetailArgs) ToCloudVmClusterFileSystemConfigurationDetailOutputWithContext(ctx context.Context) CloudVmClusterFileSystemConfigurationDetailOutput { + return pulumi.ToOutputWithContext(ctx, i).(CloudVmClusterFileSystemConfigurationDetailOutput) +} + +// CloudVmClusterFileSystemConfigurationDetailArrayInput is an input type that accepts CloudVmClusterFileSystemConfigurationDetailArray and CloudVmClusterFileSystemConfigurationDetailArrayOutput values. +// You can construct a concrete instance of `CloudVmClusterFileSystemConfigurationDetailArrayInput` via: +// +// CloudVmClusterFileSystemConfigurationDetailArray{ CloudVmClusterFileSystemConfigurationDetailArgs{...} } +type CloudVmClusterFileSystemConfigurationDetailArrayInput interface { + pulumi.Input + + ToCloudVmClusterFileSystemConfigurationDetailArrayOutput() CloudVmClusterFileSystemConfigurationDetailArrayOutput + ToCloudVmClusterFileSystemConfigurationDetailArrayOutputWithContext(context.Context) CloudVmClusterFileSystemConfigurationDetailArrayOutput +} + +type CloudVmClusterFileSystemConfigurationDetailArray []CloudVmClusterFileSystemConfigurationDetailInput + +func (CloudVmClusterFileSystemConfigurationDetailArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]CloudVmClusterFileSystemConfigurationDetail)(nil)).Elem() +} + +func (i CloudVmClusterFileSystemConfigurationDetailArray) ToCloudVmClusterFileSystemConfigurationDetailArrayOutput() CloudVmClusterFileSystemConfigurationDetailArrayOutput { + return i.ToCloudVmClusterFileSystemConfigurationDetailArrayOutputWithContext(context.Background()) +} + +func (i CloudVmClusterFileSystemConfigurationDetailArray) ToCloudVmClusterFileSystemConfigurationDetailArrayOutputWithContext(ctx context.Context) CloudVmClusterFileSystemConfigurationDetailArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CloudVmClusterFileSystemConfigurationDetailArrayOutput) +} + +type CloudVmClusterFileSystemConfigurationDetailOutput struct{ *pulumi.OutputState } + +func (CloudVmClusterFileSystemConfigurationDetailOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CloudVmClusterFileSystemConfigurationDetail)(nil)).Elem() +} + +func (o CloudVmClusterFileSystemConfigurationDetailOutput) ToCloudVmClusterFileSystemConfigurationDetailOutput() CloudVmClusterFileSystemConfigurationDetailOutput { + return o +} + +func (o CloudVmClusterFileSystemConfigurationDetailOutput) ToCloudVmClusterFileSystemConfigurationDetailOutputWithContext(ctx context.Context) CloudVmClusterFileSystemConfigurationDetailOutput { + return o +} + +// (Updatable) The file system size to be allocated in GBs. +func (o CloudVmClusterFileSystemConfigurationDetailOutput) FileSystemSizeGb() pulumi.IntPtrOutput { + return o.ApplyT(func(v CloudVmClusterFileSystemConfigurationDetail) *int { return v.FileSystemSizeGb }).(pulumi.IntPtrOutput) +} + +// (Updatable) The mount point of file system. +func (o CloudVmClusterFileSystemConfigurationDetailOutput) MountPoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v CloudVmClusterFileSystemConfigurationDetail) *string { return v.MountPoint }).(pulumi.StringPtrOutput) +} + +type CloudVmClusterFileSystemConfigurationDetailArrayOutput struct{ *pulumi.OutputState } + +func (CloudVmClusterFileSystemConfigurationDetailArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]CloudVmClusterFileSystemConfigurationDetail)(nil)).Elem() +} + +func (o CloudVmClusterFileSystemConfigurationDetailArrayOutput) ToCloudVmClusterFileSystemConfigurationDetailArrayOutput() CloudVmClusterFileSystemConfigurationDetailArrayOutput { + return o +} + +func (o CloudVmClusterFileSystemConfigurationDetailArrayOutput) ToCloudVmClusterFileSystemConfigurationDetailArrayOutputWithContext(ctx context.Context) CloudVmClusterFileSystemConfigurationDetailArrayOutput { + return o +} + +func (o CloudVmClusterFileSystemConfigurationDetailArrayOutput) Index(i pulumi.IntInput) CloudVmClusterFileSystemConfigurationDetailOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) CloudVmClusterFileSystemConfigurationDetail { + return vs[0].([]CloudVmClusterFileSystemConfigurationDetail)[vs[1].(int)] + }).(CloudVmClusterFileSystemConfigurationDetailOutput) +} + type CloudVmClusterIormConfigCach struct { // An array of IORM settings for all the database in the Exadata DB system. DbPlans []CloudVmClusterIormConfigCachDbPlan `pulumi:"dbPlans"` @@ -25706,11 +25936,8 @@ type GetAutonomousContainerDatabasesAutonomousContainerDatabase struct { // The scheduling details for the quarterly maintenance window. Patching and system updates take place during the maintenance window. MaintenanceWindows []GetAutonomousContainerDatabasesAutonomousContainerDatabaseMaintenanceWindow `pulumi:"maintenanceWindows"` // The amount of memory (in GBs) enabled per ECPU or OCPU in the Autonomous VM Cluster. - // <<<<<<< HEAD MemoryPerOracleComputeUnitInGbs int `pulumi:"memoryPerOracleComputeUnitInGbs"` // Enabling SHARED server architecture enables a database server to allow many client processes to share very few server processes, thereby increasing the number of supported users. - // === - // > > > > > > > 22609d6059 (Added - Support for Oracle Home Version Control - Phase 2 | ADB-D and ADB-C@C) NetServicesArchitecture string `pulumi:"netServicesArchitecture"` // The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the next maintenance run. NextMaintenanceRunId string `pulumi:"nextMaintenanceRunId"` @@ -25833,11 +26060,8 @@ type GetAutonomousContainerDatabasesAutonomousContainerDatabaseArgs struct { // The scheduling details for the quarterly maintenance window. Patching and system updates take place during the maintenance window. MaintenanceWindows GetAutonomousContainerDatabasesAutonomousContainerDatabaseMaintenanceWindowArrayInput `pulumi:"maintenanceWindows"` // The amount of memory (in GBs) enabled per ECPU or OCPU in the Autonomous VM Cluster. - // <<<<<<< HEAD MemoryPerOracleComputeUnitInGbs pulumi.IntInput `pulumi:"memoryPerOracleComputeUnitInGbs"` // Enabling SHARED server architecture enables a database server to allow many client processes to share very few server processes, thereby increasing the number of supported users. - // === - // > > > > > > > 22609d6059 (Added - Support for Oracle Home Version Control - Phase 2 | ADB-D and ADB-C@C) NetServicesArchitecture pulumi.StringInput `pulumi:"netServicesArchitecture"` // The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the next maintenance run. NextMaintenanceRunId pulumi.StringInput `pulumi:"nextMaintenanceRunId"` @@ -26132,7 +26356,6 @@ func (o GetAutonomousContainerDatabasesAutonomousContainerDatabaseOutput) Mainte } // The amount of memory (in GBs) enabled per ECPU or OCPU in the Autonomous VM Cluster. -// <<<<<<< HEAD func (o GetAutonomousContainerDatabasesAutonomousContainerDatabaseOutput) MemoryPerOracleComputeUnitInGbs() pulumi.IntOutput { return o.ApplyT(func(v GetAutonomousContainerDatabasesAutonomousContainerDatabase) int { return v.MemoryPerOracleComputeUnitInGbs @@ -26140,8 +26363,6 @@ func (o GetAutonomousContainerDatabasesAutonomousContainerDatabaseOutput) Memory } // Enabling SHARED server architecture enables a database server to allow many client processes to share very few server processes, thereby increasing the number of supported users. -// === -// > > > > > > > 22609d6059 (Added - Support for Oracle Home Version Control - Phase 2 | ADB-D and ADB-C@C) func (o GetAutonomousContainerDatabasesAutonomousContainerDatabaseOutput) NetServicesArchitecture() pulumi.StringOutput { return o.ApplyT(func(v GetAutonomousContainerDatabasesAutonomousContainerDatabase) string { return v.NetServicesArchitecture @@ -48826,6 +49047,130 @@ func (o GetCloudExadataInfrastructureCustomerContactArrayOutput) Index(i pulumi. }).(GetCloudExadataInfrastructureCustomerContactOutput) } +type GetCloudExadataInfrastructureDefinedFileSystemConfiguration struct { + // If true, the file system is used to create a backup prior to Exadata VM OS update. + IsBackupPartition bool `pulumi:"isBackupPartition"` + // If true, the file system resize is allowed for the Exadata Infrastructure cluster. If false, the file system resize is not allowed. + IsResizable bool `pulumi:"isResizable"` + // The minimum size of file system. + MinSizeGb int `pulumi:"minSizeGb"` + // The mount point of file system. + MountPoint string `pulumi:"mountPoint"` +} + +// GetCloudExadataInfrastructureDefinedFileSystemConfigurationInput is an input type that accepts GetCloudExadataInfrastructureDefinedFileSystemConfigurationArgs and GetCloudExadataInfrastructureDefinedFileSystemConfigurationOutput values. +// You can construct a concrete instance of `GetCloudExadataInfrastructureDefinedFileSystemConfigurationInput` via: +// +// GetCloudExadataInfrastructureDefinedFileSystemConfigurationArgs{...} +type GetCloudExadataInfrastructureDefinedFileSystemConfigurationInput interface { + pulumi.Input + + ToGetCloudExadataInfrastructureDefinedFileSystemConfigurationOutput() GetCloudExadataInfrastructureDefinedFileSystemConfigurationOutput + ToGetCloudExadataInfrastructureDefinedFileSystemConfigurationOutputWithContext(context.Context) GetCloudExadataInfrastructureDefinedFileSystemConfigurationOutput +} + +type GetCloudExadataInfrastructureDefinedFileSystemConfigurationArgs struct { + // If true, the file system is used to create a backup prior to Exadata VM OS update. + IsBackupPartition pulumi.BoolInput `pulumi:"isBackupPartition"` + // If true, the file system resize is allowed for the Exadata Infrastructure cluster. If false, the file system resize is not allowed. + IsResizable pulumi.BoolInput `pulumi:"isResizable"` + // The minimum size of file system. + MinSizeGb pulumi.IntInput `pulumi:"minSizeGb"` + // The mount point of file system. + MountPoint pulumi.StringInput `pulumi:"mountPoint"` +} + +func (GetCloudExadataInfrastructureDefinedFileSystemConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCloudExadataInfrastructureDefinedFileSystemConfiguration)(nil)).Elem() +} + +func (i GetCloudExadataInfrastructureDefinedFileSystemConfigurationArgs) ToGetCloudExadataInfrastructureDefinedFileSystemConfigurationOutput() GetCloudExadataInfrastructureDefinedFileSystemConfigurationOutput { + return i.ToGetCloudExadataInfrastructureDefinedFileSystemConfigurationOutputWithContext(context.Background()) +} + +func (i GetCloudExadataInfrastructureDefinedFileSystemConfigurationArgs) ToGetCloudExadataInfrastructureDefinedFileSystemConfigurationOutputWithContext(ctx context.Context) GetCloudExadataInfrastructureDefinedFileSystemConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCloudExadataInfrastructureDefinedFileSystemConfigurationOutput) +} + +// GetCloudExadataInfrastructureDefinedFileSystemConfigurationArrayInput is an input type that accepts GetCloudExadataInfrastructureDefinedFileSystemConfigurationArray and GetCloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput values. +// You can construct a concrete instance of `GetCloudExadataInfrastructureDefinedFileSystemConfigurationArrayInput` via: +// +// GetCloudExadataInfrastructureDefinedFileSystemConfigurationArray{ GetCloudExadataInfrastructureDefinedFileSystemConfigurationArgs{...} } +type GetCloudExadataInfrastructureDefinedFileSystemConfigurationArrayInput interface { + pulumi.Input + + ToGetCloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput() GetCloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput + ToGetCloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutputWithContext(context.Context) GetCloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput +} + +type GetCloudExadataInfrastructureDefinedFileSystemConfigurationArray []GetCloudExadataInfrastructureDefinedFileSystemConfigurationInput + +func (GetCloudExadataInfrastructureDefinedFileSystemConfigurationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCloudExadataInfrastructureDefinedFileSystemConfiguration)(nil)).Elem() +} + +func (i GetCloudExadataInfrastructureDefinedFileSystemConfigurationArray) ToGetCloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput() GetCloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput { + return i.ToGetCloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutputWithContext(context.Background()) +} + +func (i GetCloudExadataInfrastructureDefinedFileSystemConfigurationArray) ToGetCloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutputWithContext(ctx context.Context) GetCloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput) +} + +type GetCloudExadataInfrastructureDefinedFileSystemConfigurationOutput struct{ *pulumi.OutputState } + +func (GetCloudExadataInfrastructureDefinedFileSystemConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCloudExadataInfrastructureDefinedFileSystemConfiguration)(nil)).Elem() +} + +func (o GetCloudExadataInfrastructureDefinedFileSystemConfigurationOutput) ToGetCloudExadataInfrastructureDefinedFileSystemConfigurationOutput() GetCloudExadataInfrastructureDefinedFileSystemConfigurationOutput { + return o +} + +func (o GetCloudExadataInfrastructureDefinedFileSystemConfigurationOutput) ToGetCloudExadataInfrastructureDefinedFileSystemConfigurationOutputWithContext(ctx context.Context) GetCloudExadataInfrastructureDefinedFileSystemConfigurationOutput { + return o +} + +// If true, the file system is used to create a backup prior to Exadata VM OS update. +func (o GetCloudExadataInfrastructureDefinedFileSystemConfigurationOutput) IsBackupPartition() pulumi.BoolOutput { + return o.ApplyT(func(v GetCloudExadataInfrastructureDefinedFileSystemConfiguration) bool { return v.IsBackupPartition }).(pulumi.BoolOutput) +} + +// If true, the file system resize is allowed for the Exadata Infrastructure cluster. If false, the file system resize is not allowed. +func (o GetCloudExadataInfrastructureDefinedFileSystemConfigurationOutput) IsResizable() pulumi.BoolOutput { + return o.ApplyT(func(v GetCloudExadataInfrastructureDefinedFileSystemConfiguration) bool { return v.IsResizable }).(pulumi.BoolOutput) +} + +// The minimum size of file system. +func (o GetCloudExadataInfrastructureDefinedFileSystemConfigurationOutput) MinSizeGb() pulumi.IntOutput { + return o.ApplyT(func(v GetCloudExadataInfrastructureDefinedFileSystemConfiguration) int { return v.MinSizeGb }).(pulumi.IntOutput) +} + +// The mount point of file system. +func (o GetCloudExadataInfrastructureDefinedFileSystemConfigurationOutput) MountPoint() pulumi.StringOutput { + return o.ApplyT(func(v GetCloudExadataInfrastructureDefinedFileSystemConfiguration) string { return v.MountPoint }).(pulumi.StringOutput) +} + +type GetCloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput struct{ *pulumi.OutputState } + +func (GetCloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCloudExadataInfrastructureDefinedFileSystemConfiguration)(nil)).Elem() +} + +func (o GetCloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput) ToGetCloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput() GetCloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput { + return o +} + +func (o GetCloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput) ToGetCloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutputWithContext(ctx context.Context) GetCloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput { + return o +} + +func (o GetCloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput) Index(i pulumi.IntInput) GetCloudExadataInfrastructureDefinedFileSystemConfigurationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCloudExadataInfrastructureDefinedFileSystemConfiguration { + return vs[0].([]GetCloudExadataInfrastructureDefinedFileSystemConfiguration)[vs[1].(int)] + }).(GetCloudExadataInfrastructureDefinedFileSystemConfigurationOutput) +} + type GetCloudExadataInfrastructureMaintenanceWindow struct { // Determines the amount of time the system will wait before the start of each database server patching operation. Custom action timeout is in minutes and valid value is between 15 to 120 (inclusive). CustomActionTimeoutInMins int `pulumi:"customActionTimeoutInMins"` @@ -49344,6 +49689,8 @@ type GetCloudExadataInfrastructuresCloudExadataInfrastructure struct { DbNodeStorageSizeInGbs int `pulumi:"dbNodeStorageSizeInGbs"` // The software version of the database servers (dom0) in the cloud Exadata infrastructure. Example: 20.1.15 DbServerVersion string `pulumi:"dbServerVersion"` + // Details of the file system configuration of the Exadata infrastructure. + DefinedFileSystemConfigurations []GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfiguration `pulumi:"definedFileSystemConfigurations"` // Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). DefinedTags map[string]interface{} `pulumi:"definedTags"` // A filter to return only resources that match the entire display name given. The match is not case sensitive. @@ -49426,6 +49773,8 @@ type GetCloudExadataInfrastructuresCloudExadataInfrastructureArgs struct { DbNodeStorageSizeInGbs pulumi.IntInput `pulumi:"dbNodeStorageSizeInGbs"` // The software version of the database servers (dom0) in the cloud Exadata infrastructure. Example: 20.1.15 DbServerVersion pulumi.StringInput `pulumi:"dbServerVersion"` + // Details of the file system configuration of the Exadata infrastructure. + DefinedFileSystemConfigurations GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationArrayInput `pulumi:"definedFileSystemConfigurations"` // Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). DefinedTags pulumi.MapInput `pulumi:"definedTags"` // A filter to return only resources that match the entire display name given. The match is not case sensitive. @@ -49591,6 +49940,13 @@ func (o GetCloudExadataInfrastructuresCloudExadataInfrastructureOutput) DbServer return o.ApplyT(func(v GetCloudExadataInfrastructuresCloudExadataInfrastructure) string { return v.DbServerVersion }).(pulumi.StringOutput) } +// Details of the file system configuration of the Exadata infrastructure. +func (o GetCloudExadataInfrastructuresCloudExadataInfrastructureOutput) DefinedFileSystemConfigurations() GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput { + return o.ApplyT(func(v GetCloudExadataInfrastructuresCloudExadataInfrastructure) []GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfiguration { + return v.DefinedFileSystemConfigurations + }).(GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput) +} + // Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). func (o GetCloudExadataInfrastructuresCloudExadataInfrastructureOutput) DefinedTags() pulumi.MapOutput { return o.ApplyT(func(v GetCloudExadataInfrastructuresCloudExadataInfrastructure) map[string]interface{} { @@ -49830,6 +50186,138 @@ func (o GetCloudExadataInfrastructuresCloudExadataInfrastructureCustomerContactA }).(GetCloudExadataInfrastructuresCloudExadataInfrastructureCustomerContactOutput) } +type GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfiguration struct { + // If true, the file system is used to create a backup prior to Exadata VM OS update. + IsBackupPartition bool `pulumi:"isBackupPartition"` + // If true, the file system resize is allowed for the Exadata Infrastructure cluster. If false, the file system resize is not allowed. + IsResizable bool `pulumi:"isResizable"` + // The minimum size of file system. + MinSizeGb int `pulumi:"minSizeGb"` + // The mount point of file system. + MountPoint string `pulumi:"mountPoint"` +} + +// GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationInput is an input type that accepts GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationArgs and GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationOutput values. +// You can construct a concrete instance of `GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationInput` via: +// +// GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationArgs{...} +type GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationInput interface { + pulumi.Input + + ToGetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationOutput() GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationOutput + ToGetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationOutputWithContext(context.Context) GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationOutput +} + +type GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationArgs struct { + // If true, the file system is used to create a backup prior to Exadata VM OS update. + IsBackupPartition pulumi.BoolInput `pulumi:"isBackupPartition"` + // If true, the file system resize is allowed for the Exadata Infrastructure cluster. If false, the file system resize is not allowed. + IsResizable pulumi.BoolInput `pulumi:"isResizable"` + // The minimum size of file system. + MinSizeGb pulumi.IntInput `pulumi:"minSizeGb"` + // The mount point of file system. + MountPoint pulumi.StringInput `pulumi:"mountPoint"` +} + +func (GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfiguration)(nil)).Elem() +} + +func (i GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationArgs) ToGetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationOutput() GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationOutput { + return i.ToGetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationOutputWithContext(context.Background()) +} + +func (i GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationArgs) ToGetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationOutputWithContext(ctx context.Context) GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationOutput) +} + +// GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationArrayInput is an input type that accepts GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationArray and GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput values. +// You can construct a concrete instance of `GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationArrayInput` via: +// +// GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationArray{ GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationArgs{...} } +type GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationArrayInput interface { + pulumi.Input + + ToGetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput() GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput + ToGetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutputWithContext(context.Context) GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput +} + +type GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationArray []GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationInput + +func (GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfiguration)(nil)).Elem() +} + +func (i GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationArray) ToGetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput() GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput { + return i.ToGetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutputWithContext(context.Background()) +} + +func (i GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationArray) ToGetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutputWithContext(ctx context.Context) GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput) +} + +type GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationOutput struct{ *pulumi.OutputState } + +func (GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfiguration)(nil)).Elem() +} + +func (o GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationOutput) ToGetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationOutput() GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationOutput { + return o +} + +func (o GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationOutput) ToGetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationOutputWithContext(ctx context.Context) GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationOutput { + return o +} + +// If true, the file system is used to create a backup prior to Exadata VM OS update. +func (o GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationOutput) IsBackupPartition() pulumi.BoolOutput { + return o.ApplyT(func(v GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfiguration) bool { + return v.IsBackupPartition + }).(pulumi.BoolOutput) +} + +// If true, the file system resize is allowed for the Exadata Infrastructure cluster. If false, the file system resize is not allowed. +func (o GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationOutput) IsResizable() pulumi.BoolOutput { + return o.ApplyT(func(v GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfiguration) bool { + return v.IsResizable + }).(pulumi.BoolOutput) +} + +// The minimum size of file system. +func (o GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationOutput) MinSizeGb() pulumi.IntOutput { + return o.ApplyT(func(v GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfiguration) int { + return v.MinSizeGb + }).(pulumi.IntOutput) +} + +// The mount point of file system. +func (o GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationOutput) MountPoint() pulumi.StringOutput { + return o.ApplyT(func(v GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfiguration) string { + return v.MountPoint + }).(pulumi.StringOutput) +} + +type GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput struct{ *pulumi.OutputState } + +func (GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfiguration)(nil)).Elem() +} + +func (o GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput) ToGetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput() GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput { + return o +} + +func (o GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput) ToGetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutputWithContext(ctx context.Context) GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput { + return o +} + +func (o GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput) Index(i pulumi.IntInput) GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfiguration { + return vs[0].([]GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfiguration)[vs[1].(int)] + }).(GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationOutput) +} + type GetCloudExadataInfrastructuresCloudExadataInfrastructureMaintenanceWindow struct { // Determines the amount of time the system will wait before the start of each database server patching operation. Custom action timeout is in minutes and valid value is between 15 to 120 (inclusive). CustomActionTimeoutInMins int `pulumi:"customActionTimeoutInMins"` @@ -50461,6 +50949,112 @@ func (o GetCloudVmClusterDataCollectionOptionArrayOutput) Index(i pulumi.IntInpu }).(GetCloudVmClusterDataCollectionOptionOutput) } +type GetCloudVmClusterFileSystemConfigurationDetail struct { + // The file system size to be allocated in GBs. + FileSystemSizeGb int `pulumi:"fileSystemSizeGb"` + // The mount point of file system. + MountPoint string `pulumi:"mountPoint"` +} + +// GetCloudVmClusterFileSystemConfigurationDetailInput is an input type that accepts GetCloudVmClusterFileSystemConfigurationDetailArgs and GetCloudVmClusterFileSystemConfigurationDetailOutput values. +// You can construct a concrete instance of `GetCloudVmClusterFileSystemConfigurationDetailInput` via: +// +// GetCloudVmClusterFileSystemConfigurationDetailArgs{...} +type GetCloudVmClusterFileSystemConfigurationDetailInput interface { + pulumi.Input + + ToGetCloudVmClusterFileSystemConfigurationDetailOutput() GetCloudVmClusterFileSystemConfigurationDetailOutput + ToGetCloudVmClusterFileSystemConfigurationDetailOutputWithContext(context.Context) GetCloudVmClusterFileSystemConfigurationDetailOutput +} + +type GetCloudVmClusterFileSystemConfigurationDetailArgs struct { + // The file system size to be allocated in GBs. + FileSystemSizeGb pulumi.IntInput `pulumi:"fileSystemSizeGb"` + // The mount point of file system. + MountPoint pulumi.StringInput `pulumi:"mountPoint"` +} + +func (GetCloudVmClusterFileSystemConfigurationDetailArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCloudVmClusterFileSystemConfigurationDetail)(nil)).Elem() +} + +func (i GetCloudVmClusterFileSystemConfigurationDetailArgs) ToGetCloudVmClusterFileSystemConfigurationDetailOutput() GetCloudVmClusterFileSystemConfigurationDetailOutput { + return i.ToGetCloudVmClusterFileSystemConfigurationDetailOutputWithContext(context.Background()) +} + +func (i GetCloudVmClusterFileSystemConfigurationDetailArgs) ToGetCloudVmClusterFileSystemConfigurationDetailOutputWithContext(ctx context.Context) GetCloudVmClusterFileSystemConfigurationDetailOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCloudVmClusterFileSystemConfigurationDetailOutput) +} + +// GetCloudVmClusterFileSystemConfigurationDetailArrayInput is an input type that accepts GetCloudVmClusterFileSystemConfigurationDetailArray and GetCloudVmClusterFileSystemConfigurationDetailArrayOutput values. +// You can construct a concrete instance of `GetCloudVmClusterFileSystemConfigurationDetailArrayInput` via: +// +// GetCloudVmClusterFileSystemConfigurationDetailArray{ GetCloudVmClusterFileSystemConfigurationDetailArgs{...} } +type GetCloudVmClusterFileSystemConfigurationDetailArrayInput interface { + pulumi.Input + + ToGetCloudVmClusterFileSystemConfigurationDetailArrayOutput() GetCloudVmClusterFileSystemConfigurationDetailArrayOutput + ToGetCloudVmClusterFileSystemConfigurationDetailArrayOutputWithContext(context.Context) GetCloudVmClusterFileSystemConfigurationDetailArrayOutput +} + +type GetCloudVmClusterFileSystemConfigurationDetailArray []GetCloudVmClusterFileSystemConfigurationDetailInput + +func (GetCloudVmClusterFileSystemConfigurationDetailArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCloudVmClusterFileSystemConfigurationDetail)(nil)).Elem() +} + +func (i GetCloudVmClusterFileSystemConfigurationDetailArray) ToGetCloudVmClusterFileSystemConfigurationDetailArrayOutput() GetCloudVmClusterFileSystemConfigurationDetailArrayOutput { + return i.ToGetCloudVmClusterFileSystemConfigurationDetailArrayOutputWithContext(context.Background()) +} + +func (i GetCloudVmClusterFileSystemConfigurationDetailArray) ToGetCloudVmClusterFileSystemConfigurationDetailArrayOutputWithContext(ctx context.Context) GetCloudVmClusterFileSystemConfigurationDetailArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCloudVmClusterFileSystemConfigurationDetailArrayOutput) +} + +type GetCloudVmClusterFileSystemConfigurationDetailOutput struct{ *pulumi.OutputState } + +func (GetCloudVmClusterFileSystemConfigurationDetailOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCloudVmClusterFileSystemConfigurationDetail)(nil)).Elem() +} + +func (o GetCloudVmClusterFileSystemConfigurationDetailOutput) ToGetCloudVmClusterFileSystemConfigurationDetailOutput() GetCloudVmClusterFileSystemConfigurationDetailOutput { + return o +} + +func (o GetCloudVmClusterFileSystemConfigurationDetailOutput) ToGetCloudVmClusterFileSystemConfigurationDetailOutputWithContext(ctx context.Context) GetCloudVmClusterFileSystemConfigurationDetailOutput { + return o +} + +// The file system size to be allocated in GBs. +func (o GetCloudVmClusterFileSystemConfigurationDetailOutput) FileSystemSizeGb() pulumi.IntOutput { + return o.ApplyT(func(v GetCloudVmClusterFileSystemConfigurationDetail) int { return v.FileSystemSizeGb }).(pulumi.IntOutput) +} + +// The mount point of file system. +func (o GetCloudVmClusterFileSystemConfigurationDetailOutput) MountPoint() pulumi.StringOutput { + return o.ApplyT(func(v GetCloudVmClusterFileSystemConfigurationDetail) string { return v.MountPoint }).(pulumi.StringOutput) +} + +type GetCloudVmClusterFileSystemConfigurationDetailArrayOutput struct{ *pulumi.OutputState } + +func (GetCloudVmClusterFileSystemConfigurationDetailArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCloudVmClusterFileSystemConfigurationDetail)(nil)).Elem() +} + +func (o GetCloudVmClusterFileSystemConfigurationDetailArrayOutput) ToGetCloudVmClusterFileSystemConfigurationDetailArrayOutput() GetCloudVmClusterFileSystemConfigurationDetailArrayOutput { + return o +} + +func (o GetCloudVmClusterFileSystemConfigurationDetailArrayOutput) ToGetCloudVmClusterFileSystemConfigurationDetailArrayOutputWithContext(ctx context.Context) GetCloudVmClusterFileSystemConfigurationDetailArrayOutput { + return o +} + +func (o GetCloudVmClusterFileSystemConfigurationDetailArrayOutput) Index(i pulumi.IntInput) GetCloudVmClusterFileSystemConfigurationDetailOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCloudVmClusterFileSystemConfigurationDetail { + return vs[0].([]GetCloudVmClusterFileSystemConfigurationDetail)[vs[1].(int)] + }).(GetCloudVmClusterFileSystemConfigurationDetailOutput) +} + type GetCloudVmClusterIormConfigCach struct { // An array of IORM settings for all the database in the Exadata DB system. DbPlans []GetCloudVmClusterIormConfigCachDbPlan `pulumi:"dbPlans"` @@ -50849,6 +51443,8 @@ type GetCloudVmClustersCloudVmCluster struct { DisplayName string `pulumi:"displayName"` // The domain name for the cloud VM cluster. Domain string `pulumi:"domain"` + // Details of the file system configuration of the VM cluster. + FileSystemConfigurationDetails []GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetail `pulumi:"fileSystemConfigurationDetails"` // Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` FreeformTags map[string]interface{} `pulumi:"freeformTags"` // A valid Oracle Grid Infrastructure (GI) software version. @@ -50959,6 +51555,8 @@ type GetCloudVmClustersCloudVmClusterArgs struct { DisplayName pulumi.StringInput `pulumi:"displayName"` // The domain name for the cloud VM cluster. Domain pulumi.StringInput `pulumi:"domain"` + // Details of the file system configuration of the VM cluster. + FileSystemConfigurationDetails GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailArrayInput `pulumi:"fileSystemConfigurationDetails"` // Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` FreeformTags pulumi.MapInput `pulumi:"freeformTags"` // A valid Oracle Grid Infrastructure (GI) software version. @@ -51161,6 +51759,13 @@ func (o GetCloudVmClustersCloudVmClusterOutput) Domain() pulumi.StringOutput { return o.ApplyT(func(v GetCloudVmClustersCloudVmCluster) string { return v.Domain }).(pulumi.StringOutput) } +// Details of the file system configuration of the VM cluster. +func (o GetCloudVmClustersCloudVmClusterOutput) FileSystemConfigurationDetails() GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailArrayOutput { + return o.ApplyT(func(v GetCloudVmClustersCloudVmCluster) []GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetail { + return v.FileSystemConfigurationDetails + }).(GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailArrayOutput) +} + // Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` func (o GetCloudVmClustersCloudVmClusterOutput) FreeformTags() pulumi.MapOutput { return o.ApplyT(func(v GetCloudVmClustersCloudVmCluster) map[string]interface{} { return v.FreeformTags }).(pulumi.MapOutput) @@ -51457,6 +52062,112 @@ func (o GetCloudVmClustersCloudVmClusterDataCollectionOptionArrayOutput) Index(i }).(GetCloudVmClustersCloudVmClusterDataCollectionOptionOutput) } +type GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetail struct { + // The file system size to be allocated in GBs. + FileSystemSizeGb int `pulumi:"fileSystemSizeGb"` + // The mount point of file system. + MountPoint string `pulumi:"mountPoint"` +} + +// GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailInput is an input type that accepts GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailArgs and GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailOutput values. +// You can construct a concrete instance of `GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailInput` via: +// +// GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailArgs{...} +type GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailInput interface { + pulumi.Input + + ToGetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailOutput() GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailOutput + ToGetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailOutputWithContext(context.Context) GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailOutput +} + +type GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailArgs struct { + // The file system size to be allocated in GBs. + FileSystemSizeGb pulumi.IntInput `pulumi:"fileSystemSizeGb"` + // The mount point of file system. + MountPoint pulumi.StringInput `pulumi:"mountPoint"` +} + +func (GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetail)(nil)).Elem() +} + +func (i GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailArgs) ToGetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailOutput() GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailOutput { + return i.ToGetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailOutputWithContext(context.Background()) +} + +func (i GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailArgs) ToGetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailOutputWithContext(ctx context.Context) GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailOutput) +} + +// GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailArrayInput is an input type that accepts GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailArray and GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailArrayOutput values. +// You can construct a concrete instance of `GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailArrayInput` via: +// +// GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailArray{ GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailArgs{...} } +type GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailArrayInput interface { + pulumi.Input + + ToGetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailArrayOutput() GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailArrayOutput + ToGetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailArrayOutputWithContext(context.Context) GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailArrayOutput +} + +type GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailArray []GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailInput + +func (GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetail)(nil)).Elem() +} + +func (i GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailArray) ToGetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailArrayOutput() GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailArrayOutput { + return i.ToGetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailArrayOutputWithContext(context.Background()) +} + +func (i GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailArray) ToGetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailArrayOutputWithContext(ctx context.Context) GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailArrayOutput) +} + +type GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailOutput struct{ *pulumi.OutputState } + +func (GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetail)(nil)).Elem() +} + +func (o GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailOutput) ToGetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailOutput() GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailOutput { + return o +} + +func (o GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailOutput) ToGetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailOutputWithContext(ctx context.Context) GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailOutput { + return o +} + +// The file system size to be allocated in GBs. +func (o GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailOutput) FileSystemSizeGb() pulumi.IntOutput { + return o.ApplyT(func(v GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetail) int { return v.FileSystemSizeGb }).(pulumi.IntOutput) +} + +// The mount point of file system. +func (o GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailOutput) MountPoint() pulumi.StringOutput { + return o.ApplyT(func(v GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetail) string { return v.MountPoint }).(pulumi.StringOutput) +} + +type GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailArrayOutput struct{ *pulumi.OutputState } + +func (GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetail)(nil)).Elem() +} + +func (o GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailArrayOutput) ToGetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailArrayOutput() GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailArrayOutput { + return o +} + +func (o GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailArrayOutput) ToGetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailArrayOutputWithContext(ctx context.Context) GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailArrayOutput { + return o +} + +func (o GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailArrayOutput) Index(i pulumi.IntInput) GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetail { + return vs[0].([]GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetail)[vs[1].(int)] + }).(GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailOutput) +} + type GetCloudVmClustersCloudVmClusterIormConfigCach struct { DbPlans []GetCloudVmClustersCloudVmClusterIormConfigCachDbPlan `pulumi:"dbPlans"` // Additional information about the current lifecycle state. @@ -75157,824 +75868,6 @@ func (o GetMaintenanceRunsMaintenanceRunEstimatedPatchingTimeArrayOutput) Index( }).(GetMaintenanceRunsMaintenanceRunEstimatedPatchingTimeOutput) } -type GetManagedPreferredCredentialsFilter struct { - Name string `pulumi:"name"` - Regex *bool `pulumi:"regex"` - Values []string `pulumi:"values"` -} - -// GetManagedPreferredCredentialsFilterInput is an input type that accepts GetManagedPreferredCredentialsFilterArgs and GetManagedPreferredCredentialsFilterOutput values. -// You can construct a concrete instance of `GetManagedPreferredCredentialsFilterInput` via: -// -// GetManagedPreferredCredentialsFilterArgs{...} -type GetManagedPreferredCredentialsFilterInput interface { - pulumi.Input - - ToGetManagedPreferredCredentialsFilterOutput() GetManagedPreferredCredentialsFilterOutput - ToGetManagedPreferredCredentialsFilterOutputWithContext(context.Context) GetManagedPreferredCredentialsFilterOutput -} - -type GetManagedPreferredCredentialsFilterArgs struct { - Name pulumi.StringInput `pulumi:"name"` - Regex pulumi.BoolPtrInput `pulumi:"regex"` - Values pulumi.StringArrayInput `pulumi:"values"` -} - -func (GetManagedPreferredCredentialsFilterArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetManagedPreferredCredentialsFilter)(nil)).Elem() -} - -func (i GetManagedPreferredCredentialsFilterArgs) ToGetManagedPreferredCredentialsFilterOutput() GetManagedPreferredCredentialsFilterOutput { - return i.ToGetManagedPreferredCredentialsFilterOutputWithContext(context.Background()) -} - -func (i GetManagedPreferredCredentialsFilterArgs) ToGetManagedPreferredCredentialsFilterOutputWithContext(ctx context.Context) GetManagedPreferredCredentialsFilterOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetManagedPreferredCredentialsFilterOutput) -} - -// GetManagedPreferredCredentialsFilterArrayInput is an input type that accepts GetManagedPreferredCredentialsFilterArray and GetManagedPreferredCredentialsFilterArrayOutput values. -// You can construct a concrete instance of `GetManagedPreferredCredentialsFilterArrayInput` via: -// -// GetManagedPreferredCredentialsFilterArray{ GetManagedPreferredCredentialsFilterArgs{...} } -type GetManagedPreferredCredentialsFilterArrayInput interface { - pulumi.Input - - ToGetManagedPreferredCredentialsFilterArrayOutput() GetManagedPreferredCredentialsFilterArrayOutput - ToGetManagedPreferredCredentialsFilterArrayOutputWithContext(context.Context) GetManagedPreferredCredentialsFilterArrayOutput -} - -type GetManagedPreferredCredentialsFilterArray []GetManagedPreferredCredentialsFilterInput - -func (GetManagedPreferredCredentialsFilterArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetManagedPreferredCredentialsFilter)(nil)).Elem() -} - -func (i GetManagedPreferredCredentialsFilterArray) ToGetManagedPreferredCredentialsFilterArrayOutput() GetManagedPreferredCredentialsFilterArrayOutput { - return i.ToGetManagedPreferredCredentialsFilterArrayOutputWithContext(context.Background()) -} - -func (i GetManagedPreferredCredentialsFilterArray) ToGetManagedPreferredCredentialsFilterArrayOutputWithContext(ctx context.Context) GetManagedPreferredCredentialsFilterArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetManagedPreferredCredentialsFilterArrayOutput) -} - -type GetManagedPreferredCredentialsFilterOutput struct{ *pulumi.OutputState } - -func (GetManagedPreferredCredentialsFilterOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetManagedPreferredCredentialsFilter)(nil)).Elem() -} - -func (o GetManagedPreferredCredentialsFilterOutput) ToGetManagedPreferredCredentialsFilterOutput() GetManagedPreferredCredentialsFilterOutput { - return o -} - -func (o GetManagedPreferredCredentialsFilterOutput) ToGetManagedPreferredCredentialsFilterOutputWithContext(ctx context.Context) GetManagedPreferredCredentialsFilterOutput { - return o -} - -func (o GetManagedPreferredCredentialsFilterOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetManagedPreferredCredentialsFilter) string { return v.Name }).(pulumi.StringOutput) -} - -func (o GetManagedPreferredCredentialsFilterOutput) Regex() pulumi.BoolPtrOutput { - return o.ApplyT(func(v GetManagedPreferredCredentialsFilter) *bool { return v.Regex }).(pulumi.BoolPtrOutput) -} - -func (o GetManagedPreferredCredentialsFilterOutput) Values() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetManagedPreferredCredentialsFilter) []string { return v.Values }).(pulumi.StringArrayOutput) -} - -type GetManagedPreferredCredentialsFilterArrayOutput struct{ *pulumi.OutputState } - -func (GetManagedPreferredCredentialsFilterArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetManagedPreferredCredentialsFilter)(nil)).Elem() -} - -func (o GetManagedPreferredCredentialsFilterArrayOutput) ToGetManagedPreferredCredentialsFilterArrayOutput() GetManagedPreferredCredentialsFilterArrayOutput { - return o -} - -func (o GetManagedPreferredCredentialsFilterArrayOutput) ToGetManagedPreferredCredentialsFilterArrayOutputWithContext(ctx context.Context) GetManagedPreferredCredentialsFilterArrayOutput { - return o -} - -func (o GetManagedPreferredCredentialsFilterArrayOutput) Index(i pulumi.IntInput) GetManagedPreferredCredentialsFilterOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetManagedPreferredCredentialsFilter { - return vs[0].([]GetManagedPreferredCredentialsFilter)[vs[1].(int)] - }).(GetManagedPreferredCredentialsFilterOutput) -} - -type GetManagedPreferredCredentialsPreferredCredentialCollection struct { - Items []GetManagedPreferredCredentialsPreferredCredentialCollectionItem `pulumi:"items"` -} - -// GetManagedPreferredCredentialsPreferredCredentialCollectionInput is an input type that accepts GetManagedPreferredCredentialsPreferredCredentialCollectionArgs and GetManagedPreferredCredentialsPreferredCredentialCollectionOutput values. -// You can construct a concrete instance of `GetManagedPreferredCredentialsPreferredCredentialCollectionInput` via: -// -// GetManagedPreferredCredentialsPreferredCredentialCollectionArgs{...} -type GetManagedPreferredCredentialsPreferredCredentialCollectionInput interface { - pulumi.Input - - ToGetManagedPreferredCredentialsPreferredCredentialCollectionOutput() GetManagedPreferredCredentialsPreferredCredentialCollectionOutput - ToGetManagedPreferredCredentialsPreferredCredentialCollectionOutputWithContext(context.Context) GetManagedPreferredCredentialsPreferredCredentialCollectionOutput -} - -type GetManagedPreferredCredentialsPreferredCredentialCollectionArgs struct { - Items GetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayInput `pulumi:"items"` -} - -func (GetManagedPreferredCredentialsPreferredCredentialCollectionArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetManagedPreferredCredentialsPreferredCredentialCollection)(nil)).Elem() -} - -func (i GetManagedPreferredCredentialsPreferredCredentialCollectionArgs) ToGetManagedPreferredCredentialsPreferredCredentialCollectionOutput() GetManagedPreferredCredentialsPreferredCredentialCollectionOutput { - return i.ToGetManagedPreferredCredentialsPreferredCredentialCollectionOutputWithContext(context.Background()) -} - -func (i GetManagedPreferredCredentialsPreferredCredentialCollectionArgs) ToGetManagedPreferredCredentialsPreferredCredentialCollectionOutputWithContext(ctx context.Context) GetManagedPreferredCredentialsPreferredCredentialCollectionOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetManagedPreferredCredentialsPreferredCredentialCollectionOutput) -} - -// GetManagedPreferredCredentialsPreferredCredentialCollectionArrayInput is an input type that accepts GetManagedPreferredCredentialsPreferredCredentialCollectionArray and GetManagedPreferredCredentialsPreferredCredentialCollectionArrayOutput values. -// You can construct a concrete instance of `GetManagedPreferredCredentialsPreferredCredentialCollectionArrayInput` via: -// -// GetManagedPreferredCredentialsPreferredCredentialCollectionArray{ GetManagedPreferredCredentialsPreferredCredentialCollectionArgs{...} } -type GetManagedPreferredCredentialsPreferredCredentialCollectionArrayInput interface { - pulumi.Input - - ToGetManagedPreferredCredentialsPreferredCredentialCollectionArrayOutput() GetManagedPreferredCredentialsPreferredCredentialCollectionArrayOutput - ToGetManagedPreferredCredentialsPreferredCredentialCollectionArrayOutputWithContext(context.Context) GetManagedPreferredCredentialsPreferredCredentialCollectionArrayOutput -} - -type GetManagedPreferredCredentialsPreferredCredentialCollectionArray []GetManagedPreferredCredentialsPreferredCredentialCollectionInput - -func (GetManagedPreferredCredentialsPreferredCredentialCollectionArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetManagedPreferredCredentialsPreferredCredentialCollection)(nil)).Elem() -} - -func (i GetManagedPreferredCredentialsPreferredCredentialCollectionArray) ToGetManagedPreferredCredentialsPreferredCredentialCollectionArrayOutput() GetManagedPreferredCredentialsPreferredCredentialCollectionArrayOutput { - return i.ToGetManagedPreferredCredentialsPreferredCredentialCollectionArrayOutputWithContext(context.Background()) -} - -func (i GetManagedPreferredCredentialsPreferredCredentialCollectionArray) ToGetManagedPreferredCredentialsPreferredCredentialCollectionArrayOutputWithContext(ctx context.Context) GetManagedPreferredCredentialsPreferredCredentialCollectionArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetManagedPreferredCredentialsPreferredCredentialCollectionArrayOutput) -} - -type GetManagedPreferredCredentialsPreferredCredentialCollectionOutput struct{ *pulumi.OutputState } - -func (GetManagedPreferredCredentialsPreferredCredentialCollectionOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetManagedPreferredCredentialsPreferredCredentialCollection)(nil)).Elem() -} - -func (o GetManagedPreferredCredentialsPreferredCredentialCollectionOutput) ToGetManagedPreferredCredentialsPreferredCredentialCollectionOutput() GetManagedPreferredCredentialsPreferredCredentialCollectionOutput { - return o -} - -func (o GetManagedPreferredCredentialsPreferredCredentialCollectionOutput) ToGetManagedPreferredCredentialsPreferredCredentialCollectionOutputWithContext(ctx context.Context) GetManagedPreferredCredentialsPreferredCredentialCollectionOutput { - return o -} - -func (o GetManagedPreferredCredentialsPreferredCredentialCollectionOutput) Items() GetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayOutput { - return o.ApplyT(func(v GetManagedPreferredCredentialsPreferredCredentialCollection) []GetManagedPreferredCredentialsPreferredCredentialCollectionItem { - return v.Items - }).(GetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayOutput) -} - -type GetManagedPreferredCredentialsPreferredCredentialCollectionArrayOutput struct{ *pulumi.OutputState } - -func (GetManagedPreferredCredentialsPreferredCredentialCollectionArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetManagedPreferredCredentialsPreferredCredentialCollection)(nil)).Elem() -} - -func (o GetManagedPreferredCredentialsPreferredCredentialCollectionArrayOutput) ToGetManagedPreferredCredentialsPreferredCredentialCollectionArrayOutput() GetManagedPreferredCredentialsPreferredCredentialCollectionArrayOutput { - return o -} - -func (o GetManagedPreferredCredentialsPreferredCredentialCollectionArrayOutput) ToGetManagedPreferredCredentialsPreferredCredentialCollectionArrayOutputWithContext(ctx context.Context) GetManagedPreferredCredentialsPreferredCredentialCollectionArrayOutput { - return o -} - -func (o GetManagedPreferredCredentialsPreferredCredentialCollectionArrayOutput) Index(i pulumi.IntInput) GetManagedPreferredCredentialsPreferredCredentialCollectionOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetManagedPreferredCredentialsPreferredCredentialCollection { - return vs[0].([]GetManagedPreferredCredentialsPreferredCredentialCollection)[vs[1].(int)] - }).(GetManagedPreferredCredentialsPreferredCredentialCollectionOutput) -} - -type GetManagedPreferredCredentialsPreferredCredentialCollectionItem struct { - // The name of the preferred credential. - CredentialName string `pulumi:"credentialName"` - // Indicates whether the preferred credential is accessible. - IsAccessible bool `pulumi:"isAccessible"` - // The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Named Credential that contains the database user password metadata. - NamedCredentialId string `pulumi:"namedCredentialId"` - // The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Vault service secret that contains the database user password. - PasswordSecretId string `pulumi:"passwordSecretId"` - // The role of the database user. - Role string `pulumi:"role"` - // The status of the preferred credential. - Status string `pulumi:"status"` - // The type of preferred credential. Only 'BASIC' is supported currently. - Type string `pulumi:"type"` - // The user name used to connect to the database. - UserName string `pulumi:"userName"` -} - -// GetManagedPreferredCredentialsPreferredCredentialCollectionItemInput is an input type that accepts GetManagedPreferredCredentialsPreferredCredentialCollectionItemArgs and GetManagedPreferredCredentialsPreferredCredentialCollectionItemOutput values. -// You can construct a concrete instance of `GetManagedPreferredCredentialsPreferredCredentialCollectionItemInput` via: -// -// GetManagedPreferredCredentialsPreferredCredentialCollectionItemArgs{...} -type GetManagedPreferredCredentialsPreferredCredentialCollectionItemInput interface { - pulumi.Input - - ToGetManagedPreferredCredentialsPreferredCredentialCollectionItemOutput() GetManagedPreferredCredentialsPreferredCredentialCollectionItemOutput - ToGetManagedPreferredCredentialsPreferredCredentialCollectionItemOutputWithContext(context.Context) GetManagedPreferredCredentialsPreferredCredentialCollectionItemOutput -} - -type GetManagedPreferredCredentialsPreferredCredentialCollectionItemArgs struct { - // The name of the preferred credential. - CredentialName pulumi.StringInput `pulumi:"credentialName"` - // Indicates whether the preferred credential is accessible. - IsAccessible pulumi.BoolInput `pulumi:"isAccessible"` - // The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Named Credential that contains the database user password metadata. - NamedCredentialId pulumi.StringInput `pulumi:"namedCredentialId"` - // The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Vault service secret that contains the database user password. - PasswordSecretId pulumi.StringInput `pulumi:"passwordSecretId"` - // The role of the database user. - Role pulumi.StringInput `pulumi:"role"` - // The status of the preferred credential. - Status pulumi.StringInput `pulumi:"status"` - // The type of preferred credential. Only 'BASIC' is supported currently. - Type pulumi.StringInput `pulumi:"type"` - // The user name used to connect to the database. - UserName pulumi.StringInput `pulumi:"userName"` -} - -func (GetManagedPreferredCredentialsPreferredCredentialCollectionItemArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetManagedPreferredCredentialsPreferredCredentialCollectionItem)(nil)).Elem() -} - -func (i GetManagedPreferredCredentialsPreferredCredentialCollectionItemArgs) ToGetManagedPreferredCredentialsPreferredCredentialCollectionItemOutput() GetManagedPreferredCredentialsPreferredCredentialCollectionItemOutput { - return i.ToGetManagedPreferredCredentialsPreferredCredentialCollectionItemOutputWithContext(context.Background()) -} - -func (i GetManagedPreferredCredentialsPreferredCredentialCollectionItemArgs) ToGetManagedPreferredCredentialsPreferredCredentialCollectionItemOutputWithContext(ctx context.Context) GetManagedPreferredCredentialsPreferredCredentialCollectionItemOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetManagedPreferredCredentialsPreferredCredentialCollectionItemOutput) -} - -// GetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayInput is an input type that accepts GetManagedPreferredCredentialsPreferredCredentialCollectionItemArray and GetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayOutput values. -// You can construct a concrete instance of `GetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayInput` via: -// -// GetManagedPreferredCredentialsPreferredCredentialCollectionItemArray{ GetManagedPreferredCredentialsPreferredCredentialCollectionItemArgs{...} } -type GetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayInput interface { - pulumi.Input - - ToGetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayOutput() GetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayOutput - ToGetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayOutputWithContext(context.Context) GetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayOutput -} - -type GetManagedPreferredCredentialsPreferredCredentialCollectionItemArray []GetManagedPreferredCredentialsPreferredCredentialCollectionItemInput - -func (GetManagedPreferredCredentialsPreferredCredentialCollectionItemArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetManagedPreferredCredentialsPreferredCredentialCollectionItem)(nil)).Elem() -} - -func (i GetManagedPreferredCredentialsPreferredCredentialCollectionItemArray) ToGetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayOutput() GetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayOutput { - return i.ToGetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayOutputWithContext(context.Background()) -} - -func (i GetManagedPreferredCredentialsPreferredCredentialCollectionItemArray) ToGetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayOutputWithContext(ctx context.Context) GetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayOutput) -} - -type GetManagedPreferredCredentialsPreferredCredentialCollectionItemOutput struct{ *pulumi.OutputState } - -func (GetManagedPreferredCredentialsPreferredCredentialCollectionItemOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetManagedPreferredCredentialsPreferredCredentialCollectionItem)(nil)).Elem() -} - -func (o GetManagedPreferredCredentialsPreferredCredentialCollectionItemOutput) ToGetManagedPreferredCredentialsPreferredCredentialCollectionItemOutput() GetManagedPreferredCredentialsPreferredCredentialCollectionItemOutput { - return o -} - -func (o GetManagedPreferredCredentialsPreferredCredentialCollectionItemOutput) ToGetManagedPreferredCredentialsPreferredCredentialCollectionItemOutputWithContext(ctx context.Context) GetManagedPreferredCredentialsPreferredCredentialCollectionItemOutput { - return o -} - -// The name of the preferred credential. -func (o GetManagedPreferredCredentialsPreferredCredentialCollectionItemOutput) CredentialName() pulumi.StringOutput { - return o.ApplyT(func(v GetManagedPreferredCredentialsPreferredCredentialCollectionItem) string { - return v.CredentialName - }).(pulumi.StringOutput) -} - -// Indicates whether the preferred credential is accessible. -func (o GetManagedPreferredCredentialsPreferredCredentialCollectionItemOutput) IsAccessible() pulumi.BoolOutput { - return o.ApplyT(func(v GetManagedPreferredCredentialsPreferredCredentialCollectionItem) bool { return v.IsAccessible }).(pulumi.BoolOutput) -} - -// The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Named Credential that contains the database user password metadata. -func (o GetManagedPreferredCredentialsPreferredCredentialCollectionItemOutput) NamedCredentialId() pulumi.StringOutput { - return o.ApplyT(func(v GetManagedPreferredCredentialsPreferredCredentialCollectionItem) string { - return v.NamedCredentialId - }).(pulumi.StringOutput) -} - -// The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Vault service secret that contains the database user password. -func (o GetManagedPreferredCredentialsPreferredCredentialCollectionItemOutput) PasswordSecretId() pulumi.StringOutput { - return o.ApplyT(func(v GetManagedPreferredCredentialsPreferredCredentialCollectionItem) string { - return v.PasswordSecretId - }).(pulumi.StringOutput) -} - -// The role of the database user. -func (o GetManagedPreferredCredentialsPreferredCredentialCollectionItemOutput) Role() pulumi.StringOutput { - return o.ApplyT(func(v GetManagedPreferredCredentialsPreferredCredentialCollectionItem) string { return v.Role }).(pulumi.StringOutput) -} - -// The status of the preferred credential. -func (o GetManagedPreferredCredentialsPreferredCredentialCollectionItemOutput) Status() pulumi.StringOutput { - return o.ApplyT(func(v GetManagedPreferredCredentialsPreferredCredentialCollectionItem) string { return v.Status }).(pulumi.StringOutput) -} - -// The type of preferred credential. Only 'BASIC' is supported currently. -func (o GetManagedPreferredCredentialsPreferredCredentialCollectionItemOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v GetManagedPreferredCredentialsPreferredCredentialCollectionItem) string { return v.Type }).(pulumi.StringOutput) -} - -// The user name used to connect to the database. -func (o GetManagedPreferredCredentialsPreferredCredentialCollectionItemOutput) UserName() pulumi.StringOutput { - return o.ApplyT(func(v GetManagedPreferredCredentialsPreferredCredentialCollectionItem) string { return v.UserName }).(pulumi.StringOutput) -} - -type GetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayOutput struct{ *pulumi.OutputState } - -func (GetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetManagedPreferredCredentialsPreferredCredentialCollectionItem)(nil)).Elem() -} - -func (o GetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayOutput) ToGetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayOutput() GetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayOutput { - return o -} - -func (o GetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayOutput) ToGetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayOutputWithContext(ctx context.Context) GetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayOutput { - return o -} - -func (o GetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayOutput) Index(i pulumi.IntInput) GetManagedPreferredCredentialsPreferredCredentialCollectionItemOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetManagedPreferredCredentialsPreferredCredentialCollectionItem { - return vs[0].([]GetManagedPreferredCredentialsPreferredCredentialCollectionItem)[vs[1].(int)] - }).(GetManagedPreferredCredentialsPreferredCredentialCollectionItemOutput) -} - -type GetOneoffPatchesFilter struct { - Name string `pulumi:"name"` - Regex *bool `pulumi:"regex"` - Values []string `pulumi:"values"` -} - -// GetOneoffPatchesFilterInput is an input type that accepts GetOneoffPatchesFilterArgs and GetOneoffPatchesFilterOutput values. -// You can construct a concrete instance of `GetOneoffPatchesFilterInput` via: -// -// GetOneoffPatchesFilterArgs{...} -type GetOneoffPatchesFilterInput interface { - pulumi.Input - - ToGetOneoffPatchesFilterOutput() GetOneoffPatchesFilterOutput - ToGetOneoffPatchesFilterOutputWithContext(context.Context) GetOneoffPatchesFilterOutput -} - -type GetOneoffPatchesFilterArgs struct { - Name pulumi.StringInput `pulumi:"name"` - Regex pulumi.BoolPtrInput `pulumi:"regex"` - Values pulumi.StringArrayInput `pulumi:"values"` -} - -func (GetOneoffPatchesFilterArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetOneoffPatchesFilter)(nil)).Elem() -} - -func (i GetOneoffPatchesFilterArgs) ToGetOneoffPatchesFilterOutput() GetOneoffPatchesFilterOutput { - return i.ToGetOneoffPatchesFilterOutputWithContext(context.Background()) -} - -func (i GetOneoffPatchesFilterArgs) ToGetOneoffPatchesFilterOutputWithContext(ctx context.Context) GetOneoffPatchesFilterOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetOneoffPatchesFilterOutput) -} - -// GetOneoffPatchesFilterArrayInput is an input type that accepts GetOneoffPatchesFilterArray and GetOneoffPatchesFilterArrayOutput values. -// You can construct a concrete instance of `GetOneoffPatchesFilterArrayInput` via: -// -// GetOneoffPatchesFilterArray{ GetOneoffPatchesFilterArgs{...} } -type GetOneoffPatchesFilterArrayInput interface { - pulumi.Input - - ToGetOneoffPatchesFilterArrayOutput() GetOneoffPatchesFilterArrayOutput - ToGetOneoffPatchesFilterArrayOutputWithContext(context.Context) GetOneoffPatchesFilterArrayOutput -} - -type GetOneoffPatchesFilterArray []GetOneoffPatchesFilterInput - -func (GetOneoffPatchesFilterArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetOneoffPatchesFilter)(nil)).Elem() -} - -func (i GetOneoffPatchesFilterArray) ToGetOneoffPatchesFilterArrayOutput() GetOneoffPatchesFilterArrayOutput { - return i.ToGetOneoffPatchesFilterArrayOutputWithContext(context.Background()) -} - -func (i GetOneoffPatchesFilterArray) ToGetOneoffPatchesFilterArrayOutputWithContext(ctx context.Context) GetOneoffPatchesFilterArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetOneoffPatchesFilterArrayOutput) -} - -type GetOneoffPatchesFilterOutput struct{ *pulumi.OutputState } - -func (GetOneoffPatchesFilterOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetOneoffPatchesFilter)(nil)).Elem() -} - -func (o GetOneoffPatchesFilterOutput) ToGetOneoffPatchesFilterOutput() GetOneoffPatchesFilterOutput { - return o -} - -func (o GetOneoffPatchesFilterOutput) ToGetOneoffPatchesFilterOutputWithContext(ctx context.Context) GetOneoffPatchesFilterOutput { - return o -} - -func (o GetOneoffPatchesFilterOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetOneoffPatchesFilter) string { return v.Name }).(pulumi.StringOutput) -} - -func (o GetOneoffPatchesFilterOutput) Regex() pulumi.BoolPtrOutput { - return o.ApplyT(func(v GetOneoffPatchesFilter) *bool { return v.Regex }).(pulumi.BoolPtrOutput) -} - -func (o GetOneoffPatchesFilterOutput) Values() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetOneoffPatchesFilter) []string { return v.Values }).(pulumi.StringArrayOutput) -} - -type GetOneoffPatchesFilterArrayOutput struct{ *pulumi.OutputState } - -func (GetOneoffPatchesFilterArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetOneoffPatchesFilter)(nil)).Elem() -} - -func (o GetOneoffPatchesFilterArrayOutput) ToGetOneoffPatchesFilterArrayOutput() GetOneoffPatchesFilterArrayOutput { - return o -} - -func (o GetOneoffPatchesFilterArrayOutput) ToGetOneoffPatchesFilterArrayOutputWithContext(ctx context.Context) GetOneoffPatchesFilterArrayOutput { - return o -} - -func (o GetOneoffPatchesFilterArrayOutput) Index(i pulumi.IntInput) GetOneoffPatchesFilterOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetOneoffPatchesFilter { - return vs[0].([]GetOneoffPatchesFilter)[vs[1].(int)] - }).(GetOneoffPatchesFilterOutput) -} - -type GetOneoffPatchesOneoffPatch struct { - // (Updatable) The compartment [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm). - CompartmentId string `pulumi:"compartmentId"` - // A valid Oracle Database version. To get a list of supported versions, use the [ListDbVersions](https://docs.cloud.oracle.com/iaas/api/#/en/database/latest/DbVersionSummary/ListDbVersions) operation. - DbVersion string `pulumi:"dbVersion"` - // Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). - DefinedTags map[string]interface{} `pulumi:"definedTags"` - // A filter to return only resources that match the entire display name given. The match is not case sensitive. - DisplayName string `pulumi:"displayName"` - DownloadOneoffPatchTrigger int `pulumi:"downloadOneoffPatchTrigger"` - // Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` - FreeformTags map[string]interface{} `pulumi:"freeformTags"` - // The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the one-off patch. - Id string `pulumi:"id"` - // Detailed message for the lifecycle state. - LifecycleDetails string `pulumi:"lifecycleDetails"` - // List of one-off patches for Database Homes. - OneOffPatches []string `pulumi:"oneOffPatches"` - // The PSU or PBP or Release Updates. To get a list of supported versions, use the [ListDbVersions](https://docs.cloud.oracle.com/iaas/api/#/en/database/latest/DbVersionSummary/ListDbVersions) operation. - ReleaseUpdate string `pulumi:"releaseUpdate"` - // SHA-256 checksum of the one-off patch. - Sha256sum string `pulumi:"sha256sum"` - // The size of one-off patch in kilobytes. - SizeInKbs float64 `pulumi:"sizeInKbs"` - // A filter to return only resources that match the given lifecycle state exactly - State string `pulumi:"state"` - // The date and time one-off patch was created. - TimeCreated string `pulumi:"timeCreated"` - // The date and time until which the one-off patch will be available for download. - TimeOfExpiration string `pulumi:"timeOfExpiration"` - // The date and time one-off patch was updated. - TimeUpdated string `pulumi:"timeUpdated"` -} - -// GetOneoffPatchesOneoffPatchInput is an input type that accepts GetOneoffPatchesOneoffPatchArgs and GetOneoffPatchesOneoffPatchOutput values. -// You can construct a concrete instance of `GetOneoffPatchesOneoffPatchInput` via: -// -// GetOneoffPatchesOneoffPatchArgs{...} -type GetOneoffPatchesOneoffPatchInput interface { - pulumi.Input - - ToGetOneoffPatchesOneoffPatchOutput() GetOneoffPatchesOneoffPatchOutput - ToGetOneoffPatchesOneoffPatchOutputWithContext(context.Context) GetOneoffPatchesOneoffPatchOutput -} - -type GetOneoffPatchesOneoffPatchArgs struct { - // (Updatable) The compartment [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm). - CompartmentId pulumi.StringInput `pulumi:"compartmentId"` - // A valid Oracle Database version. To get a list of supported versions, use the [ListDbVersions](https://docs.cloud.oracle.com/iaas/api/#/en/database/latest/DbVersionSummary/ListDbVersions) operation. - DbVersion pulumi.StringInput `pulumi:"dbVersion"` - // Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). - DefinedTags pulumi.MapInput `pulumi:"definedTags"` - // A filter to return only resources that match the entire display name given. The match is not case sensitive. - DisplayName pulumi.StringInput `pulumi:"displayName"` - DownloadOneoffPatchTrigger pulumi.IntInput `pulumi:"downloadOneoffPatchTrigger"` - // Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` - FreeformTags pulumi.MapInput `pulumi:"freeformTags"` - // The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the one-off patch. - Id pulumi.StringInput `pulumi:"id"` - // Detailed message for the lifecycle state. - LifecycleDetails pulumi.StringInput `pulumi:"lifecycleDetails"` - // List of one-off patches for Database Homes. - OneOffPatches pulumi.StringArrayInput `pulumi:"oneOffPatches"` - // The PSU or PBP or Release Updates. To get a list of supported versions, use the [ListDbVersions](https://docs.cloud.oracle.com/iaas/api/#/en/database/latest/DbVersionSummary/ListDbVersions) operation. - ReleaseUpdate pulumi.StringInput `pulumi:"releaseUpdate"` - // SHA-256 checksum of the one-off patch. - Sha256sum pulumi.StringInput `pulumi:"sha256sum"` - // The size of one-off patch in kilobytes. - SizeInKbs pulumi.Float64Input `pulumi:"sizeInKbs"` - // A filter to return only resources that match the given lifecycle state exactly - State pulumi.StringInput `pulumi:"state"` - // The date and time one-off patch was created. - TimeCreated pulumi.StringInput `pulumi:"timeCreated"` - // The date and time until which the one-off patch will be available for download. - TimeOfExpiration pulumi.StringInput `pulumi:"timeOfExpiration"` - // The date and time one-off patch was updated. - TimeUpdated pulumi.StringInput `pulumi:"timeUpdated"` -} - -func (GetOneoffPatchesOneoffPatchArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetOneoffPatchesOneoffPatch)(nil)).Elem() -} - -func (i GetOneoffPatchesOneoffPatchArgs) ToGetOneoffPatchesOneoffPatchOutput() GetOneoffPatchesOneoffPatchOutput { - return i.ToGetOneoffPatchesOneoffPatchOutputWithContext(context.Background()) -} - -func (i GetOneoffPatchesOneoffPatchArgs) ToGetOneoffPatchesOneoffPatchOutputWithContext(ctx context.Context) GetOneoffPatchesOneoffPatchOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetOneoffPatchesOneoffPatchOutput) -} - -// GetOneoffPatchesOneoffPatchArrayInput is an input type that accepts GetOneoffPatchesOneoffPatchArray and GetOneoffPatchesOneoffPatchArrayOutput values. -// You can construct a concrete instance of `GetOneoffPatchesOneoffPatchArrayInput` via: -// -// GetOneoffPatchesOneoffPatchArray{ GetOneoffPatchesOneoffPatchArgs{...} } -type GetOneoffPatchesOneoffPatchArrayInput interface { - pulumi.Input - - ToGetOneoffPatchesOneoffPatchArrayOutput() GetOneoffPatchesOneoffPatchArrayOutput - ToGetOneoffPatchesOneoffPatchArrayOutputWithContext(context.Context) GetOneoffPatchesOneoffPatchArrayOutput -} - -type GetOneoffPatchesOneoffPatchArray []GetOneoffPatchesOneoffPatchInput - -func (GetOneoffPatchesOneoffPatchArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetOneoffPatchesOneoffPatch)(nil)).Elem() -} - -func (i GetOneoffPatchesOneoffPatchArray) ToGetOneoffPatchesOneoffPatchArrayOutput() GetOneoffPatchesOneoffPatchArrayOutput { - return i.ToGetOneoffPatchesOneoffPatchArrayOutputWithContext(context.Background()) -} - -func (i GetOneoffPatchesOneoffPatchArray) ToGetOneoffPatchesOneoffPatchArrayOutputWithContext(ctx context.Context) GetOneoffPatchesOneoffPatchArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetOneoffPatchesOneoffPatchArrayOutput) -} - -type GetOneoffPatchesOneoffPatchOutput struct{ *pulumi.OutputState } - -func (GetOneoffPatchesOneoffPatchOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetOneoffPatchesOneoffPatch)(nil)).Elem() -} - -func (o GetOneoffPatchesOneoffPatchOutput) ToGetOneoffPatchesOneoffPatchOutput() GetOneoffPatchesOneoffPatchOutput { - return o -} - -func (o GetOneoffPatchesOneoffPatchOutput) ToGetOneoffPatchesOneoffPatchOutputWithContext(ctx context.Context) GetOneoffPatchesOneoffPatchOutput { - return o -} - -// (Updatable) The compartment [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm). -func (o GetOneoffPatchesOneoffPatchOutput) CompartmentId() pulumi.StringOutput { - return o.ApplyT(func(v GetOneoffPatchesOneoffPatch) string { return v.CompartmentId }).(pulumi.StringOutput) -} - -// A valid Oracle Database version. To get a list of supported versions, use the [ListDbVersions](https://docs.cloud.oracle.com/iaas/api/#/en/database/latest/DbVersionSummary/ListDbVersions) operation. -func (o GetOneoffPatchesOneoffPatchOutput) DbVersion() pulumi.StringOutput { - return o.ApplyT(func(v GetOneoffPatchesOneoffPatch) string { return v.DbVersion }).(pulumi.StringOutput) -} - -// Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). -func (o GetOneoffPatchesOneoffPatchOutput) DefinedTags() pulumi.MapOutput { - return o.ApplyT(func(v GetOneoffPatchesOneoffPatch) map[string]interface{} { return v.DefinedTags }).(pulumi.MapOutput) -} - -// A filter to return only resources that match the entire display name given. The match is not case sensitive. -func (o GetOneoffPatchesOneoffPatchOutput) DisplayName() pulumi.StringOutput { - return o.ApplyT(func(v GetOneoffPatchesOneoffPatch) string { return v.DisplayName }).(pulumi.StringOutput) -} - -func (o GetOneoffPatchesOneoffPatchOutput) DownloadOneoffPatchTrigger() pulumi.IntOutput { - return o.ApplyT(func(v GetOneoffPatchesOneoffPatch) int { return v.DownloadOneoffPatchTrigger }).(pulumi.IntOutput) -} - -// Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` -func (o GetOneoffPatchesOneoffPatchOutput) FreeformTags() pulumi.MapOutput { - return o.ApplyT(func(v GetOneoffPatchesOneoffPatch) map[string]interface{} { return v.FreeformTags }).(pulumi.MapOutput) -} - -// The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the one-off patch. -func (o GetOneoffPatchesOneoffPatchOutput) Id() pulumi.StringOutput { - return o.ApplyT(func(v GetOneoffPatchesOneoffPatch) string { return v.Id }).(pulumi.StringOutput) -} - -// Detailed message for the lifecycle state. -func (o GetOneoffPatchesOneoffPatchOutput) LifecycleDetails() pulumi.StringOutput { - return o.ApplyT(func(v GetOneoffPatchesOneoffPatch) string { return v.LifecycleDetails }).(pulumi.StringOutput) -} - -// List of one-off patches for Database Homes. -func (o GetOneoffPatchesOneoffPatchOutput) OneOffPatches() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetOneoffPatchesOneoffPatch) []string { return v.OneOffPatches }).(pulumi.StringArrayOutput) -} - -// The PSU or PBP or Release Updates. To get a list of supported versions, use the [ListDbVersions](https://docs.cloud.oracle.com/iaas/api/#/en/database/latest/DbVersionSummary/ListDbVersions) operation. -func (o GetOneoffPatchesOneoffPatchOutput) ReleaseUpdate() pulumi.StringOutput { - return o.ApplyT(func(v GetOneoffPatchesOneoffPatch) string { return v.ReleaseUpdate }).(pulumi.StringOutput) -} - -// SHA-256 checksum of the one-off patch. -func (o GetOneoffPatchesOneoffPatchOutput) Sha256sum() pulumi.StringOutput { - return o.ApplyT(func(v GetOneoffPatchesOneoffPatch) string { return v.Sha256sum }).(pulumi.StringOutput) -} - -// The size of one-off patch in kilobytes. -func (o GetOneoffPatchesOneoffPatchOutput) SizeInKbs() pulumi.Float64Output { - return o.ApplyT(func(v GetOneoffPatchesOneoffPatch) float64 { return v.SizeInKbs }).(pulumi.Float64Output) -} - -// A filter to return only resources that match the given lifecycle state exactly -func (o GetOneoffPatchesOneoffPatchOutput) State() pulumi.StringOutput { - return o.ApplyT(func(v GetOneoffPatchesOneoffPatch) string { return v.State }).(pulumi.StringOutput) -} - -// The date and time one-off patch was created. -func (o GetOneoffPatchesOneoffPatchOutput) TimeCreated() pulumi.StringOutput { - return o.ApplyT(func(v GetOneoffPatchesOneoffPatch) string { return v.TimeCreated }).(pulumi.StringOutput) -} - -// The date and time until which the one-off patch will be available for download. -func (o GetOneoffPatchesOneoffPatchOutput) TimeOfExpiration() pulumi.StringOutput { - return o.ApplyT(func(v GetOneoffPatchesOneoffPatch) string { return v.TimeOfExpiration }).(pulumi.StringOutput) -} - -// The date and time one-off patch was updated. -func (o GetOneoffPatchesOneoffPatchOutput) TimeUpdated() pulumi.StringOutput { - return o.ApplyT(func(v GetOneoffPatchesOneoffPatch) string { return v.TimeUpdated }).(pulumi.StringOutput) -} - -type GetOneoffPatchesOneoffPatchArrayOutput struct{ *pulumi.OutputState } - -func (GetOneoffPatchesOneoffPatchArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetOneoffPatchesOneoffPatch)(nil)).Elem() -} - -func (o GetOneoffPatchesOneoffPatchArrayOutput) ToGetOneoffPatchesOneoffPatchArrayOutput() GetOneoffPatchesOneoffPatchArrayOutput { - return o -} - -func (o GetOneoffPatchesOneoffPatchArrayOutput) ToGetOneoffPatchesOneoffPatchArrayOutputWithContext(ctx context.Context) GetOneoffPatchesOneoffPatchArrayOutput { - return o -} - -func (o GetOneoffPatchesOneoffPatchArrayOutput) Index(i pulumi.IntInput) GetOneoffPatchesOneoffPatchOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetOneoffPatchesOneoffPatch { - return vs[0].([]GetOneoffPatchesOneoffPatch)[vs[1].(int)] - }).(GetOneoffPatchesOneoffPatchOutput) -} - -type GetPluggableDatabaseConnectionString struct { - // All connection strings to use to connect to the pluggable database. - AllConnectionStrings map[string]interface{} `pulumi:"allConnectionStrings"` - // A host name-based PDB connection string. - PdbDefault string `pulumi:"pdbDefault"` - // An IP-based PDB connection string. - PdbIpDefault string `pulumi:"pdbIpDefault"` -} - -// GetPluggableDatabaseConnectionStringInput is an input type that accepts GetPluggableDatabaseConnectionStringArgs and GetPluggableDatabaseConnectionStringOutput values. -// You can construct a concrete instance of `GetPluggableDatabaseConnectionStringInput` via: -// -// GetPluggableDatabaseConnectionStringArgs{...} -type GetPluggableDatabaseConnectionStringInput interface { - pulumi.Input - - ToGetPluggableDatabaseConnectionStringOutput() GetPluggableDatabaseConnectionStringOutput - ToGetPluggableDatabaseConnectionStringOutputWithContext(context.Context) GetPluggableDatabaseConnectionStringOutput -} - -type GetPluggableDatabaseConnectionStringArgs struct { - // All connection strings to use to connect to the pluggable database. - AllConnectionStrings pulumi.MapInput `pulumi:"allConnectionStrings"` - // A host name-based PDB connection string. - PdbDefault pulumi.StringInput `pulumi:"pdbDefault"` - // An IP-based PDB connection string. - PdbIpDefault pulumi.StringInput `pulumi:"pdbIpDefault"` -} - -func (GetPluggableDatabaseConnectionStringArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetPluggableDatabaseConnectionString)(nil)).Elem() -} - -func (i GetPluggableDatabaseConnectionStringArgs) ToGetPluggableDatabaseConnectionStringOutput() GetPluggableDatabaseConnectionStringOutput { - return i.ToGetPluggableDatabaseConnectionStringOutputWithContext(context.Background()) -} - -func (i GetPluggableDatabaseConnectionStringArgs) ToGetPluggableDatabaseConnectionStringOutputWithContext(ctx context.Context) GetPluggableDatabaseConnectionStringOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetPluggableDatabaseConnectionStringOutput) -} - -// GetPluggableDatabaseConnectionStringArrayInput is an input type that accepts GetPluggableDatabaseConnectionStringArray and GetPluggableDatabaseConnectionStringArrayOutput values. -// You can construct a concrete instance of `GetPluggableDatabaseConnectionStringArrayInput` via: -// -// GetPluggableDatabaseConnectionStringArray{ GetPluggableDatabaseConnectionStringArgs{...} } -type GetPluggableDatabaseConnectionStringArrayInput interface { - pulumi.Input - - ToGetPluggableDatabaseConnectionStringArrayOutput() GetPluggableDatabaseConnectionStringArrayOutput - ToGetPluggableDatabaseConnectionStringArrayOutputWithContext(context.Context) GetPluggableDatabaseConnectionStringArrayOutput -} - -type GetPluggableDatabaseConnectionStringArray []GetPluggableDatabaseConnectionStringInput - -func (GetPluggableDatabaseConnectionStringArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetPluggableDatabaseConnectionString)(nil)).Elem() -} - -func (i GetPluggableDatabaseConnectionStringArray) ToGetPluggableDatabaseConnectionStringArrayOutput() GetPluggableDatabaseConnectionStringArrayOutput { - return i.ToGetPluggableDatabaseConnectionStringArrayOutputWithContext(context.Background()) -} - -func (i GetPluggableDatabaseConnectionStringArray) ToGetPluggableDatabaseConnectionStringArrayOutputWithContext(ctx context.Context) GetPluggableDatabaseConnectionStringArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetPluggableDatabaseConnectionStringArrayOutput) -} - -type GetPluggableDatabaseConnectionStringOutput struct{ *pulumi.OutputState } - -func (GetPluggableDatabaseConnectionStringOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetPluggableDatabaseConnectionString)(nil)).Elem() -} - -func (o GetPluggableDatabaseConnectionStringOutput) ToGetPluggableDatabaseConnectionStringOutput() GetPluggableDatabaseConnectionStringOutput { - return o -} - -func (o GetPluggableDatabaseConnectionStringOutput) ToGetPluggableDatabaseConnectionStringOutputWithContext(ctx context.Context) GetPluggableDatabaseConnectionStringOutput { - return o -} - -// All connection strings to use to connect to the pluggable database. -func (o GetPluggableDatabaseConnectionStringOutput) AllConnectionStrings() pulumi.MapOutput { - return o.ApplyT(func(v GetPluggableDatabaseConnectionString) map[string]interface{} { return v.AllConnectionStrings }).(pulumi.MapOutput) -} - -// A host name-based PDB connection string. -func (o GetPluggableDatabaseConnectionStringOutput) PdbDefault() pulumi.StringOutput { - return o.ApplyT(func(v GetPluggableDatabaseConnectionString) string { return v.PdbDefault }).(pulumi.StringOutput) -} - -// An IP-based PDB connection string. -func (o GetPluggableDatabaseConnectionStringOutput) PdbIpDefault() pulumi.StringOutput { - return o.ApplyT(func(v GetPluggableDatabaseConnectionString) string { return v.PdbIpDefault }).(pulumi.StringOutput) -} - -type GetPluggableDatabaseConnectionStringArrayOutput struct{ *pulumi.OutputState } - -func (GetPluggableDatabaseConnectionStringArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetPluggableDatabaseConnectionString)(nil)).Elem() -} - -func (o GetPluggableDatabaseConnectionStringArrayOutput) ToGetPluggableDatabaseConnectionStringArrayOutput() GetPluggableDatabaseConnectionStringArrayOutput { - return o -} - -func (o GetPluggableDatabaseConnectionStringArrayOutput) ToGetPluggableDatabaseConnectionStringArrayOutputWithContext(ctx context.Context) GetPluggableDatabaseConnectionStringArrayOutput { - return o -} - -func (o GetPluggableDatabaseConnectionStringArrayOutput) Index(i pulumi.IntInput) GetPluggableDatabaseConnectionStringOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPluggableDatabaseConnectionString { - return vs[0].([]GetPluggableDatabaseConnectionString)[vs[1].(int)] - }).(GetPluggableDatabaseConnectionStringOutput) -} - func init() { pulumi.RegisterInputType(reflect.TypeOf((*AutonomousContainerDatabaseBackupConfigInput)(nil)).Elem(), AutonomousContainerDatabaseBackupConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AutonomousContainerDatabaseBackupConfigPtrInput)(nil)).Elem(), AutonomousContainerDatabaseBackupConfigArgs{}) @@ -76077,6 +75970,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*CloudDatabaseManagementCredentialdetailsPtrInput)(nil)).Elem(), CloudDatabaseManagementCredentialdetailsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CloudExadataInfrastructureCustomerContactInput)(nil)).Elem(), CloudExadataInfrastructureCustomerContactArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CloudExadataInfrastructureCustomerContactArrayInput)(nil)).Elem(), CloudExadataInfrastructureCustomerContactArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CloudExadataInfrastructureDefinedFileSystemConfigurationInput)(nil)).Elem(), CloudExadataInfrastructureDefinedFileSystemConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CloudExadataInfrastructureDefinedFileSystemConfigurationArrayInput)(nil)).Elem(), CloudExadataInfrastructureDefinedFileSystemConfigurationArray{}) pulumi.RegisterInputType(reflect.TypeOf((*CloudExadataInfrastructureMaintenanceWindowInput)(nil)).Elem(), CloudExadataInfrastructureMaintenanceWindowArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CloudExadataInfrastructureMaintenanceWindowPtrInput)(nil)).Elem(), CloudExadataInfrastructureMaintenanceWindowArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CloudExadataInfrastructureMaintenanceWindowDaysOfWeekInput)(nil)).Elem(), CloudExadataInfrastructureMaintenanceWindowDaysOfWeekArgs{}) @@ -76085,6 +75980,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*CloudExadataInfrastructureMaintenanceWindowMonthArrayInput)(nil)).Elem(), CloudExadataInfrastructureMaintenanceWindowMonthArray{}) pulumi.RegisterInputType(reflect.TypeOf((*CloudVmClusterDataCollectionOptionsInput)(nil)).Elem(), CloudVmClusterDataCollectionOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CloudVmClusterDataCollectionOptionsPtrInput)(nil)).Elem(), CloudVmClusterDataCollectionOptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CloudVmClusterFileSystemConfigurationDetailInput)(nil)).Elem(), CloudVmClusterFileSystemConfigurationDetailArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CloudVmClusterFileSystemConfigurationDetailArrayInput)(nil)).Elem(), CloudVmClusterFileSystemConfigurationDetailArray{}) pulumi.RegisterInputType(reflect.TypeOf((*CloudVmClusterIormConfigCachInput)(nil)).Elem(), CloudVmClusterIormConfigCachArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CloudVmClusterIormConfigCachArrayInput)(nil)).Elem(), CloudVmClusterIormConfigCachArray{}) pulumi.RegisterInputType(reflect.TypeOf((*CloudVmClusterIormConfigCachDbPlanInput)(nil)).Elem(), CloudVmClusterIormConfigCachDbPlanArgs{}) @@ -76613,6 +76510,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetCloudAutonomousVmClustersFilterArrayInput)(nil)).Elem(), GetCloudAutonomousVmClustersFilterArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCloudExadataInfrastructureCustomerContactInput)(nil)).Elem(), GetCloudExadataInfrastructureCustomerContactArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCloudExadataInfrastructureCustomerContactArrayInput)(nil)).Elem(), GetCloudExadataInfrastructureCustomerContactArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCloudExadataInfrastructureDefinedFileSystemConfigurationInput)(nil)).Elem(), GetCloudExadataInfrastructureDefinedFileSystemConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCloudExadataInfrastructureDefinedFileSystemConfigurationArrayInput)(nil)).Elem(), GetCloudExadataInfrastructureDefinedFileSystemConfigurationArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCloudExadataInfrastructureMaintenanceWindowInput)(nil)).Elem(), GetCloudExadataInfrastructureMaintenanceWindowArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCloudExadataInfrastructureMaintenanceWindowArrayInput)(nil)).Elem(), GetCloudExadataInfrastructureMaintenanceWindowArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCloudExadataInfrastructureMaintenanceWindowDaysOfWeekInput)(nil)).Elem(), GetCloudExadataInfrastructureMaintenanceWindowDaysOfWeekArgs{}) @@ -76625,6 +76524,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetCloudExadataInfrastructuresCloudExadataInfrastructureArrayInput)(nil)).Elem(), GetCloudExadataInfrastructuresCloudExadataInfrastructureArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCloudExadataInfrastructuresCloudExadataInfrastructureCustomerContactInput)(nil)).Elem(), GetCloudExadataInfrastructuresCloudExadataInfrastructureCustomerContactArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCloudExadataInfrastructuresCloudExadataInfrastructureCustomerContactArrayInput)(nil)).Elem(), GetCloudExadataInfrastructuresCloudExadataInfrastructureCustomerContactArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationInput)(nil)).Elem(), GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationArrayInput)(nil)).Elem(), GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCloudExadataInfrastructuresCloudExadataInfrastructureMaintenanceWindowInput)(nil)).Elem(), GetCloudExadataInfrastructuresCloudExadataInfrastructureMaintenanceWindowArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCloudExadataInfrastructuresCloudExadataInfrastructureMaintenanceWindowArrayInput)(nil)).Elem(), GetCloudExadataInfrastructuresCloudExadataInfrastructureMaintenanceWindowArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCloudExadataInfrastructuresCloudExadataInfrastructureMaintenanceWindowDaysOfWeekInput)(nil)).Elem(), GetCloudExadataInfrastructuresCloudExadataInfrastructureMaintenanceWindowDaysOfWeekArgs{}) @@ -76635,6 +76536,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetCloudExadataInfrastructuresFilterArrayInput)(nil)).Elem(), GetCloudExadataInfrastructuresFilterArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCloudVmClusterDataCollectionOptionInput)(nil)).Elem(), GetCloudVmClusterDataCollectionOptionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCloudVmClusterDataCollectionOptionArrayInput)(nil)).Elem(), GetCloudVmClusterDataCollectionOptionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCloudVmClusterFileSystemConfigurationDetailInput)(nil)).Elem(), GetCloudVmClusterFileSystemConfigurationDetailArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCloudVmClusterFileSystemConfigurationDetailArrayInput)(nil)).Elem(), GetCloudVmClusterFileSystemConfigurationDetailArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCloudVmClusterIormConfigCachInput)(nil)).Elem(), GetCloudVmClusterIormConfigCachArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCloudVmClusterIormConfigCachArrayInput)(nil)).Elem(), GetCloudVmClusterIormConfigCachArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCloudVmClusterIormConfigCachDbPlanInput)(nil)).Elem(), GetCloudVmClusterIormConfigCachDbPlanArgs{}) @@ -76645,6 +76548,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetCloudVmClustersCloudVmClusterArrayInput)(nil)).Elem(), GetCloudVmClustersCloudVmClusterArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCloudVmClustersCloudVmClusterDataCollectionOptionInput)(nil)).Elem(), GetCloudVmClustersCloudVmClusterDataCollectionOptionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCloudVmClustersCloudVmClusterDataCollectionOptionArrayInput)(nil)).Elem(), GetCloudVmClustersCloudVmClusterDataCollectionOptionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailInput)(nil)).Elem(), GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailArrayInput)(nil)).Elem(), GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCloudVmClustersCloudVmClusterIormConfigCachInput)(nil)).Elem(), GetCloudVmClustersCloudVmClusterIormConfigCachArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCloudVmClustersCloudVmClusterIormConfigCachArrayInput)(nil)).Elem(), GetCloudVmClustersCloudVmClusterIormConfigCachArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCloudVmClustersCloudVmClusterIormConfigCachDbPlanInput)(nil)).Elem(), GetCloudVmClustersCloudVmClusterIormConfigCachDbPlanArgs{}) @@ -76963,18 +76868,6 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetMaintenanceRunsMaintenanceRunArrayInput)(nil)).Elem(), GetMaintenanceRunsMaintenanceRunArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetMaintenanceRunsMaintenanceRunEstimatedPatchingTimeInput)(nil)).Elem(), GetMaintenanceRunsMaintenanceRunEstimatedPatchingTimeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetMaintenanceRunsMaintenanceRunEstimatedPatchingTimeArrayInput)(nil)).Elem(), GetMaintenanceRunsMaintenanceRunEstimatedPatchingTimeArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetManagedPreferredCredentialsFilterInput)(nil)).Elem(), GetManagedPreferredCredentialsFilterArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetManagedPreferredCredentialsFilterArrayInput)(nil)).Elem(), GetManagedPreferredCredentialsFilterArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetManagedPreferredCredentialsPreferredCredentialCollectionInput)(nil)).Elem(), GetManagedPreferredCredentialsPreferredCredentialCollectionArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetManagedPreferredCredentialsPreferredCredentialCollectionArrayInput)(nil)).Elem(), GetManagedPreferredCredentialsPreferredCredentialCollectionArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetManagedPreferredCredentialsPreferredCredentialCollectionItemInput)(nil)).Elem(), GetManagedPreferredCredentialsPreferredCredentialCollectionItemArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayInput)(nil)).Elem(), GetManagedPreferredCredentialsPreferredCredentialCollectionItemArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetOneoffPatchesFilterInput)(nil)).Elem(), GetOneoffPatchesFilterArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetOneoffPatchesFilterArrayInput)(nil)).Elem(), GetOneoffPatchesFilterArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetOneoffPatchesOneoffPatchInput)(nil)).Elem(), GetOneoffPatchesOneoffPatchArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetOneoffPatchesOneoffPatchArrayInput)(nil)).Elem(), GetOneoffPatchesOneoffPatchArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetPluggableDatabaseConnectionStringInput)(nil)).Elem(), GetPluggableDatabaseConnectionStringArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetPluggableDatabaseConnectionStringArrayInput)(nil)).Elem(), GetPluggableDatabaseConnectionStringArray{}) pulumi.RegisterOutputType(AutonomousContainerDatabaseBackupConfigOutput{}) pulumi.RegisterOutputType(AutonomousContainerDatabaseBackupConfigPtrOutput{}) pulumi.RegisterOutputType(AutonomousContainerDatabaseBackupConfigBackupDestinationDetailsOutput{}) @@ -77076,6 +76969,8 @@ func init() { pulumi.RegisterOutputType(CloudDatabaseManagementCredentialdetailsPtrOutput{}) pulumi.RegisterOutputType(CloudExadataInfrastructureCustomerContactOutput{}) pulumi.RegisterOutputType(CloudExadataInfrastructureCustomerContactArrayOutput{}) + pulumi.RegisterOutputType(CloudExadataInfrastructureDefinedFileSystemConfigurationOutput{}) + pulumi.RegisterOutputType(CloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput{}) pulumi.RegisterOutputType(CloudExadataInfrastructureMaintenanceWindowOutput{}) pulumi.RegisterOutputType(CloudExadataInfrastructureMaintenanceWindowPtrOutput{}) pulumi.RegisterOutputType(CloudExadataInfrastructureMaintenanceWindowDaysOfWeekOutput{}) @@ -77084,6 +76979,8 @@ func init() { pulumi.RegisterOutputType(CloudExadataInfrastructureMaintenanceWindowMonthArrayOutput{}) pulumi.RegisterOutputType(CloudVmClusterDataCollectionOptionsOutput{}) pulumi.RegisterOutputType(CloudVmClusterDataCollectionOptionsPtrOutput{}) + pulumi.RegisterOutputType(CloudVmClusterFileSystemConfigurationDetailOutput{}) + pulumi.RegisterOutputType(CloudVmClusterFileSystemConfigurationDetailArrayOutput{}) pulumi.RegisterOutputType(CloudVmClusterIormConfigCachOutput{}) pulumi.RegisterOutputType(CloudVmClusterIormConfigCachArrayOutput{}) pulumi.RegisterOutputType(CloudVmClusterIormConfigCachDbPlanOutput{}) @@ -77612,6 +77509,8 @@ func init() { pulumi.RegisterOutputType(GetCloudAutonomousVmClustersFilterArrayOutput{}) pulumi.RegisterOutputType(GetCloudExadataInfrastructureCustomerContactOutput{}) pulumi.RegisterOutputType(GetCloudExadataInfrastructureCustomerContactArrayOutput{}) + pulumi.RegisterOutputType(GetCloudExadataInfrastructureDefinedFileSystemConfigurationOutput{}) + pulumi.RegisterOutputType(GetCloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput{}) pulumi.RegisterOutputType(GetCloudExadataInfrastructureMaintenanceWindowOutput{}) pulumi.RegisterOutputType(GetCloudExadataInfrastructureMaintenanceWindowArrayOutput{}) pulumi.RegisterOutputType(GetCloudExadataInfrastructureMaintenanceWindowDaysOfWeekOutput{}) @@ -77624,6 +77523,8 @@ func init() { pulumi.RegisterOutputType(GetCloudExadataInfrastructuresCloudExadataInfrastructureArrayOutput{}) pulumi.RegisterOutputType(GetCloudExadataInfrastructuresCloudExadataInfrastructureCustomerContactOutput{}) pulumi.RegisterOutputType(GetCloudExadataInfrastructuresCloudExadataInfrastructureCustomerContactArrayOutput{}) + pulumi.RegisterOutputType(GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationOutput{}) + pulumi.RegisterOutputType(GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationArrayOutput{}) pulumi.RegisterOutputType(GetCloudExadataInfrastructuresCloudExadataInfrastructureMaintenanceWindowOutput{}) pulumi.RegisterOutputType(GetCloudExadataInfrastructuresCloudExadataInfrastructureMaintenanceWindowArrayOutput{}) pulumi.RegisterOutputType(GetCloudExadataInfrastructuresCloudExadataInfrastructureMaintenanceWindowDaysOfWeekOutput{}) @@ -77634,6 +77535,8 @@ func init() { pulumi.RegisterOutputType(GetCloudExadataInfrastructuresFilterArrayOutput{}) pulumi.RegisterOutputType(GetCloudVmClusterDataCollectionOptionOutput{}) pulumi.RegisterOutputType(GetCloudVmClusterDataCollectionOptionArrayOutput{}) + pulumi.RegisterOutputType(GetCloudVmClusterFileSystemConfigurationDetailOutput{}) + pulumi.RegisterOutputType(GetCloudVmClusterFileSystemConfigurationDetailArrayOutput{}) pulumi.RegisterOutputType(GetCloudVmClusterIormConfigCachOutput{}) pulumi.RegisterOutputType(GetCloudVmClusterIormConfigCachArrayOutput{}) pulumi.RegisterOutputType(GetCloudVmClusterIormConfigCachDbPlanOutput{}) @@ -77644,6 +77547,8 @@ func init() { pulumi.RegisterOutputType(GetCloudVmClustersCloudVmClusterArrayOutput{}) pulumi.RegisterOutputType(GetCloudVmClustersCloudVmClusterDataCollectionOptionOutput{}) pulumi.RegisterOutputType(GetCloudVmClustersCloudVmClusterDataCollectionOptionArrayOutput{}) + pulumi.RegisterOutputType(GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailOutput{}) + pulumi.RegisterOutputType(GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailArrayOutput{}) pulumi.RegisterOutputType(GetCloudVmClustersCloudVmClusterIormConfigCachOutput{}) pulumi.RegisterOutputType(GetCloudVmClustersCloudVmClusterIormConfigCachArrayOutput{}) pulumi.RegisterOutputType(GetCloudVmClustersCloudVmClusterIormConfigCachDbPlanOutput{}) @@ -77962,16 +77867,4 @@ func init() { pulumi.RegisterOutputType(GetMaintenanceRunsMaintenanceRunArrayOutput{}) pulumi.RegisterOutputType(GetMaintenanceRunsMaintenanceRunEstimatedPatchingTimeOutput{}) pulumi.RegisterOutputType(GetMaintenanceRunsMaintenanceRunEstimatedPatchingTimeArrayOutput{}) - pulumi.RegisterOutputType(GetManagedPreferredCredentialsFilterOutput{}) - pulumi.RegisterOutputType(GetManagedPreferredCredentialsFilterArrayOutput{}) - pulumi.RegisterOutputType(GetManagedPreferredCredentialsPreferredCredentialCollectionOutput{}) - pulumi.RegisterOutputType(GetManagedPreferredCredentialsPreferredCredentialCollectionArrayOutput{}) - pulumi.RegisterOutputType(GetManagedPreferredCredentialsPreferredCredentialCollectionItemOutput{}) - pulumi.RegisterOutputType(GetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayOutput{}) - pulumi.RegisterOutputType(GetOneoffPatchesFilterOutput{}) - pulumi.RegisterOutputType(GetOneoffPatchesFilterArrayOutput{}) - pulumi.RegisterOutputType(GetOneoffPatchesOneoffPatchOutput{}) - pulumi.RegisterOutputType(GetOneoffPatchesOneoffPatchArrayOutput{}) - pulumi.RegisterOutputType(GetPluggableDatabaseConnectionStringOutput{}) - pulumi.RegisterOutputType(GetPluggableDatabaseConnectionStringArrayOutput{}) } diff --git a/sdk/go/oci/database/pulumiTypes1.go b/sdk/go/oci/database/pulumiTypes1.go index 81433a20ce..1a1270047d 100644 --- a/sdk/go/oci/database/pulumiTypes1.go +++ b/sdk/go/oci/database/pulumiTypes1.go @@ -13,6 +13,824 @@ import ( var _ = internal.GetEnvOrDefault +type GetManagedPreferredCredentialsFilter struct { + Name string `pulumi:"name"` + Regex *bool `pulumi:"regex"` + Values []string `pulumi:"values"` +} + +// GetManagedPreferredCredentialsFilterInput is an input type that accepts GetManagedPreferredCredentialsFilterArgs and GetManagedPreferredCredentialsFilterOutput values. +// You can construct a concrete instance of `GetManagedPreferredCredentialsFilterInput` via: +// +// GetManagedPreferredCredentialsFilterArgs{...} +type GetManagedPreferredCredentialsFilterInput interface { + pulumi.Input + + ToGetManagedPreferredCredentialsFilterOutput() GetManagedPreferredCredentialsFilterOutput + ToGetManagedPreferredCredentialsFilterOutputWithContext(context.Context) GetManagedPreferredCredentialsFilterOutput +} + +type GetManagedPreferredCredentialsFilterArgs struct { + Name pulumi.StringInput `pulumi:"name"` + Regex pulumi.BoolPtrInput `pulumi:"regex"` + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetManagedPreferredCredentialsFilterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetManagedPreferredCredentialsFilter)(nil)).Elem() +} + +func (i GetManagedPreferredCredentialsFilterArgs) ToGetManagedPreferredCredentialsFilterOutput() GetManagedPreferredCredentialsFilterOutput { + return i.ToGetManagedPreferredCredentialsFilterOutputWithContext(context.Background()) +} + +func (i GetManagedPreferredCredentialsFilterArgs) ToGetManagedPreferredCredentialsFilterOutputWithContext(ctx context.Context) GetManagedPreferredCredentialsFilterOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetManagedPreferredCredentialsFilterOutput) +} + +// GetManagedPreferredCredentialsFilterArrayInput is an input type that accepts GetManagedPreferredCredentialsFilterArray and GetManagedPreferredCredentialsFilterArrayOutput values. +// You can construct a concrete instance of `GetManagedPreferredCredentialsFilterArrayInput` via: +// +// GetManagedPreferredCredentialsFilterArray{ GetManagedPreferredCredentialsFilterArgs{...} } +type GetManagedPreferredCredentialsFilterArrayInput interface { + pulumi.Input + + ToGetManagedPreferredCredentialsFilterArrayOutput() GetManagedPreferredCredentialsFilterArrayOutput + ToGetManagedPreferredCredentialsFilterArrayOutputWithContext(context.Context) GetManagedPreferredCredentialsFilterArrayOutput +} + +type GetManagedPreferredCredentialsFilterArray []GetManagedPreferredCredentialsFilterInput + +func (GetManagedPreferredCredentialsFilterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetManagedPreferredCredentialsFilter)(nil)).Elem() +} + +func (i GetManagedPreferredCredentialsFilterArray) ToGetManagedPreferredCredentialsFilterArrayOutput() GetManagedPreferredCredentialsFilterArrayOutput { + return i.ToGetManagedPreferredCredentialsFilterArrayOutputWithContext(context.Background()) +} + +func (i GetManagedPreferredCredentialsFilterArray) ToGetManagedPreferredCredentialsFilterArrayOutputWithContext(ctx context.Context) GetManagedPreferredCredentialsFilterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetManagedPreferredCredentialsFilterArrayOutput) +} + +type GetManagedPreferredCredentialsFilterOutput struct{ *pulumi.OutputState } + +func (GetManagedPreferredCredentialsFilterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetManagedPreferredCredentialsFilter)(nil)).Elem() +} + +func (o GetManagedPreferredCredentialsFilterOutput) ToGetManagedPreferredCredentialsFilterOutput() GetManagedPreferredCredentialsFilterOutput { + return o +} + +func (o GetManagedPreferredCredentialsFilterOutput) ToGetManagedPreferredCredentialsFilterOutputWithContext(ctx context.Context) GetManagedPreferredCredentialsFilterOutput { + return o +} + +func (o GetManagedPreferredCredentialsFilterOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetManagedPreferredCredentialsFilter) string { return v.Name }).(pulumi.StringOutput) +} + +func (o GetManagedPreferredCredentialsFilterOutput) Regex() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GetManagedPreferredCredentialsFilter) *bool { return v.Regex }).(pulumi.BoolPtrOutput) +} + +func (o GetManagedPreferredCredentialsFilterOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetManagedPreferredCredentialsFilter) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetManagedPreferredCredentialsFilterArrayOutput struct{ *pulumi.OutputState } + +func (GetManagedPreferredCredentialsFilterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetManagedPreferredCredentialsFilter)(nil)).Elem() +} + +func (o GetManagedPreferredCredentialsFilterArrayOutput) ToGetManagedPreferredCredentialsFilterArrayOutput() GetManagedPreferredCredentialsFilterArrayOutput { + return o +} + +func (o GetManagedPreferredCredentialsFilterArrayOutput) ToGetManagedPreferredCredentialsFilterArrayOutputWithContext(ctx context.Context) GetManagedPreferredCredentialsFilterArrayOutput { + return o +} + +func (o GetManagedPreferredCredentialsFilterArrayOutput) Index(i pulumi.IntInput) GetManagedPreferredCredentialsFilterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetManagedPreferredCredentialsFilter { + return vs[0].([]GetManagedPreferredCredentialsFilter)[vs[1].(int)] + }).(GetManagedPreferredCredentialsFilterOutput) +} + +type GetManagedPreferredCredentialsPreferredCredentialCollection struct { + Items []GetManagedPreferredCredentialsPreferredCredentialCollectionItem `pulumi:"items"` +} + +// GetManagedPreferredCredentialsPreferredCredentialCollectionInput is an input type that accepts GetManagedPreferredCredentialsPreferredCredentialCollectionArgs and GetManagedPreferredCredentialsPreferredCredentialCollectionOutput values. +// You can construct a concrete instance of `GetManagedPreferredCredentialsPreferredCredentialCollectionInput` via: +// +// GetManagedPreferredCredentialsPreferredCredentialCollectionArgs{...} +type GetManagedPreferredCredentialsPreferredCredentialCollectionInput interface { + pulumi.Input + + ToGetManagedPreferredCredentialsPreferredCredentialCollectionOutput() GetManagedPreferredCredentialsPreferredCredentialCollectionOutput + ToGetManagedPreferredCredentialsPreferredCredentialCollectionOutputWithContext(context.Context) GetManagedPreferredCredentialsPreferredCredentialCollectionOutput +} + +type GetManagedPreferredCredentialsPreferredCredentialCollectionArgs struct { + Items GetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayInput `pulumi:"items"` +} + +func (GetManagedPreferredCredentialsPreferredCredentialCollectionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetManagedPreferredCredentialsPreferredCredentialCollection)(nil)).Elem() +} + +func (i GetManagedPreferredCredentialsPreferredCredentialCollectionArgs) ToGetManagedPreferredCredentialsPreferredCredentialCollectionOutput() GetManagedPreferredCredentialsPreferredCredentialCollectionOutput { + return i.ToGetManagedPreferredCredentialsPreferredCredentialCollectionOutputWithContext(context.Background()) +} + +func (i GetManagedPreferredCredentialsPreferredCredentialCollectionArgs) ToGetManagedPreferredCredentialsPreferredCredentialCollectionOutputWithContext(ctx context.Context) GetManagedPreferredCredentialsPreferredCredentialCollectionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetManagedPreferredCredentialsPreferredCredentialCollectionOutput) +} + +// GetManagedPreferredCredentialsPreferredCredentialCollectionArrayInput is an input type that accepts GetManagedPreferredCredentialsPreferredCredentialCollectionArray and GetManagedPreferredCredentialsPreferredCredentialCollectionArrayOutput values. +// You can construct a concrete instance of `GetManagedPreferredCredentialsPreferredCredentialCollectionArrayInput` via: +// +// GetManagedPreferredCredentialsPreferredCredentialCollectionArray{ GetManagedPreferredCredentialsPreferredCredentialCollectionArgs{...} } +type GetManagedPreferredCredentialsPreferredCredentialCollectionArrayInput interface { + pulumi.Input + + ToGetManagedPreferredCredentialsPreferredCredentialCollectionArrayOutput() GetManagedPreferredCredentialsPreferredCredentialCollectionArrayOutput + ToGetManagedPreferredCredentialsPreferredCredentialCollectionArrayOutputWithContext(context.Context) GetManagedPreferredCredentialsPreferredCredentialCollectionArrayOutput +} + +type GetManagedPreferredCredentialsPreferredCredentialCollectionArray []GetManagedPreferredCredentialsPreferredCredentialCollectionInput + +func (GetManagedPreferredCredentialsPreferredCredentialCollectionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetManagedPreferredCredentialsPreferredCredentialCollection)(nil)).Elem() +} + +func (i GetManagedPreferredCredentialsPreferredCredentialCollectionArray) ToGetManagedPreferredCredentialsPreferredCredentialCollectionArrayOutput() GetManagedPreferredCredentialsPreferredCredentialCollectionArrayOutput { + return i.ToGetManagedPreferredCredentialsPreferredCredentialCollectionArrayOutputWithContext(context.Background()) +} + +func (i GetManagedPreferredCredentialsPreferredCredentialCollectionArray) ToGetManagedPreferredCredentialsPreferredCredentialCollectionArrayOutputWithContext(ctx context.Context) GetManagedPreferredCredentialsPreferredCredentialCollectionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetManagedPreferredCredentialsPreferredCredentialCollectionArrayOutput) +} + +type GetManagedPreferredCredentialsPreferredCredentialCollectionOutput struct{ *pulumi.OutputState } + +func (GetManagedPreferredCredentialsPreferredCredentialCollectionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetManagedPreferredCredentialsPreferredCredentialCollection)(nil)).Elem() +} + +func (o GetManagedPreferredCredentialsPreferredCredentialCollectionOutput) ToGetManagedPreferredCredentialsPreferredCredentialCollectionOutput() GetManagedPreferredCredentialsPreferredCredentialCollectionOutput { + return o +} + +func (o GetManagedPreferredCredentialsPreferredCredentialCollectionOutput) ToGetManagedPreferredCredentialsPreferredCredentialCollectionOutputWithContext(ctx context.Context) GetManagedPreferredCredentialsPreferredCredentialCollectionOutput { + return o +} + +func (o GetManagedPreferredCredentialsPreferredCredentialCollectionOutput) Items() GetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayOutput { + return o.ApplyT(func(v GetManagedPreferredCredentialsPreferredCredentialCollection) []GetManagedPreferredCredentialsPreferredCredentialCollectionItem { + return v.Items + }).(GetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayOutput) +} + +type GetManagedPreferredCredentialsPreferredCredentialCollectionArrayOutput struct{ *pulumi.OutputState } + +func (GetManagedPreferredCredentialsPreferredCredentialCollectionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetManagedPreferredCredentialsPreferredCredentialCollection)(nil)).Elem() +} + +func (o GetManagedPreferredCredentialsPreferredCredentialCollectionArrayOutput) ToGetManagedPreferredCredentialsPreferredCredentialCollectionArrayOutput() GetManagedPreferredCredentialsPreferredCredentialCollectionArrayOutput { + return o +} + +func (o GetManagedPreferredCredentialsPreferredCredentialCollectionArrayOutput) ToGetManagedPreferredCredentialsPreferredCredentialCollectionArrayOutputWithContext(ctx context.Context) GetManagedPreferredCredentialsPreferredCredentialCollectionArrayOutput { + return o +} + +func (o GetManagedPreferredCredentialsPreferredCredentialCollectionArrayOutput) Index(i pulumi.IntInput) GetManagedPreferredCredentialsPreferredCredentialCollectionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetManagedPreferredCredentialsPreferredCredentialCollection { + return vs[0].([]GetManagedPreferredCredentialsPreferredCredentialCollection)[vs[1].(int)] + }).(GetManagedPreferredCredentialsPreferredCredentialCollectionOutput) +} + +type GetManagedPreferredCredentialsPreferredCredentialCollectionItem struct { + // The name of the preferred credential. + CredentialName string `pulumi:"credentialName"` + // Indicates whether the preferred credential is accessible. + IsAccessible bool `pulumi:"isAccessible"` + // The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Named Credential that contains the database user password metadata. + NamedCredentialId string `pulumi:"namedCredentialId"` + // The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Vault service secret that contains the database user password. + PasswordSecretId string `pulumi:"passwordSecretId"` + // The role of the database user. + Role string `pulumi:"role"` + // The status of the preferred credential. + Status string `pulumi:"status"` + // The type of preferred credential. Only 'BASIC' is supported currently. + Type string `pulumi:"type"` + // The user name used to connect to the database. + UserName string `pulumi:"userName"` +} + +// GetManagedPreferredCredentialsPreferredCredentialCollectionItemInput is an input type that accepts GetManagedPreferredCredentialsPreferredCredentialCollectionItemArgs and GetManagedPreferredCredentialsPreferredCredentialCollectionItemOutput values. +// You can construct a concrete instance of `GetManagedPreferredCredentialsPreferredCredentialCollectionItemInput` via: +// +// GetManagedPreferredCredentialsPreferredCredentialCollectionItemArgs{...} +type GetManagedPreferredCredentialsPreferredCredentialCollectionItemInput interface { + pulumi.Input + + ToGetManagedPreferredCredentialsPreferredCredentialCollectionItemOutput() GetManagedPreferredCredentialsPreferredCredentialCollectionItemOutput + ToGetManagedPreferredCredentialsPreferredCredentialCollectionItemOutputWithContext(context.Context) GetManagedPreferredCredentialsPreferredCredentialCollectionItemOutput +} + +type GetManagedPreferredCredentialsPreferredCredentialCollectionItemArgs struct { + // The name of the preferred credential. + CredentialName pulumi.StringInput `pulumi:"credentialName"` + // Indicates whether the preferred credential is accessible. + IsAccessible pulumi.BoolInput `pulumi:"isAccessible"` + // The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Named Credential that contains the database user password metadata. + NamedCredentialId pulumi.StringInput `pulumi:"namedCredentialId"` + // The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Vault service secret that contains the database user password. + PasswordSecretId pulumi.StringInput `pulumi:"passwordSecretId"` + // The role of the database user. + Role pulumi.StringInput `pulumi:"role"` + // The status of the preferred credential. + Status pulumi.StringInput `pulumi:"status"` + // The type of preferred credential. Only 'BASIC' is supported currently. + Type pulumi.StringInput `pulumi:"type"` + // The user name used to connect to the database. + UserName pulumi.StringInput `pulumi:"userName"` +} + +func (GetManagedPreferredCredentialsPreferredCredentialCollectionItemArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetManagedPreferredCredentialsPreferredCredentialCollectionItem)(nil)).Elem() +} + +func (i GetManagedPreferredCredentialsPreferredCredentialCollectionItemArgs) ToGetManagedPreferredCredentialsPreferredCredentialCollectionItemOutput() GetManagedPreferredCredentialsPreferredCredentialCollectionItemOutput { + return i.ToGetManagedPreferredCredentialsPreferredCredentialCollectionItemOutputWithContext(context.Background()) +} + +func (i GetManagedPreferredCredentialsPreferredCredentialCollectionItemArgs) ToGetManagedPreferredCredentialsPreferredCredentialCollectionItemOutputWithContext(ctx context.Context) GetManagedPreferredCredentialsPreferredCredentialCollectionItemOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetManagedPreferredCredentialsPreferredCredentialCollectionItemOutput) +} + +// GetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayInput is an input type that accepts GetManagedPreferredCredentialsPreferredCredentialCollectionItemArray and GetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayOutput values. +// You can construct a concrete instance of `GetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayInput` via: +// +// GetManagedPreferredCredentialsPreferredCredentialCollectionItemArray{ GetManagedPreferredCredentialsPreferredCredentialCollectionItemArgs{...} } +type GetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayInput interface { + pulumi.Input + + ToGetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayOutput() GetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayOutput + ToGetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayOutputWithContext(context.Context) GetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayOutput +} + +type GetManagedPreferredCredentialsPreferredCredentialCollectionItemArray []GetManagedPreferredCredentialsPreferredCredentialCollectionItemInput + +func (GetManagedPreferredCredentialsPreferredCredentialCollectionItemArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetManagedPreferredCredentialsPreferredCredentialCollectionItem)(nil)).Elem() +} + +func (i GetManagedPreferredCredentialsPreferredCredentialCollectionItemArray) ToGetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayOutput() GetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayOutput { + return i.ToGetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayOutputWithContext(context.Background()) +} + +func (i GetManagedPreferredCredentialsPreferredCredentialCollectionItemArray) ToGetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayOutputWithContext(ctx context.Context) GetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayOutput) +} + +type GetManagedPreferredCredentialsPreferredCredentialCollectionItemOutput struct{ *pulumi.OutputState } + +func (GetManagedPreferredCredentialsPreferredCredentialCollectionItemOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetManagedPreferredCredentialsPreferredCredentialCollectionItem)(nil)).Elem() +} + +func (o GetManagedPreferredCredentialsPreferredCredentialCollectionItemOutput) ToGetManagedPreferredCredentialsPreferredCredentialCollectionItemOutput() GetManagedPreferredCredentialsPreferredCredentialCollectionItemOutput { + return o +} + +func (o GetManagedPreferredCredentialsPreferredCredentialCollectionItemOutput) ToGetManagedPreferredCredentialsPreferredCredentialCollectionItemOutputWithContext(ctx context.Context) GetManagedPreferredCredentialsPreferredCredentialCollectionItemOutput { + return o +} + +// The name of the preferred credential. +func (o GetManagedPreferredCredentialsPreferredCredentialCollectionItemOutput) CredentialName() pulumi.StringOutput { + return o.ApplyT(func(v GetManagedPreferredCredentialsPreferredCredentialCollectionItem) string { + return v.CredentialName + }).(pulumi.StringOutput) +} + +// Indicates whether the preferred credential is accessible. +func (o GetManagedPreferredCredentialsPreferredCredentialCollectionItemOutput) IsAccessible() pulumi.BoolOutput { + return o.ApplyT(func(v GetManagedPreferredCredentialsPreferredCredentialCollectionItem) bool { return v.IsAccessible }).(pulumi.BoolOutput) +} + +// The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Named Credential that contains the database user password metadata. +func (o GetManagedPreferredCredentialsPreferredCredentialCollectionItemOutput) NamedCredentialId() pulumi.StringOutput { + return o.ApplyT(func(v GetManagedPreferredCredentialsPreferredCredentialCollectionItem) string { + return v.NamedCredentialId + }).(pulumi.StringOutput) +} + +// The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Vault service secret that contains the database user password. +func (o GetManagedPreferredCredentialsPreferredCredentialCollectionItemOutput) PasswordSecretId() pulumi.StringOutput { + return o.ApplyT(func(v GetManagedPreferredCredentialsPreferredCredentialCollectionItem) string { + return v.PasswordSecretId + }).(pulumi.StringOutput) +} + +// The role of the database user. +func (o GetManagedPreferredCredentialsPreferredCredentialCollectionItemOutput) Role() pulumi.StringOutput { + return o.ApplyT(func(v GetManagedPreferredCredentialsPreferredCredentialCollectionItem) string { return v.Role }).(pulumi.StringOutput) +} + +// The status of the preferred credential. +func (o GetManagedPreferredCredentialsPreferredCredentialCollectionItemOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetManagedPreferredCredentialsPreferredCredentialCollectionItem) string { return v.Status }).(pulumi.StringOutput) +} + +// The type of preferred credential. Only 'BASIC' is supported currently. +func (o GetManagedPreferredCredentialsPreferredCredentialCollectionItemOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetManagedPreferredCredentialsPreferredCredentialCollectionItem) string { return v.Type }).(pulumi.StringOutput) +} + +// The user name used to connect to the database. +func (o GetManagedPreferredCredentialsPreferredCredentialCollectionItemOutput) UserName() pulumi.StringOutput { + return o.ApplyT(func(v GetManagedPreferredCredentialsPreferredCredentialCollectionItem) string { return v.UserName }).(pulumi.StringOutput) +} + +type GetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayOutput struct{ *pulumi.OutputState } + +func (GetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetManagedPreferredCredentialsPreferredCredentialCollectionItem)(nil)).Elem() +} + +func (o GetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayOutput) ToGetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayOutput() GetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayOutput { + return o +} + +func (o GetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayOutput) ToGetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayOutputWithContext(ctx context.Context) GetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayOutput { + return o +} + +func (o GetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayOutput) Index(i pulumi.IntInput) GetManagedPreferredCredentialsPreferredCredentialCollectionItemOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetManagedPreferredCredentialsPreferredCredentialCollectionItem { + return vs[0].([]GetManagedPreferredCredentialsPreferredCredentialCollectionItem)[vs[1].(int)] + }).(GetManagedPreferredCredentialsPreferredCredentialCollectionItemOutput) +} + +type GetOneoffPatchesFilter struct { + Name string `pulumi:"name"` + Regex *bool `pulumi:"regex"` + Values []string `pulumi:"values"` +} + +// GetOneoffPatchesFilterInput is an input type that accepts GetOneoffPatchesFilterArgs and GetOneoffPatchesFilterOutput values. +// You can construct a concrete instance of `GetOneoffPatchesFilterInput` via: +// +// GetOneoffPatchesFilterArgs{...} +type GetOneoffPatchesFilterInput interface { + pulumi.Input + + ToGetOneoffPatchesFilterOutput() GetOneoffPatchesFilterOutput + ToGetOneoffPatchesFilterOutputWithContext(context.Context) GetOneoffPatchesFilterOutput +} + +type GetOneoffPatchesFilterArgs struct { + Name pulumi.StringInput `pulumi:"name"` + Regex pulumi.BoolPtrInput `pulumi:"regex"` + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetOneoffPatchesFilterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetOneoffPatchesFilter)(nil)).Elem() +} + +func (i GetOneoffPatchesFilterArgs) ToGetOneoffPatchesFilterOutput() GetOneoffPatchesFilterOutput { + return i.ToGetOneoffPatchesFilterOutputWithContext(context.Background()) +} + +func (i GetOneoffPatchesFilterArgs) ToGetOneoffPatchesFilterOutputWithContext(ctx context.Context) GetOneoffPatchesFilterOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetOneoffPatchesFilterOutput) +} + +// GetOneoffPatchesFilterArrayInput is an input type that accepts GetOneoffPatchesFilterArray and GetOneoffPatchesFilterArrayOutput values. +// You can construct a concrete instance of `GetOneoffPatchesFilterArrayInput` via: +// +// GetOneoffPatchesFilterArray{ GetOneoffPatchesFilterArgs{...} } +type GetOneoffPatchesFilterArrayInput interface { + pulumi.Input + + ToGetOneoffPatchesFilterArrayOutput() GetOneoffPatchesFilterArrayOutput + ToGetOneoffPatchesFilterArrayOutputWithContext(context.Context) GetOneoffPatchesFilterArrayOutput +} + +type GetOneoffPatchesFilterArray []GetOneoffPatchesFilterInput + +func (GetOneoffPatchesFilterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetOneoffPatchesFilter)(nil)).Elem() +} + +func (i GetOneoffPatchesFilterArray) ToGetOneoffPatchesFilterArrayOutput() GetOneoffPatchesFilterArrayOutput { + return i.ToGetOneoffPatchesFilterArrayOutputWithContext(context.Background()) +} + +func (i GetOneoffPatchesFilterArray) ToGetOneoffPatchesFilterArrayOutputWithContext(ctx context.Context) GetOneoffPatchesFilterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetOneoffPatchesFilterArrayOutput) +} + +type GetOneoffPatchesFilterOutput struct{ *pulumi.OutputState } + +func (GetOneoffPatchesFilterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetOneoffPatchesFilter)(nil)).Elem() +} + +func (o GetOneoffPatchesFilterOutput) ToGetOneoffPatchesFilterOutput() GetOneoffPatchesFilterOutput { + return o +} + +func (o GetOneoffPatchesFilterOutput) ToGetOneoffPatchesFilterOutputWithContext(ctx context.Context) GetOneoffPatchesFilterOutput { + return o +} + +func (o GetOneoffPatchesFilterOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetOneoffPatchesFilter) string { return v.Name }).(pulumi.StringOutput) +} + +func (o GetOneoffPatchesFilterOutput) Regex() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GetOneoffPatchesFilter) *bool { return v.Regex }).(pulumi.BoolPtrOutput) +} + +func (o GetOneoffPatchesFilterOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetOneoffPatchesFilter) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetOneoffPatchesFilterArrayOutput struct{ *pulumi.OutputState } + +func (GetOneoffPatchesFilterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetOneoffPatchesFilter)(nil)).Elem() +} + +func (o GetOneoffPatchesFilterArrayOutput) ToGetOneoffPatchesFilterArrayOutput() GetOneoffPatchesFilterArrayOutput { + return o +} + +func (o GetOneoffPatchesFilterArrayOutput) ToGetOneoffPatchesFilterArrayOutputWithContext(ctx context.Context) GetOneoffPatchesFilterArrayOutput { + return o +} + +func (o GetOneoffPatchesFilterArrayOutput) Index(i pulumi.IntInput) GetOneoffPatchesFilterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetOneoffPatchesFilter { + return vs[0].([]GetOneoffPatchesFilter)[vs[1].(int)] + }).(GetOneoffPatchesFilterOutput) +} + +type GetOneoffPatchesOneoffPatch struct { + // (Updatable) The compartment [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm). + CompartmentId string `pulumi:"compartmentId"` + // A valid Oracle Database version. To get a list of supported versions, use the [ListDbVersions](https://docs.cloud.oracle.com/iaas/api/#/en/database/latest/DbVersionSummary/ListDbVersions) operation. + DbVersion string `pulumi:"dbVersion"` + // Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + DefinedTags map[string]interface{} `pulumi:"definedTags"` + // A filter to return only resources that match the entire display name given. The match is not case sensitive. + DisplayName string `pulumi:"displayName"` + DownloadOneoffPatchTrigger int `pulumi:"downloadOneoffPatchTrigger"` + // Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` + FreeformTags map[string]interface{} `pulumi:"freeformTags"` + // The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the one-off patch. + Id string `pulumi:"id"` + // Detailed message for the lifecycle state. + LifecycleDetails string `pulumi:"lifecycleDetails"` + // List of one-off patches for Database Homes. + OneOffPatches []string `pulumi:"oneOffPatches"` + // The PSU or PBP or Release Updates. To get a list of supported versions, use the [ListDbVersions](https://docs.cloud.oracle.com/iaas/api/#/en/database/latest/DbVersionSummary/ListDbVersions) operation. + ReleaseUpdate string `pulumi:"releaseUpdate"` + // SHA-256 checksum of the one-off patch. + Sha256sum string `pulumi:"sha256sum"` + // The size of one-off patch in kilobytes. + SizeInKbs float64 `pulumi:"sizeInKbs"` + // A filter to return only resources that match the given lifecycle state exactly + State string `pulumi:"state"` + // The date and time one-off patch was created. + TimeCreated string `pulumi:"timeCreated"` + // The date and time until which the one-off patch will be available for download. + TimeOfExpiration string `pulumi:"timeOfExpiration"` + // The date and time one-off patch was updated. + TimeUpdated string `pulumi:"timeUpdated"` +} + +// GetOneoffPatchesOneoffPatchInput is an input type that accepts GetOneoffPatchesOneoffPatchArgs and GetOneoffPatchesOneoffPatchOutput values. +// You can construct a concrete instance of `GetOneoffPatchesOneoffPatchInput` via: +// +// GetOneoffPatchesOneoffPatchArgs{...} +type GetOneoffPatchesOneoffPatchInput interface { + pulumi.Input + + ToGetOneoffPatchesOneoffPatchOutput() GetOneoffPatchesOneoffPatchOutput + ToGetOneoffPatchesOneoffPatchOutputWithContext(context.Context) GetOneoffPatchesOneoffPatchOutput +} + +type GetOneoffPatchesOneoffPatchArgs struct { + // (Updatable) The compartment [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm). + CompartmentId pulumi.StringInput `pulumi:"compartmentId"` + // A valid Oracle Database version. To get a list of supported versions, use the [ListDbVersions](https://docs.cloud.oracle.com/iaas/api/#/en/database/latest/DbVersionSummary/ListDbVersions) operation. + DbVersion pulumi.StringInput `pulumi:"dbVersion"` + // Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + DefinedTags pulumi.MapInput `pulumi:"definedTags"` + // A filter to return only resources that match the entire display name given. The match is not case sensitive. + DisplayName pulumi.StringInput `pulumi:"displayName"` + DownloadOneoffPatchTrigger pulumi.IntInput `pulumi:"downloadOneoffPatchTrigger"` + // Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` + FreeformTags pulumi.MapInput `pulumi:"freeformTags"` + // The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the one-off patch. + Id pulumi.StringInput `pulumi:"id"` + // Detailed message for the lifecycle state. + LifecycleDetails pulumi.StringInput `pulumi:"lifecycleDetails"` + // List of one-off patches for Database Homes. + OneOffPatches pulumi.StringArrayInput `pulumi:"oneOffPatches"` + // The PSU or PBP or Release Updates. To get a list of supported versions, use the [ListDbVersions](https://docs.cloud.oracle.com/iaas/api/#/en/database/latest/DbVersionSummary/ListDbVersions) operation. + ReleaseUpdate pulumi.StringInput `pulumi:"releaseUpdate"` + // SHA-256 checksum of the one-off patch. + Sha256sum pulumi.StringInput `pulumi:"sha256sum"` + // The size of one-off patch in kilobytes. + SizeInKbs pulumi.Float64Input `pulumi:"sizeInKbs"` + // A filter to return only resources that match the given lifecycle state exactly + State pulumi.StringInput `pulumi:"state"` + // The date and time one-off patch was created. + TimeCreated pulumi.StringInput `pulumi:"timeCreated"` + // The date and time until which the one-off patch will be available for download. + TimeOfExpiration pulumi.StringInput `pulumi:"timeOfExpiration"` + // The date and time one-off patch was updated. + TimeUpdated pulumi.StringInput `pulumi:"timeUpdated"` +} + +func (GetOneoffPatchesOneoffPatchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetOneoffPatchesOneoffPatch)(nil)).Elem() +} + +func (i GetOneoffPatchesOneoffPatchArgs) ToGetOneoffPatchesOneoffPatchOutput() GetOneoffPatchesOneoffPatchOutput { + return i.ToGetOneoffPatchesOneoffPatchOutputWithContext(context.Background()) +} + +func (i GetOneoffPatchesOneoffPatchArgs) ToGetOneoffPatchesOneoffPatchOutputWithContext(ctx context.Context) GetOneoffPatchesOneoffPatchOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetOneoffPatchesOneoffPatchOutput) +} + +// GetOneoffPatchesOneoffPatchArrayInput is an input type that accepts GetOneoffPatchesOneoffPatchArray and GetOneoffPatchesOneoffPatchArrayOutput values. +// You can construct a concrete instance of `GetOneoffPatchesOneoffPatchArrayInput` via: +// +// GetOneoffPatchesOneoffPatchArray{ GetOneoffPatchesOneoffPatchArgs{...} } +type GetOneoffPatchesOneoffPatchArrayInput interface { + pulumi.Input + + ToGetOneoffPatchesOneoffPatchArrayOutput() GetOneoffPatchesOneoffPatchArrayOutput + ToGetOneoffPatchesOneoffPatchArrayOutputWithContext(context.Context) GetOneoffPatchesOneoffPatchArrayOutput +} + +type GetOneoffPatchesOneoffPatchArray []GetOneoffPatchesOneoffPatchInput + +func (GetOneoffPatchesOneoffPatchArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetOneoffPatchesOneoffPatch)(nil)).Elem() +} + +func (i GetOneoffPatchesOneoffPatchArray) ToGetOneoffPatchesOneoffPatchArrayOutput() GetOneoffPatchesOneoffPatchArrayOutput { + return i.ToGetOneoffPatchesOneoffPatchArrayOutputWithContext(context.Background()) +} + +func (i GetOneoffPatchesOneoffPatchArray) ToGetOneoffPatchesOneoffPatchArrayOutputWithContext(ctx context.Context) GetOneoffPatchesOneoffPatchArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetOneoffPatchesOneoffPatchArrayOutput) +} + +type GetOneoffPatchesOneoffPatchOutput struct{ *pulumi.OutputState } + +func (GetOneoffPatchesOneoffPatchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetOneoffPatchesOneoffPatch)(nil)).Elem() +} + +func (o GetOneoffPatchesOneoffPatchOutput) ToGetOneoffPatchesOneoffPatchOutput() GetOneoffPatchesOneoffPatchOutput { + return o +} + +func (o GetOneoffPatchesOneoffPatchOutput) ToGetOneoffPatchesOneoffPatchOutputWithContext(ctx context.Context) GetOneoffPatchesOneoffPatchOutput { + return o +} + +// (Updatable) The compartment [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm). +func (o GetOneoffPatchesOneoffPatchOutput) CompartmentId() pulumi.StringOutput { + return o.ApplyT(func(v GetOneoffPatchesOneoffPatch) string { return v.CompartmentId }).(pulumi.StringOutput) +} + +// A valid Oracle Database version. To get a list of supported versions, use the [ListDbVersions](https://docs.cloud.oracle.com/iaas/api/#/en/database/latest/DbVersionSummary/ListDbVersions) operation. +func (o GetOneoffPatchesOneoffPatchOutput) DbVersion() pulumi.StringOutput { + return o.ApplyT(func(v GetOneoffPatchesOneoffPatch) string { return v.DbVersion }).(pulumi.StringOutput) +} + +// Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). +func (o GetOneoffPatchesOneoffPatchOutput) DefinedTags() pulumi.MapOutput { + return o.ApplyT(func(v GetOneoffPatchesOneoffPatch) map[string]interface{} { return v.DefinedTags }).(pulumi.MapOutput) +} + +// A filter to return only resources that match the entire display name given. The match is not case sensitive. +func (o GetOneoffPatchesOneoffPatchOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v GetOneoffPatchesOneoffPatch) string { return v.DisplayName }).(pulumi.StringOutput) +} + +func (o GetOneoffPatchesOneoffPatchOutput) DownloadOneoffPatchTrigger() pulumi.IntOutput { + return o.ApplyT(func(v GetOneoffPatchesOneoffPatch) int { return v.DownloadOneoffPatchTrigger }).(pulumi.IntOutput) +} + +// Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` +func (o GetOneoffPatchesOneoffPatchOutput) FreeformTags() pulumi.MapOutput { + return o.ApplyT(func(v GetOneoffPatchesOneoffPatch) map[string]interface{} { return v.FreeformTags }).(pulumi.MapOutput) +} + +// The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the one-off patch. +func (o GetOneoffPatchesOneoffPatchOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetOneoffPatchesOneoffPatch) string { return v.Id }).(pulumi.StringOutput) +} + +// Detailed message for the lifecycle state. +func (o GetOneoffPatchesOneoffPatchOutput) LifecycleDetails() pulumi.StringOutput { + return o.ApplyT(func(v GetOneoffPatchesOneoffPatch) string { return v.LifecycleDetails }).(pulumi.StringOutput) +} + +// List of one-off patches for Database Homes. +func (o GetOneoffPatchesOneoffPatchOutput) OneOffPatches() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetOneoffPatchesOneoffPatch) []string { return v.OneOffPatches }).(pulumi.StringArrayOutput) +} + +// The PSU or PBP or Release Updates. To get a list of supported versions, use the [ListDbVersions](https://docs.cloud.oracle.com/iaas/api/#/en/database/latest/DbVersionSummary/ListDbVersions) operation. +func (o GetOneoffPatchesOneoffPatchOutput) ReleaseUpdate() pulumi.StringOutput { + return o.ApplyT(func(v GetOneoffPatchesOneoffPatch) string { return v.ReleaseUpdate }).(pulumi.StringOutput) +} + +// SHA-256 checksum of the one-off patch. +func (o GetOneoffPatchesOneoffPatchOutput) Sha256sum() pulumi.StringOutput { + return o.ApplyT(func(v GetOneoffPatchesOneoffPatch) string { return v.Sha256sum }).(pulumi.StringOutput) +} + +// The size of one-off patch in kilobytes. +func (o GetOneoffPatchesOneoffPatchOutput) SizeInKbs() pulumi.Float64Output { + return o.ApplyT(func(v GetOneoffPatchesOneoffPatch) float64 { return v.SizeInKbs }).(pulumi.Float64Output) +} + +// A filter to return only resources that match the given lifecycle state exactly +func (o GetOneoffPatchesOneoffPatchOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v GetOneoffPatchesOneoffPatch) string { return v.State }).(pulumi.StringOutput) +} + +// The date and time one-off patch was created. +func (o GetOneoffPatchesOneoffPatchOutput) TimeCreated() pulumi.StringOutput { + return o.ApplyT(func(v GetOneoffPatchesOneoffPatch) string { return v.TimeCreated }).(pulumi.StringOutput) +} + +// The date and time until which the one-off patch will be available for download. +func (o GetOneoffPatchesOneoffPatchOutput) TimeOfExpiration() pulumi.StringOutput { + return o.ApplyT(func(v GetOneoffPatchesOneoffPatch) string { return v.TimeOfExpiration }).(pulumi.StringOutput) +} + +// The date and time one-off patch was updated. +func (o GetOneoffPatchesOneoffPatchOutput) TimeUpdated() pulumi.StringOutput { + return o.ApplyT(func(v GetOneoffPatchesOneoffPatch) string { return v.TimeUpdated }).(pulumi.StringOutput) +} + +type GetOneoffPatchesOneoffPatchArrayOutput struct{ *pulumi.OutputState } + +func (GetOneoffPatchesOneoffPatchArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetOneoffPatchesOneoffPatch)(nil)).Elem() +} + +func (o GetOneoffPatchesOneoffPatchArrayOutput) ToGetOneoffPatchesOneoffPatchArrayOutput() GetOneoffPatchesOneoffPatchArrayOutput { + return o +} + +func (o GetOneoffPatchesOneoffPatchArrayOutput) ToGetOneoffPatchesOneoffPatchArrayOutputWithContext(ctx context.Context) GetOneoffPatchesOneoffPatchArrayOutput { + return o +} + +func (o GetOneoffPatchesOneoffPatchArrayOutput) Index(i pulumi.IntInput) GetOneoffPatchesOneoffPatchOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetOneoffPatchesOneoffPatch { + return vs[0].([]GetOneoffPatchesOneoffPatch)[vs[1].(int)] + }).(GetOneoffPatchesOneoffPatchOutput) +} + +type GetPluggableDatabaseConnectionString struct { + // All connection strings to use to connect to the pluggable database. + AllConnectionStrings map[string]interface{} `pulumi:"allConnectionStrings"` + // A host name-based PDB connection string. + PdbDefault string `pulumi:"pdbDefault"` + // An IP-based PDB connection string. + PdbIpDefault string `pulumi:"pdbIpDefault"` +} + +// GetPluggableDatabaseConnectionStringInput is an input type that accepts GetPluggableDatabaseConnectionStringArgs and GetPluggableDatabaseConnectionStringOutput values. +// You can construct a concrete instance of `GetPluggableDatabaseConnectionStringInput` via: +// +// GetPluggableDatabaseConnectionStringArgs{...} +type GetPluggableDatabaseConnectionStringInput interface { + pulumi.Input + + ToGetPluggableDatabaseConnectionStringOutput() GetPluggableDatabaseConnectionStringOutput + ToGetPluggableDatabaseConnectionStringOutputWithContext(context.Context) GetPluggableDatabaseConnectionStringOutput +} + +type GetPluggableDatabaseConnectionStringArgs struct { + // All connection strings to use to connect to the pluggable database. + AllConnectionStrings pulumi.MapInput `pulumi:"allConnectionStrings"` + // A host name-based PDB connection string. + PdbDefault pulumi.StringInput `pulumi:"pdbDefault"` + // An IP-based PDB connection string. + PdbIpDefault pulumi.StringInput `pulumi:"pdbIpDefault"` +} + +func (GetPluggableDatabaseConnectionStringArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPluggableDatabaseConnectionString)(nil)).Elem() +} + +func (i GetPluggableDatabaseConnectionStringArgs) ToGetPluggableDatabaseConnectionStringOutput() GetPluggableDatabaseConnectionStringOutput { + return i.ToGetPluggableDatabaseConnectionStringOutputWithContext(context.Background()) +} + +func (i GetPluggableDatabaseConnectionStringArgs) ToGetPluggableDatabaseConnectionStringOutputWithContext(ctx context.Context) GetPluggableDatabaseConnectionStringOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPluggableDatabaseConnectionStringOutput) +} + +// GetPluggableDatabaseConnectionStringArrayInput is an input type that accepts GetPluggableDatabaseConnectionStringArray and GetPluggableDatabaseConnectionStringArrayOutput values. +// You can construct a concrete instance of `GetPluggableDatabaseConnectionStringArrayInput` via: +// +// GetPluggableDatabaseConnectionStringArray{ GetPluggableDatabaseConnectionStringArgs{...} } +type GetPluggableDatabaseConnectionStringArrayInput interface { + pulumi.Input + + ToGetPluggableDatabaseConnectionStringArrayOutput() GetPluggableDatabaseConnectionStringArrayOutput + ToGetPluggableDatabaseConnectionStringArrayOutputWithContext(context.Context) GetPluggableDatabaseConnectionStringArrayOutput +} + +type GetPluggableDatabaseConnectionStringArray []GetPluggableDatabaseConnectionStringInput + +func (GetPluggableDatabaseConnectionStringArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPluggableDatabaseConnectionString)(nil)).Elem() +} + +func (i GetPluggableDatabaseConnectionStringArray) ToGetPluggableDatabaseConnectionStringArrayOutput() GetPluggableDatabaseConnectionStringArrayOutput { + return i.ToGetPluggableDatabaseConnectionStringArrayOutputWithContext(context.Background()) +} + +func (i GetPluggableDatabaseConnectionStringArray) ToGetPluggableDatabaseConnectionStringArrayOutputWithContext(ctx context.Context) GetPluggableDatabaseConnectionStringArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPluggableDatabaseConnectionStringArrayOutput) +} + +type GetPluggableDatabaseConnectionStringOutput struct{ *pulumi.OutputState } + +func (GetPluggableDatabaseConnectionStringOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPluggableDatabaseConnectionString)(nil)).Elem() +} + +func (o GetPluggableDatabaseConnectionStringOutput) ToGetPluggableDatabaseConnectionStringOutput() GetPluggableDatabaseConnectionStringOutput { + return o +} + +func (o GetPluggableDatabaseConnectionStringOutput) ToGetPluggableDatabaseConnectionStringOutputWithContext(ctx context.Context) GetPluggableDatabaseConnectionStringOutput { + return o +} + +// All connection strings to use to connect to the pluggable database. +func (o GetPluggableDatabaseConnectionStringOutput) AllConnectionStrings() pulumi.MapOutput { + return o.ApplyT(func(v GetPluggableDatabaseConnectionString) map[string]interface{} { return v.AllConnectionStrings }).(pulumi.MapOutput) +} + +// A host name-based PDB connection string. +func (o GetPluggableDatabaseConnectionStringOutput) PdbDefault() pulumi.StringOutput { + return o.ApplyT(func(v GetPluggableDatabaseConnectionString) string { return v.PdbDefault }).(pulumi.StringOutput) +} + +// An IP-based PDB connection string. +func (o GetPluggableDatabaseConnectionStringOutput) PdbIpDefault() pulumi.StringOutput { + return o.ApplyT(func(v GetPluggableDatabaseConnectionString) string { return v.PdbIpDefault }).(pulumi.StringOutput) +} + +type GetPluggableDatabaseConnectionStringArrayOutput struct{ *pulumi.OutputState } + +func (GetPluggableDatabaseConnectionStringArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPluggableDatabaseConnectionString)(nil)).Elem() +} + +func (o GetPluggableDatabaseConnectionStringArrayOutput) ToGetPluggableDatabaseConnectionStringArrayOutput() GetPluggableDatabaseConnectionStringArrayOutput { + return o +} + +func (o GetPluggableDatabaseConnectionStringArrayOutput) ToGetPluggableDatabaseConnectionStringArrayOutputWithContext(ctx context.Context) GetPluggableDatabaseConnectionStringArrayOutput { + return o +} + +func (o GetPluggableDatabaseConnectionStringArrayOutput) Index(i pulumi.IntInput) GetPluggableDatabaseConnectionStringOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPluggableDatabaseConnectionString { + return vs[0].([]GetPluggableDatabaseConnectionString)[vs[1].(int)] + }).(GetPluggableDatabaseConnectionStringOutput) +} + type GetPluggableDatabasePdbCreationTypeDetail struct { CreationType string `pulumi:"creationType"` DblinkUserPassword string `pulumi:"dblinkUserPassword"` @@ -5753,6 +6571,18 @@ func (o GetVmClustersVmClusterDataCollectionOptionArrayOutput) Index(i pulumi.In } func init() { + pulumi.RegisterInputType(reflect.TypeOf((*GetManagedPreferredCredentialsFilterInput)(nil)).Elem(), GetManagedPreferredCredentialsFilterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetManagedPreferredCredentialsFilterArrayInput)(nil)).Elem(), GetManagedPreferredCredentialsFilterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetManagedPreferredCredentialsPreferredCredentialCollectionInput)(nil)).Elem(), GetManagedPreferredCredentialsPreferredCredentialCollectionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetManagedPreferredCredentialsPreferredCredentialCollectionArrayInput)(nil)).Elem(), GetManagedPreferredCredentialsPreferredCredentialCollectionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetManagedPreferredCredentialsPreferredCredentialCollectionItemInput)(nil)).Elem(), GetManagedPreferredCredentialsPreferredCredentialCollectionItemArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayInput)(nil)).Elem(), GetManagedPreferredCredentialsPreferredCredentialCollectionItemArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetOneoffPatchesFilterInput)(nil)).Elem(), GetOneoffPatchesFilterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetOneoffPatchesFilterArrayInput)(nil)).Elem(), GetOneoffPatchesFilterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetOneoffPatchesOneoffPatchInput)(nil)).Elem(), GetOneoffPatchesOneoffPatchArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetOneoffPatchesOneoffPatchArrayInput)(nil)).Elem(), GetOneoffPatchesOneoffPatchArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPluggableDatabaseConnectionStringInput)(nil)).Elem(), GetPluggableDatabaseConnectionStringArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPluggableDatabaseConnectionStringArrayInput)(nil)).Elem(), GetPluggableDatabaseConnectionStringArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetPluggableDatabasePdbCreationTypeDetailInput)(nil)).Elem(), GetPluggableDatabasePdbCreationTypeDetailArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetPluggableDatabasePdbCreationTypeDetailArrayInput)(nil)).Elem(), GetPluggableDatabasePdbCreationTypeDetailArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetPluggableDatabasePdbCreationTypeDetailRefreshableCloneDetailInput)(nil)).Elem(), GetPluggableDatabasePdbCreationTypeDetailRefreshableCloneDetailArgs{}) @@ -5839,6 +6669,18 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetVmClustersVmClusterArrayInput)(nil)).Elem(), GetVmClustersVmClusterArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetVmClustersVmClusterDataCollectionOptionInput)(nil)).Elem(), GetVmClustersVmClusterDataCollectionOptionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetVmClustersVmClusterDataCollectionOptionArrayInput)(nil)).Elem(), GetVmClustersVmClusterDataCollectionOptionArray{}) + pulumi.RegisterOutputType(GetManagedPreferredCredentialsFilterOutput{}) + pulumi.RegisterOutputType(GetManagedPreferredCredentialsFilterArrayOutput{}) + pulumi.RegisterOutputType(GetManagedPreferredCredentialsPreferredCredentialCollectionOutput{}) + pulumi.RegisterOutputType(GetManagedPreferredCredentialsPreferredCredentialCollectionArrayOutput{}) + pulumi.RegisterOutputType(GetManagedPreferredCredentialsPreferredCredentialCollectionItemOutput{}) + pulumi.RegisterOutputType(GetManagedPreferredCredentialsPreferredCredentialCollectionItemArrayOutput{}) + pulumi.RegisterOutputType(GetOneoffPatchesFilterOutput{}) + pulumi.RegisterOutputType(GetOneoffPatchesFilterArrayOutput{}) + pulumi.RegisterOutputType(GetOneoffPatchesOneoffPatchOutput{}) + pulumi.RegisterOutputType(GetOneoffPatchesOneoffPatchArrayOutput{}) + pulumi.RegisterOutputType(GetPluggableDatabaseConnectionStringOutput{}) + pulumi.RegisterOutputType(GetPluggableDatabaseConnectionStringArrayOutput{}) pulumi.RegisterOutputType(GetPluggableDatabasePdbCreationTypeDetailOutput{}) pulumi.RegisterOutputType(GetPluggableDatabasePdbCreationTypeDetailArrayOutput{}) pulumi.RegisterOutputType(GetPluggableDatabasePdbCreationTypeDetailRefreshableCloneDetailOutput{}) diff --git a/sdk/go/oci/disasterrecovery/pulumiTypes.go b/sdk/go/oci/disasterrecovery/pulumiTypes.go index 76585ada19..6f9b05df56 100644 --- a/sdk/go/oci/disasterrecovery/pulumiTypes.go +++ b/sdk/go/oci/disasterrecovery/pulumiTypes.go @@ -774,6 +774,8 @@ type DrPlanPlanGroup struct { DisplayName *string `pulumi:"displayName"` // The unique id of the step. Must not be modified by the user. Example: `sgid1.step..uniqueID` Id *string `pulumi:"id"` + // A flag indicating whether this group should be enabled for execution. This flag is only applicable to the `USER_DEFINED_PAUSE` group. The flag should be null for the remaining group types. Example: `true` + IsPauseEnabled *bool `pulumi:"isPauseEnabled"` // The list of steps in the group. Steps []DrPlanPlanGroupStep `pulumi:"steps"` // The type of DR plan to be created. @@ -799,6 +801,8 @@ type DrPlanPlanGroupArgs struct { DisplayName pulumi.StringPtrInput `pulumi:"displayName"` // The unique id of the step. Must not be modified by the user. Example: `sgid1.step..uniqueID` Id pulumi.StringPtrInput `pulumi:"id"` + // A flag indicating whether this group should be enabled for execution. This flag is only applicable to the `USER_DEFINED_PAUSE` group. The flag should be null for the remaining group types. Example: `true` + IsPauseEnabled pulumi.BoolPtrInput `pulumi:"isPauseEnabled"` // The list of steps in the group. Steps DrPlanPlanGroupStepArrayInput `pulumi:"steps"` // The type of DR plan to be created. @@ -869,6 +873,11 @@ func (o DrPlanPlanGroupOutput) Id() pulumi.StringPtrOutput { return o.ApplyT(func(v DrPlanPlanGroup) *string { return v.Id }).(pulumi.StringPtrOutput) } +// A flag indicating whether this group should be enabled for execution. This flag is only applicable to the `USER_DEFINED_PAUSE` group. The flag should be null for the remaining group types. Example: `true` +func (o DrPlanPlanGroupOutput) IsPauseEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v DrPlanPlanGroup) *bool { return v.IsPauseEnabled }).(pulumi.BoolPtrOutput) +} + // The list of steps in the group. func (o DrPlanPlanGroupOutput) Steps() DrPlanPlanGroupStepArrayOutput { return o.ApplyT(func(v DrPlanPlanGroup) []DrPlanPlanGroupStep { return v.Steps }).(DrPlanPlanGroupStepArrayOutput) @@ -5046,6 +5055,8 @@ type GetDrPlanPlanGroup struct { DisplayName string `pulumi:"displayName"` // The unique id of the step. Must not be modified by the user. Example: `sgid1.step..uniqueID` Id string `pulumi:"id"` + // A flag indicating whether this group should be enabled for execution. This flag is only applicable to the `USER_DEFINED_PAUSE` group. The flag should be null for the remaining group types. Example: `true` + IsPauseEnabled bool `pulumi:"isPauseEnabled"` // The list of steps in the group. Steps []GetDrPlanPlanGroupStep `pulumi:"steps"` // The type of the DR plan. @@ -5068,6 +5079,8 @@ type GetDrPlanPlanGroupArgs struct { DisplayName pulumi.StringInput `pulumi:"displayName"` // The unique id of the step. Must not be modified by the user. Example: `sgid1.step..uniqueID` Id pulumi.StringInput `pulumi:"id"` + // A flag indicating whether this group should be enabled for execution. This flag is only applicable to the `USER_DEFINED_PAUSE` group. The flag should be null for the remaining group types. Example: `true` + IsPauseEnabled pulumi.BoolInput `pulumi:"isPauseEnabled"` // The list of steps in the group. Steps GetDrPlanPlanGroupStepArrayInput `pulumi:"steps"` // The type of the DR plan. @@ -5135,6 +5148,11 @@ func (o GetDrPlanPlanGroupOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v GetDrPlanPlanGroup) string { return v.Id }).(pulumi.StringOutput) } +// A flag indicating whether this group should be enabled for execution. This flag is only applicable to the `USER_DEFINED_PAUSE` group. The flag should be null for the remaining group types. Example: `true` +func (o GetDrPlanPlanGroupOutput) IsPauseEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetDrPlanPlanGroup) bool { return v.IsPauseEnabled }).(pulumi.BoolOutput) +} + // The list of steps in the group. func (o GetDrPlanPlanGroupOutput) Steps() GetDrPlanPlanGroupStepArrayOutput { return o.ApplyT(func(v GetDrPlanPlanGroup) []GetDrPlanPlanGroupStep { return v.Steps }).(GetDrPlanPlanGroupStepArrayOutput) @@ -5942,6 +5960,8 @@ type GetDrPlansDrPlanCollectionItemPlanGroup struct { DisplayName string `pulumi:"displayName"` // The unique id of the step. Must not be modified by the user. Example: `sgid1.step..uniqueID` Id string `pulumi:"id"` + // A flag indicating whether this group should be enabled for execution. This flag is only applicable to the `USER_DEFINED_PAUSE` group. The flag should be null for the remaining group types. Example: `true` + IsPauseEnabled bool `pulumi:"isPauseEnabled"` // The list of steps in the group. Steps []GetDrPlansDrPlanCollectionItemPlanGroupStep `pulumi:"steps"` // The type of the DR plan. @@ -5964,6 +5984,8 @@ type GetDrPlansDrPlanCollectionItemPlanGroupArgs struct { DisplayName pulumi.StringInput `pulumi:"displayName"` // The unique id of the step. Must not be modified by the user. Example: `sgid1.step..uniqueID` Id pulumi.StringInput `pulumi:"id"` + // A flag indicating whether this group should be enabled for execution. This flag is only applicable to the `USER_DEFINED_PAUSE` group. The flag should be null for the remaining group types. Example: `true` + IsPauseEnabled pulumi.BoolInput `pulumi:"isPauseEnabled"` // The list of steps in the group. Steps GetDrPlansDrPlanCollectionItemPlanGroupStepArrayInput `pulumi:"steps"` // The type of the DR plan. @@ -6031,6 +6053,11 @@ func (o GetDrPlansDrPlanCollectionItemPlanGroupOutput) Id() pulumi.StringOutput return o.ApplyT(func(v GetDrPlansDrPlanCollectionItemPlanGroup) string { return v.Id }).(pulumi.StringOutput) } +// A flag indicating whether this group should be enabled for execution. This flag is only applicable to the `USER_DEFINED_PAUSE` group. The flag should be null for the remaining group types. Example: `true` +func (o GetDrPlansDrPlanCollectionItemPlanGroupOutput) IsPauseEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetDrPlansDrPlanCollectionItemPlanGroup) bool { return v.IsPauseEnabled }).(pulumi.BoolOutput) +} + // The list of steps in the group. func (o GetDrPlansDrPlanCollectionItemPlanGroupOutput) Steps() GetDrPlansDrPlanCollectionItemPlanGroupStepArrayOutput { return o.ApplyT(func(v GetDrPlansDrPlanCollectionItemPlanGroup) []GetDrPlansDrPlanCollectionItemPlanGroupStep { diff --git a/sdk/go/oci/loadbalancer/backend.go b/sdk/go/oci/loadbalancer/backend.go index d7ede7bac8..64f455f6d3 100644 --- a/sdk/go/oci/loadbalancer/backend.go +++ b/sdk/go/oci/loadbalancer/backend.go @@ -37,6 +37,7 @@ import ( // Port: pulumi.Any(backendPort), // Backup: pulumi.Any(backendBackup), // Drain: pulumi.Any(backendDrain), +// MaxConnections: pulumi.Any(backendMaxConnections), // Offline: pulumi.Any(backendOffline), // Weight: pulumi.Any(backendWeight), // }) @@ -73,6 +74,8 @@ type Backend struct { IpAddress pulumi.StringOutput `pulumi:"ipAddress"` // The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the load balancer associated with the backend set and servers. LoadBalancerId pulumi.StringOutput `pulumi:"loadBalancerId"` + // (Updatable) The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` + MaxConnections pulumi.IntOutput `pulumi:"maxConnections"` // A read-only field showing the IP address and port that uniquely identify this backend server in the backend set. Example: `10.0.0.3:8080` Name pulumi.StringOutput `pulumi:"name"` // (Updatable) Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` @@ -143,6 +146,8 @@ type backendState struct { IpAddress *string `pulumi:"ipAddress"` // The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the load balancer associated with the backend set and servers. LoadBalancerId *string `pulumi:"loadBalancerId"` + // (Updatable) The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` + MaxConnections *int `pulumi:"maxConnections"` // A read-only field showing the IP address and port that uniquely identify this backend server in the backend set. Example: `10.0.0.3:8080` Name *string `pulumi:"name"` // (Updatable) Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` @@ -172,6 +177,8 @@ type BackendState struct { IpAddress pulumi.StringPtrInput // The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the load balancer associated with the backend set and servers. LoadBalancerId pulumi.StringPtrInput + // (Updatable) The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` + MaxConnections pulumi.IntPtrInput // A read-only field showing the IP address and port that uniquely identify this backend server in the backend set. Example: `10.0.0.3:8080` Name pulumi.StringPtrInput // (Updatable) Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` @@ -205,6 +212,8 @@ type backendArgs struct { IpAddress string `pulumi:"ipAddress"` // The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the load balancer associated with the backend set and servers. LoadBalancerId string `pulumi:"loadBalancerId"` + // (Updatable) The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` + MaxConnections *int `pulumi:"maxConnections"` // (Updatable) Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` Offline *bool `pulumi:"offline"` // The communication port for the backend server. Example: `8080` @@ -232,6 +241,8 @@ type BackendArgs struct { IpAddress pulumi.StringInput // The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the load balancer associated with the backend set and servers. LoadBalancerId pulumi.StringInput + // (Updatable) The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` + MaxConnections pulumi.IntPtrInput // (Updatable) Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` Offline pulumi.BoolPtrInput // The communication port for the backend server. Example: `8080` @@ -359,6 +370,11 @@ func (o BackendOutput) LoadBalancerId() pulumi.StringOutput { return o.ApplyT(func(v *Backend) pulumi.StringOutput { return v.LoadBalancerId }).(pulumi.StringOutput) } +// (Updatable) The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` +func (o BackendOutput) MaxConnections() pulumi.IntOutput { + return o.ApplyT(func(v *Backend) pulumi.IntOutput { return v.MaxConnections }).(pulumi.IntOutput) +} + // A read-only field showing the IP address and port that uniquely identify this backend server in the backend set. Example: `10.0.0.3:8080` func (o BackendOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *Backend) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) diff --git a/sdk/go/oci/loadbalancer/backendSet.go b/sdk/go/oci/loadbalancer/backendSet.go index 4079db3ae4..5c7f13e907 100644 --- a/sdk/go/oci/loadbalancer/backendSet.go +++ b/sdk/go/oci/loadbalancer/backendSet.go @@ -46,9 +46,10 @@ import ( // TimeoutInMillis: pulumi.Any(backendSetHealthCheckerTimeoutInMillis), // UrlPath: pulumi.Any(backendSetHealthCheckerUrlPath), // }, -// LoadBalancerId: pulumi.Any(testLoadBalancer.Id), -// Name: pulumi.Any(backendSetName), -// Policy: pulumi.Any(backendSetPolicy), +// LoadBalancerId: pulumi.Any(testLoadBalancer.Id), +// Name: pulumi.Any(backendSetName), +// Policy: pulumi.Any(backendSetPolicy), +// BackendMaxConnections: pulumi.Any(backendSetBackendMaxConnections), // LbCookieSessionPersistenceConfiguration: &loadbalancer.BackendSetLbCookieSessionPersistenceConfigurationArgs{ // CookieName: pulumi.Any(backendSetLbCookieSessionPersistenceConfigurationCookieName), // DisableFallback: pulumi.Any(backendSetLbCookieSessionPersistenceConfigurationDisableFallback), @@ -96,6 +97,9 @@ import ( type BackendSet struct { pulumi.CustomResourceState + // (Updatable) The maximum number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting. If this is not set then the number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting is unlimited. Example: `300` + BackendMaxConnections pulumi.IntOutput `pulumi:"backendMaxConnections"` + // (Updatable) Backends BackendSetBackendArrayOutput `pulumi:"backends"` // (Updatable) The health check policy's configuration details. HealthChecker BackendSetHealthCheckerOutput `pulumi:"healthChecker"` @@ -185,6 +189,9 @@ func GetBackendSet(ctx *pulumi.Context, // Input properties used for looking up and filtering BackendSet resources. type backendSetState struct { + // (Updatable) The maximum number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting. If this is not set then the number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting is unlimited. Example: `300` + BackendMaxConnections *int `pulumi:"backendMaxConnections"` + // (Updatable) Backends []BackendSetBackend `pulumi:"backends"` // (Updatable) The health check policy's configuration details. HealthChecker *BackendSetHealthChecker `pulumi:"healthChecker"` @@ -236,6 +243,9 @@ type backendSetState struct { } type BackendSetState struct { + // (Updatable) The maximum number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting. If this is not set then the number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting is unlimited. Example: `300` + BackendMaxConnections pulumi.IntPtrInput + // (Updatable) Backends BackendSetBackendArrayInput // (Updatable) The health check policy's configuration details. HealthChecker BackendSetHealthCheckerPtrInput @@ -291,6 +301,8 @@ func (BackendSetState) ElementType() reflect.Type { } type backendSetArgs struct { + // (Updatable) The maximum number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting. If this is not set then the number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting is unlimited. Example: `300` + BackendMaxConnections *int `pulumi:"backendMaxConnections"` // (Updatable) The health check policy's configuration details. HealthChecker BackendSetHealthChecker `pulumi:"healthChecker"` // (Updatable) The configuration details for implementing load balancer cookie session persistence (LB cookie stickiness). @@ -341,6 +353,8 @@ type backendSetArgs struct { // The set of arguments for constructing a BackendSet resource. type BackendSetArgs struct { + // (Updatable) The maximum number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting. If this is not set then the number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting is unlimited. Example: `300` + BackendMaxConnections pulumi.IntPtrInput // (Updatable) The health check policy's configuration details. HealthChecker BackendSetHealthCheckerInput // (Updatable) The configuration details for implementing load balancer cookie session persistence (LB cookie stickiness). @@ -476,6 +490,12 @@ func (o BackendSetOutput) ToBackendSetOutputWithContext(ctx context.Context) Bac return o } +// (Updatable) The maximum number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting. If this is not set then the number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting is unlimited. Example: `300` +func (o BackendSetOutput) BackendMaxConnections() pulumi.IntOutput { + return o.ApplyT(func(v *BackendSet) pulumi.IntOutput { return v.BackendMaxConnections }).(pulumi.IntOutput) +} + +// (Updatable) func (o BackendSetOutput) Backends() BackendSetBackendArrayOutput { return o.ApplyT(func(v *BackendSet) BackendSetBackendArrayOutput { return v.Backends }).(BackendSetBackendArrayOutput) } diff --git a/sdk/go/oci/loadbalancer/getListenerRules.go b/sdk/go/oci/loadbalancer/getListenerRules.go index e1eb40621c..590783fc9e 100644 --- a/sdk/go/oci/loadbalancer/getListenerRules.go +++ b/sdk/go/oci/loadbalancer/getListenerRules.go @@ -60,7 +60,7 @@ func GetListenerRules(ctx *pulumi.Context, args *GetListenerRulesArgs, opts ...p // A collection of arguments for invoking getListenerRules. type GetListenerRulesArgs struct { Filters []GetListenerRulesFilter `pulumi:"filters"` - // The name of the listener the rules are associated with. + // The name of the listener the rules are associated with. Example: `exampleListener` ListenerName string `pulumi:"listenerName"` // The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the load balancer associated with the listener. LoadBalancerId string `pulumi:"loadBalancerId"` @@ -93,7 +93,7 @@ func GetListenerRulesOutput(ctx *pulumi.Context, args GetListenerRulesOutputArgs // A collection of arguments for invoking getListenerRules. type GetListenerRulesOutputArgs struct { Filters GetListenerRulesFilterArrayInput `pulumi:"filters"` - // The name of the listener the rules are associated with. + // The name of the listener the rules are associated with. Example: `exampleListener` ListenerName pulumi.StringInput `pulumi:"listenerName"` // The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the load balancer associated with the listener. LoadBalancerId pulumi.StringInput `pulumi:"loadBalancerId"` diff --git a/sdk/go/oci/loadbalancer/loadBalancer.go b/sdk/go/oci/loadbalancer/loadBalancer.go index 06420aabee..9407d6ed39 100644 --- a/sdk/go/oci/loadbalancer/loadBalancer.go +++ b/sdk/go/oci/loadbalancer/loadBalancer.go @@ -68,9 +68,10 @@ import ( // FreeformTags: pulumi.Map{ // "Department": pulumi.Any("Finance"), // }, -// IpMode: pulumi.Any(loadBalancerIpMode), -// IsPrivate: pulumi.Any(loadBalancerIsPrivate), -// NetworkSecurityGroupIds: pulumi.Any(loadBalancerNetworkSecurityGroupIds), +// IpMode: pulumi.Any(loadBalancerIpMode), +// IsDeleteProtectionEnabled: pulumi.Any(loadBalancerIsDeleteProtectionEnabled), +// IsPrivate: pulumi.Any(loadBalancerIsPrivate), +// NetworkSecurityGroupIds: pulumi.Any(loadBalancerNetworkSecurityGroupIds), // ReservedIps: loadbalancer.LoadBalancerReservedIpArray{ // &loadbalancer.LoadBalancerReservedIpArgs{ // Id: pulumi.Any(loadBalancerReservedIpsId), @@ -122,6 +123,14 @@ type LoadBalancer struct { // // Example: "ipMode":"IPV6" IpMode pulumi.StringOutput `pulumi:"ipMode"` + // (Updatable) Whether or not the load balancer has delete protection enabled. + // + // If "true", the loadbalancer will be protected against deletion if configured to accept traffic. + // + // If "false", the loadbalancer will not be protected against deletion. + // + // Delete protection will not be enabled unless a value of "true" is provided. Example: `true` + IsDeleteProtectionEnabled pulumi.BoolOutput `pulumi:"isDeleteProtectionEnabled"` // Whether the load balancer has a VCN-local (private) IP address. // // If "true", the service assigns a private IP address to the load balancer. @@ -144,7 +153,7 @@ type LoadBalancer struct { NetworkSecurityGroupIds pulumi.StringArrayOutput `pulumi:"networkSecurityGroupIds"` // An array of reserved Ips. Pre-created public IP that will be used as the IP of this load balancer. This reserved IP will not be deleted when load balancer is deleted. This ip should not be already mapped to any other resource. ReservedIps LoadBalancerReservedIpArrayOutput `pulumi:"reservedIps"` - // (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: Starting May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. + // (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: After May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. Shape pulumi.StringOutput `pulumi:"shape"` // (Updatable) The configuration details to create load balancer using Flexible shape. This is required only if shapeName is `Flexible`. ShapeDetails LoadBalancerShapeDetailsOutput `pulumi:"shapeDetails"` @@ -225,6 +234,14 @@ type loadBalancerState struct { // // Example: "ipMode":"IPV6" IpMode *string `pulumi:"ipMode"` + // (Updatable) Whether or not the load balancer has delete protection enabled. + // + // If "true", the loadbalancer will be protected against deletion if configured to accept traffic. + // + // If "false", the loadbalancer will not be protected against deletion. + // + // Delete protection will not be enabled unless a value of "true" is provided. Example: `true` + IsDeleteProtectionEnabled *bool `pulumi:"isDeleteProtectionEnabled"` // Whether the load balancer has a VCN-local (private) IP address. // // If "true", the service assigns a private IP address to the load balancer. @@ -247,7 +264,7 @@ type loadBalancerState struct { NetworkSecurityGroupIds []string `pulumi:"networkSecurityGroupIds"` // An array of reserved Ips. Pre-created public IP that will be used as the IP of this load balancer. This reserved IP will not be deleted when load balancer is deleted. This ip should not be already mapped to any other resource. ReservedIps []LoadBalancerReservedIp `pulumi:"reservedIps"` - // (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: Starting May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. + // (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: After May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. Shape *string `pulumi:"shape"` // (Updatable) The configuration details to create load balancer using Flexible shape. This is required only if shapeName is `Flexible`. ShapeDetails *LoadBalancerShapeDetails `pulumi:"shapeDetails"` @@ -287,6 +304,14 @@ type LoadBalancerState struct { // // Example: "ipMode":"IPV6" IpMode pulumi.StringPtrInput + // (Updatable) Whether or not the load balancer has delete protection enabled. + // + // If "true", the loadbalancer will be protected against deletion if configured to accept traffic. + // + // If "false", the loadbalancer will not be protected against deletion. + // + // Delete protection will not be enabled unless a value of "true" is provided. Example: `true` + IsDeleteProtectionEnabled pulumi.BoolPtrInput // Whether the load balancer has a VCN-local (private) IP address. // // If "true", the service assigns a private IP address to the load balancer. @@ -309,7 +334,7 @@ type LoadBalancerState struct { NetworkSecurityGroupIds pulumi.StringArrayInput // An array of reserved Ips. Pre-created public IP that will be used as the IP of this load balancer. This reserved IP will not be deleted when load balancer is deleted. This ip should not be already mapped to any other resource. ReservedIps LoadBalancerReservedIpArrayInput - // (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: Starting May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. + // (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: After May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. Shape pulumi.StringPtrInput // (Updatable) The configuration details to create load balancer using Flexible shape. This is required only if shapeName is `Flexible`. ShapeDetails LoadBalancerShapeDetailsPtrInput @@ -347,6 +372,14 @@ type loadBalancerArgs struct { // // Example: "ipMode":"IPV6" IpMode *string `pulumi:"ipMode"` + // (Updatable) Whether or not the load balancer has delete protection enabled. + // + // If "true", the loadbalancer will be protected against deletion if configured to accept traffic. + // + // If "false", the loadbalancer will not be protected against deletion. + // + // Delete protection will not be enabled unless a value of "true" is provided. Example: `true` + IsDeleteProtectionEnabled *bool `pulumi:"isDeleteProtectionEnabled"` // Whether the load balancer has a VCN-local (private) IP address. // // If "true", the service assigns a private IP address to the load balancer. @@ -369,7 +402,7 @@ type loadBalancerArgs struct { NetworkSecurityGroupIds []string `pulumi:"networkSecurityGroupIds"` // An array of reserved Ips. Pre-created public IP that will be used as the IP of this load balancer. This reserved IP will not be deleted when load balancer is deleted. This ip should not be already mapped to any other resource. ReservedIps []LoadBalancerReservedIp `pulumi:"reservedIps"` - // (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: Starting May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. + // (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: After May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. Shape string `pulumi:"shape"` // (Updatable) The configuration details to create load balancer using Flexible shape. This is required only if shapeName is `Flexible`. ShapeDetails *LoadBalancerShapeDetails `pulumi:"shapeDetails"` @@ -398,6 +431,14 @@ type LoadBalancerArgs struct { // // Example: "ipMode":"IPV6" IpMode pulumi.StringPtrInput + // (Updatable) Whether or not the load balancer has delete protection enabled. + // + // If "true", the loadbalancer will be protected against deletion if configured to accept traffic. + // + // If "false", the loadbalancer will not be protected against deletion. + // + // Delete protection will not be enabled unless a value of "true" is provided. Example: `true` + IsDeleteProtectionEnabled pulumi.BoolPtrInput // Whether the load balancer has a VCN-local (private) IP address. // // If "true", the service assigns a private IP address to the load balancer. @@ -420,7 +461,7 @@ type LoadBalancerArgs struct { NetworkSecurityGroupIds pulumi.StringArrayInput // An array of reserved Ips. Pre-created public IP that will be used as the IP of this load balancer. This reserved IP will not be deleted when load balancer is deleted. This ip should not be already mapped to any other resource. ReservedIps LoadBalancerReservedIpArrayInput - // (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: Starting May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. + // (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: After May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. Shape pulumi.StringInput // (Updatable) The configuration details to create load balancer using Flexible shape. This is required only if shapeName is `Flexible`. ShapeDetails LoadBalancerShapeDetailsPtrInput @@ -561,6 +602,17 @@ func (o LoadBalancerOutput) IpMode() pulumi.StringOutput { return o.ApplyT(func(v *LoadBalancer) pulumi.StringOutput { return v.IpMode }).(pulumi.StringOutput) } +// (Updatable) Whether or not the load balancer has delete protection enabled. +// +// If "true", the loadbalancer will be protected against deletion if configured to accept traffic. +// +// If "false", the loadbalancer will not be protected against deletion. +// +// Delete protection will not be enabled unless a value of "true" is provided. Example: `true` +func (o LoadBalancerOutput) IsDeleteProtectionEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v *LoadBalancer) pulumi.BoolOutput { return v.IsDeleteProtectionEnabled }).(pulumi.BoolOutput) +} + // Whether the load balancer has a VCN-local (private) IP address. // // If "true", the service assigns a private IP address to the load balancer. @@ -592,7 +644,7 @@ func (o LoadBalancerOutput) ReservedIps() LoadBalancerReservedIpArrayOutput { return o.ApplyT(func(v *LoadBalancer) LoadBalancerReservedIpArrayOutput { return v.ReservedIps }).(LoadBalancerReservedIpArrayOutput) } -// (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: Starting May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. +// (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: After May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. func (o LoadBalancerOutput) Shape() pulumi.StringOutput { return o.ApplyT(func(v *LoadBalancer) pulumi.StringOutput { return v.Shape }).(pulumi.StringOutput) } diff --git a/sdk/go/oci/loadbalancer/pulumiTypes.go b/sdk/go/oci/loadbalancer/pulumiTypes.go index af819218d5..7cb8caf624 100644 --- a/sdk/go/oci/loadbalancer/pulumiTypes.go +++ b/sdk/go/oci/loadbalancer/pulumiTypes.go @@ -14,23 +14,29 @@ import ( var _ = internal.GetEnvOrDefault type BackendSetBackend struct { - // Whether the load balancer should treat this server as a backup unit. If `true`, the load balancer forwards no ingress traffic to this backend server unless all other backend servers not marked as "backup" fail the health check policy. + // (Updatable) Whether the load balancer should treat this server as a backup unit. If `true`, the load balancer forwards no ingress traffic to this backend server unless all other backend servers not marked as "backup" fail the health check policy. + // + // **Note:** You cannot add a backend server marked as `backup` to a backend set that uses the IP Hash policy. + // + // Example: `false` Backup *bool `pulumi:"backup"` - // Whether the load balancer should drain this server. Servers marked "drain" receive no new incoming traffic. Example: `false` + // (Updatable) Whether the load balancer should drain this server. Servers marked "drain" receive no new incoming traffic. Example: `false` Drain *bool `pulumi:"drain"` - // The IP address of the backend server. Example: `10.0.0.3` + // (Updatable) The IP address of the backend server. Example: `10.0.0.3` IpAddress string `pulumi:"ipAddress"` + // (Updatable) The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then the maximum number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` + MaxConnections *int `pulumi:"maxConnections"` // A friendly name for the backend set. It must be unique and it cannot be changed. // // Valid backend set names include only alphanumeric characters, dashes, and underscores. Backend set names cannot contain spaces. Avoid entering confidential information. // // Example: `exampleBackendSet` Name *string `pulumi:"name"` - // Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` + // (Updatable) Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` Offline *bool `pulumi:"offline"` // (Updatable) The backend server port against which to run the health check. If the port is not specified, the load balancer uses the port information from the `Backend` object. Example: `8080` Port int `pulumi:"port"` - // The load balancing policy weight assigned to the server. Backend servers with a higher weight receive a larger proportion of incoming traffic. For example, a server weighted '3' receives 3 times the number of new connections as a server weighted '1'. For more information on load balancing policies, see [How Load Balancing Policies Work](https://docs.cloud.oracle.com/iaas/Content/Balance/Reference/lbpolicies.htm). Example: `3` + // (Updatable) The load balancing policy weight assigned to the server. Backend servers with a higher weight receive a larger proportion of incoming traffic. For example, a server weighted '3' receives 3 times the number of new connections as a server weighted '1'. For more information on load balancing policies, see [How Load Balancing Policies Work](https://docs.cloud.oracle.com/iaas/Content/Balance/Reference/lbpolicies.htm). Example: `3` Weight *int `pulumi:"weight"` } @@ -46,23 +52,29 @@ type BackendSetBackendInput interface { } type BackendSetBackendArgs struct { - // Whether the load balancer should treat this server as a backup unit. If `true`, the load balancer forwards no ingress traffic to this backend server unless all other backend servers not marked as "backup" fail the health check policy. + // (Updatable) Whether the load balancer should treat this server as a backup unit. If `true`, the load balancer forwards no ingress traffic to this backend server unless all other backend servers not marked as "backup" fail the health check policy. + // + // **Note:** You cannot add a backend server marked as `backup` to a backend set that uses the IP Hash policy. + // + // Example: `false` Backup pulumi.BoolPtrInput `pulumi:"backup"` - // Whether the load balancer should drain this server. Servers marked "drain" receive no new incoming traffic. Example: `false` + // (Updatable) Whether the load balancer should drain this server. Servers marked "drain" receive no new incoming traffic. Example: `false` Drain pulumi.BoolPtrInput `pulumi:"drain"` - // The IP address of the backend server. Example: `10.0.0.3` + // (Updatable) The IP address of the backend server. Example: `10.0.0.3` IpAddress pulumi.StringInput `pulumi:"ipAddress"` + // (Updatable) The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then the maximum number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` + MaxConnections pulumi.IntPtrInput `pulumi:"maxConnections"` // A friendly name for the backend set. It must be unique and it cannot be changed. // // Valid backend set names include only alphanumeric characters, dashes, and underscores. Backend set names cannot contain spaces. Avoid entering confidential information. // // Example: `exampleBackendSet` Name pulumi.StringPtrInput `pulumi:"name"` - // Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` + // (Updatable) Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` Offline pulumi.BoolPtrInput `pulumi:"offline"` // (Updatable) The backend server port against which to run the health check. If the port is not specified, the load balancer uses the port information from the `Backend` object. Example: `8080` Port pulumi.IntInput `pulumi:"port"` - // The load balancing policy weight assigned to the server. Backend servers with a higher weight receive a larger proportion of incoming traffic. For example, a server weighted '3' receives 3 times the number of new connections as a server weighted '1'. For more information on load balancing policies, see [How Load Balancing Policies Work](https://docs.cloud.oracle.com/iaas/Content/Balance/Reference/lbpolicies.htm). Example: `3` + // (Updatable) The load balancing policy weight assigned to the server. Backend servers with a higher weight receive a larger proportion of incoming traffic. For example, a server weighted '3' receives 3 times the number of new connections as a server weighted '1'. For more information on load balancing policies, see [How Load Balancing Policies Work](https://docs.cloud.oracle.com/iaas/Content/Balance/Reference/lbpolicies.htm). Example: `3` Weight pulumi.IntPtrInput `pulumi:"weight"` } @@ -117,21 +129,30 @@ func (o BackendSetBackendOutput) ToBackendSetBackendOutputWithContext(ctx contex return o } -// Whether the load balancer should treat this server as a backup unit. If `true`, the load balancer forwards no ingress traffic to this backend server unless all other backend servers not marked as "backup" fail the health check policy. +// (Updatable) Whether the load balancer should treat this server as a backup unit. If `true`, the load balancer forwards no ingress traffic to this backend server unless all other backend servers not marked as "backup" fail the health check policy. +// +// **Note:** You cannot add a backend server marked as `backup` to a backend set that uses the IP Hash policy. +// +// Example: `false` func (o BackendSetBackendOutput) Backup() pulumi.BoolPtrOutput { return o.ApplyT(func(v BackendSetBackend) *bool { return v.Backup }).(pulumi.BoolPtrOutput) } -// Whether the load balancer should drain this server. Servers marked "drain" receive no new incoming traffic. Example: `false` +// (Updatable) Whether the load balancer should drain this server. Servers marked "drain" receive no new incoming traffic. Example: `false` func (o BackendSetBackendOutput) Drain() pulumi.BoolPtrOutput { return o.ApplyT(func(v BackendSetBackend) *bool { return v.Drain }).(pulumi.BoolPtrOutput) } -// The IP address of the backend server. Example: `10.0.0.3` +// (Updatable) The IP address of the backend server. Example: `10.0.0.3` func (o BackendSetBackendOutput) IpAddress() pulumi.StringOutput { return o.ApplyT(func(v BackendSetBackend) string { return v.IpAddress }).(pulumi.StringOutput) } +// (Updatable) The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then the maximum number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` +func (o BackendSetBackendOutput) MaxConnections() pulumi.IntPtrOutput { + return o.ApplyT(func(v BackendSetBackend) *int { return v.MaxConnections }).(pulumi.IntPtrOutput) +} + // A friendly name for the backend set. It must be unique and it cannot be changed. // // Valid backend set names include only alphanumeric characters, dashes, and underscores. Backend set names cannot contain spaces. Avoid entering confidential information. @@ -141,7 +162,7 @@ func (o BackendSetBackendOutput) Name() pulumi.StringPtrOutput { return o.ApplyT(func(v BackendSetBackend) *string { return v.Name }).(pulumi.StringPtrOutput) } -// Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` +// (Updatable) Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` func (o BackendSetBackendOutput) Offline() pulumi.BoolPtrOutput { return o.ApplyT(func(v BackendSetBackend) *bool { return v.Offline }).(pulumi.BoolPtrOutput) } @@ -151,7 +172,7 @@ func (o BackendSetBackendOutput) Port() pulumi.IntOutput { return o.ApplyT(func(v BackendSetBackend) int { return v.Port }).(pulumi.IntOutput) } -// The load balancing policy weight assigned to the server. Backend servers with a higher weight receive a larger proportion of incoming traffic. For example, a server weighted '3' receives 3 times the number of new connections as a server weighted '1'. For more information on load balancing policies, see [How Load Balancing Policies Work](https://docs.cloud.oracle.com/iaas/Content/Balance/Reference/lbpolicies.htm). Example: `3` +// (Updatable) The load balancing policy weight assigned to the server. Backend servers with a higher weight receive a larger proportion of incoming traffic. For example, a server weighted '3' receives 3 times the number of new connections as a server weighted '1'. For more information on load balancing policies, see [How Load Balancing Policies Work](https://docs.cloud.oracle.com/iaas/Content/Balance/Reference/lbpolicies.htm). Example: `3` func (o BackendSetBackendOutput) Weight() pulumi.IntPtrOutput { return o.ApplyT(func(v BackendSetBackend) *int { return v.Weight }).(pulumi.IntPtrOutput) } @@ -1996,8 +2017,7 @@ type LoadBalancerIpAddressDetail struct { // An IP address. Example: `192.168.0.3` IpAddress *string `pulumi:"ipAddress"` // Whether the IP address is public or private. - IsPublic *bool `pulumi:"isPublic"` - // Pre-created public IP that will be used as the IP of this load balancer. This reserved IP will not be deleted when load balancer is deleted. This ip should not be already mapped to any other resource. + IsPublic *bool `pulumi:"isPublic"` ReservedIps []LoadBalancerIpAddressDetailReservedIp `pulumi:"reservedIps"` } @@ -2016,8 +2036,7 @@ type LoadBalancerIpAddressDetailArgs struct { // An IP address. Example: `192.168.0.3` IpAddress pulumi.StringPtrInput `pulumi:"ipAddress"` // Whether the IP address is public or private. - IsPublic pulumi.BoolPtrInput `pulumi:"isPublic"` - // Pre-created public IP that will be used as the IP of this load balancer. This reserved IP will not be deleted when load balancer is deleted. This ip should not be already mapped to any other resource. + IsPublic pulumi.BoolPtrInput `pulumi:"isPublic"` ReservedIps LoadBalancerIpAddressDetailReservedIpArrayInput `pulumi:"reservedIps"` } @@ -2082,7 +2101,6 @@ func (o LoadBalancerIpAddressDetailOutput) IsPublic() pulumi.BoolPtrOutput { return o.ApplyT(func(v LoadBalancerIpAddressDetail) *bool { return v.IsPublic }).(pulumi.BoolPtrOutput) } -// Pre-created public IP that will be used as the IP of this load balancer. This reserved IP will not be deleted when load balancer is deleted. This ip should not be already mapped to any other resource. func (o LoadBalancerIpAddressDetailOutput) ReservedIps() LoadBalancerIpAddressDetailReservedIpArrayOutput { return o.ApplyT(func(v LoadBalancerIpAddressDetail) []LoadBalancerIpAddressDetailReservedIp { return v.ReservedIps }).(LoadBalancerIpAddressDetailReservedIpArrayOutput) } @@ -2108,7 +2126,15 @@ func (o LoadBalancerIpAddressDetailArrayOutput) Index(i pulumi.IntInput) LoadBal } type LoadBalancerIpAddressDetailReservedIp struct { - // Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `privateIpId` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. + // Ocid of the Reserved IP/Public Ip created with VCN. + // + // Reserved IPs are IPs which already registered using VCN API. + // + // Create a reserved Public IP and then while creating the load balancer pass the ocid of the reserved IP in this field reservedIp to attach the Ip to Load balancer. Load balancer will be configured to listen to traffic on this IP. + // + // Reserved IPs will not be deleted when the Load balancer is deleted. They will be unattached from the Load balancer. + // + // Example: "ocid1.publicip.oc1.phx.unique_ID" Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `privateIpId` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. Id *string `pulumi:"id"` } @@ -2124,7 +2150,15 @@ type LoadBalancerIpAddressDetailReservedIpInput interface { } type LoadBalancerIpAddressDetailReservedIpArgs struct { - // Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `privateIpId` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. + // Ocid of the Reserved IP/Public Ip created with VCN. + // + // Reserved IPs are IPs which already registered using VCN API. + // + // Create a reserved Public IP and then while creating the load balancer pass the ocid of the reserved IP in this field reservedIp to attach the Ip to Load balancer. Load balancer will be configured to listen to traffic on this IP. + // + // Reserved IPs will not be deleted when the Load balancer is deleted. They will be unattached from the Load balancer. + // + // Example: "ocid1.publicip.oc1.phx.unique_ID" Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `privateIpId` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. Id pulumi.StringPtrInput `pulumi:"id"` } @@ -2179,7 +2213,15 @@ func (o LoadBalancerIpAddressDetailReservedIpOutput) ToLoadBalancerIpAddressDeta return o } -// Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `privateIpId` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. +// Ocid of the Reserved IP/Public Ip created with VCN. +// +// Reserved IPs are IPs which already registered using VCN API. +// +// Create a reserved Public IP and then while creating the load balancer pass the ocid of the reserved IP in this field reservedIp to attach the Ip to Load balancer. Load balancer will be configured to listen to traffic on this IP. +// +// Reserved IPs will not be deleted when the Load balancer is deleted. They will be unattached from the Load balancer. +// +// Example: "ocid1.publicip.oc1.phx.unique_ID" Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `privateIpId` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. func (o LoadBalancerIpAddressDetailReservedIpOutput) Id() pulumi.StringPtrOutput { return o.ApplyT(func(v LoadBalancerIpAddressDetailReservedIp) *string { return v.Id }).(pulumi.StringPtrOutput) } @@ -2205,7 +2247,15 @@ func (o LoadBalancerIpAddressDetailReservedIpArrayOutput) Index(i pulumi.IntInpu } type LoadBalancerReservedIp struct { - // Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `privateIpId` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. + // Ocid of the Reserved IP/Public Ip created with VCN. + // + // Reserved IPs are IPs which already registered using VCN API. + // + // Create a reserved Public IP and then while creating the load balancer pass the ocid of the reserved IP in this field reservedIp to attach the Ip to Load balancer. Load balancer will be configured to listen to traffic on this IP. + // + // Reserved IPs will not be deleted when the Load balancer is deleted. They will be unattached from the Load balancer. + // + // Example: "ocid1.publicip.oc1.phx.unique_ID" Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `privateIpId` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. Id *string `pulumi:"id"` } @@ -2221,7 +2271,15 @@ type LoadBalancerReservedIpInput interface { } type LoadBalancerReservedIpArgs struct { - // Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `privateIpId` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. + // Ocid of the Reserved IP/Public Ip created with VCN. + // + // Reserved IPs are IPs which already registered using VCN API. + // + // Create a reserved Public IP and then while creating the load balancer pass the ocid of the reserved IP in this field reservedIp to attach the Ip to Load balancer. Load balancer will be configured to listen to traffic on this IP. + // + // Reserved IPs will not be deleted when the Load balancer is deleted. They will be unattached from the Load balancer. + // + // Example: "ocid1.publicip.oc1.phx.unique_ID" Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `privateIpId` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. Id pulumi.StringPtrInput `pulumi:"id"` } @@ -2276,7 +2334,15 @@ func (o LoadBalancerReservedIpOutput) ToLoadBalancerReservedIpOutputWithContext( return o } -// Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `privateIpId` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. +// Ocid of the Reserved IP/Public Ip created with VCN. +// +// Reserved IPs are IPs which already registered using VCN API. +// +// Create a reserved Public IP and then while creating the load balancer pass the ocid of the reserved IP in this field reservedIp to attach the Ip to Load balancer. Load balancer will be configured to listen to traffic on this IP. +// +// Reserved IPs will not be deleted when the Load balancer is deleted. They will be unattached from the Load balancer. +// +// Example: "ocid1.publicip.oc1.phx.unique_ID" Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `privateIpId` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. func (o LoadBalancerReservedIpOutput) Id() pulumi.StringPtrOutput { return o.ApplyT(func(v LoadBalancerReservedIp) *string { return v.Id }).(pulumi.StringPtrOutput) } @@ -2922,7 +2988,7 @@ func (o PathRouteSetPathRoutePathMatchTypeOutput) MatchType() pulumi.StringOutpu } type RuleSetItem struct { - // (Updatable) The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` + // (Updatable) The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `IP_BASED_MAX_CONNECTIONS`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` Action string `pulumi:"action"` // (Updatable) The list of HTTP methods allowed for this listener. // @@ -2938,6 +3004,8 @@ type RuleSetItem struct { AreInvalidCharactersAllowed *bool `pulumi:"areInvalidCharactersAllowed"` // (Updatable) Conditions []RuleSetItemCondition `pulumi:"conditions"` + // (Updatable) The maximum number of connections that the any IP can make to a listener unless the IP is mentioned in maxConnections. If no defaultMaxConnections is specified the default is unlimited. + DefaultMaxConnections *int `pulumi:"defaultMaxConnections"` // (Updatable) A brief description of the access control rule. Avoid entering confidential information. // // example: `192.168.0.0/16 and 2001:db8::/32 are trusted clients. Whitelist them.` @@ -2946,6 +3014,8 @@ type RuleSetItem struct { Header *string `pulumi:"header"` // (Updatable) The maximum size of each buffer used for reading http client request header. This value indicates the maximum size allowed for each buffer. The allowed values for buffer size are 8, 16, 32 and 64. HttpLargeHeaderSizeInKb *int `pulumi:"httpLargeHeaderSizeInKb"` + // (Updatable) An array of IPs that have a maxConnection setting different than the default and what that maxConnection setting is + IpMaxConnections []RuleSetItemIpMaxConnection `pulumi:"ipMaxConnections"` // (Updatable) A string to prepend to the header value. The resulting header value must still conform to RFC 7230. With the following exceptions: // * value cannot contain `$` // * value cannot contain patterns like `{variable_name}`. They are reserved for future extensions. Currently, such values are invalid. @@ -3018,7 +3088,7 @@ type RuleSetItemInput interface { } type RuleSetItemArgs struct { - // (Updatable) The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` + // (Updatable) The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `IP_BASED_MAX_CONNECTIONS`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` Action pulumi.StringInput `pulumi:"action"` // (Updatable) The list of HTTP methods allowed for this listener. // @@ -3034,6 +3104,8 @@ type RuleSetItemArgs struct { AreInvalidCharactersAllowed pulumi.BoolPtrInput `pulumi:"areInvalidCharactersAllowed"` // (Updatable) Conditions RuleSetItemConditionArrayInput `pulumi:"conditions"` + // (Updatable) The maximum number of connections that the any IP can make to a listener unless the IP is mentioned in maxConnections. If no defaultMaxConnections is specified the default is unlimited. + DefaultMaxConnections pulumi.IntPtrInput `pulumi:"defaultMaxConnections"` // (Updatable) A brief description of the access control rule. Avoid entering confidential information. // // example: `192.168.0.0/16 and 2001:db8::/32 are trusted clients. Whitelist them.` @@ -3042,6 +3114,8 @@ type RuleSetItemArgs struct { Header pulumi.StringPtrInput `pulumi:"header"` // (Updatable) The maximum size of each buffer used for reading http client request header. This value indicates the maximum size allowed for each buffer. The allowed values for buffer size are 8, 16, 32 and 64. HttpLargeHeaderSizeInKb pulumi.IntPtrInput `pulumi:"httpLargeHeaderSizeInKb"` + // (Updatable) An array of IPs that have a maxConnection setting different than the default and what that maxConnection setting is + IpMaxConnections RuleSetItemIpMaxConnectionArrayInput `pulumi:"ipMaxConnections"` // (Updatable) A string to prepend to the header value. The resulting header value must still conform to RFC 7230. With the following exceptions: // * value cannot contain `$` // * value cannot contain patterns like `{variable_name}`. They are reserved for future extensions. Currently, such values are invalid. @@ -3153,7 +3227,7 @@ func (o RuleSetItemOutput) ToRuleSetItemOutputWithContext(ctx context.Context) R return o } -// (Updatable) The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` +// (Updatable) The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `IP_BASED_MAX_CONNECTIONS`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` func (o RuleSetItemOutput) Action() pulumi.StringOutput { return o.ApplyT(func(v RuleSetItem) string { return v.Action }).(pulumi.StringOutput) } @@ -3181,6 +3255,11 @@ func (o RuleSetItemOutput) Conditions() RuleSetItemConditionArrayOutput { return o.ApplyT(func(v RuleSetItem) []RuleSetItemCondition { return v.Conditions }).(RuleSetItemConditionArrayOutput) } +// (Updatable) The maximum number of connections that the any IP can make to a listener unless the IP is mentioned in maxConnections. If no defaultMaxConnections is specified the default is unlimited. +func (o RuleSetItemOutput) DefaultMaxConnections() pulumi.IntPtrOutput { + return o.ApplyT(func(v RuleSetItem) *int { return v.DefaultMaxConnections }).(pulumi.IntPtrOutput) +} + // (Updatable) A brief description of the access control rule. Avoid entering confidential information. // // example: `192.168.0.0/16 and 2001:db8::/32 are trusted clients. Whitelist them.` @@ -3198,6 +3277,11 @@ func (o RuleSetItemOutput) HttpLargeHeaderSizeInKb() pulumi.IntPtrOutput { return o.ApplyT(func(v RuleSetItem) *int { return v.HttpLargeHeaderSizeInKb }).(pulumi.IntPtrOutput) } +// (Updatable) An array of IPs that have a maxConnection setting different than the default and what that maxConnection setting is +func (o RuleSetItemOutput) IpMaxConnections() RuleSetItemIpMaxConnectionArrayOutput { + return o.ApplyT(func(v RuleSetItem) []RuleSetItemIpMaxConnection { return v.IpMaxConnections }).(RuleSetItemIpMaxConnectionArrayOutput) +} + // (Updatable) A string to prepend to the header value. The resulting header value must still conform to RFC 7230. With the following exceptions: // * value cannot contain `$` // * value cannot contain patterns like `{variable_name}`. They are reserved for future extensions. Currently, such values are invalid. @@ -3430,6 +3514,112 @@ func (o RuleSetItemConditionArrayOutput) Index(i pulumi.IntInput) RuleSetItemCon }).(RuleSetItemConditionOutput) } +type RuleSetItemIpMaxConnection struct { + // (Updatable) Each element in the list should be valid IPv4 or IPv6 CIDR Block address. Example: '["129.213.176.0/24", "150.136.187.0/24", "2002::1234:abcd:ffff:c0a8:101/64"]' + IpAddresses []string `pulumi:"ipAddresses"` + // (Updatable) The maximum number of simultaneous connections that the specified IPs can make to the Listener. IPs without a maxConnections setting can make either defaultMaxConnections simultaneous connections to a listener or, if no defaultMaxConnections is specified, an unlimited number of simultaneous connections to a listener. + MaxConnections *int `pulumi:"maxConnections"` +} + +// RuleSetItemIpMaxConnectionInput is an input type that accepts RuleSetItemIpMaxConnectionArgs and RuleSetItemIpMaxConnectionOutput values. +// You can construct a concrete instance of `RuleSetItemIpMaxConnectionInput` via: +// +// RuleSetItemIpMaxConnectionArgs{...} +type RuleSetItemIpMaxConnectionInput interface { + pulumi.Input + + ToRuleSetItemIpMaxConnectionOutput() RuleSetItemIpMaxConnectionOutput + ToRuleSetItemIpMaxConnectionOutputWithContext(context.Context) RuleSetItemIpMaxConnectionOutput +} + +type RuleSetItemIpMaxConnectionArgs struct { + // (Updatable) Each element in the list should be valid IPv4 or IPv6 CIDR Block address. Example: '["129.213.176.0/24", "150.136.187.0/24", "2002::1234:abcd:ffff:c0a8:101/64"]' + IpAddresses pulumi.StringArrayInput `pulumi:"ipAddresses"` + // (Updatable) The maximum number of simultaneous connections that the specified IPs can make to the Listener. IPs without a maxConnections setting can make either defaultMaxConnections simultaneous connections to a listener or, if no defaultMaxConnections is specified, an unlimited number of simultaneous connections to a listener. + MaxConnections pulumi.IntPtrInput `pulumi:"maxConnections"` +} + +func (RuleSetItemIpMaxConnectionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RuleSetItemIpMaxConnection)(nil)).Elem() +} + +func (i RuleSetItemIpMaxConnectionArgs) ToRuleSetItemIpMaxConnectionOutput() RuleSetItemIpMaxConnectionOutput { + return i.ToRuleSetItemIpMaxConnectionOutputWithContext(context.Background()) +} + +func (i RuleSetItemIpMaxConnectionArgs) ToRuleSetItemIpMaxConnectionOutputWithContext(ctx context.Context) RuleSetItemIpMaxConnectionOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleSetItemIpMaxConnectionOutput) +} + +// RuleSetItemIpMaxConnectionArrayInput is an input type that accepts RuleSetItemIpMaxConnectionArray and RuleSetItemIpMaxConnectionArrayOutput values. +// You can construct a concrete instance of `RuleSetItemIpMaxConnectionArrayInput` via: +// +// RuleSetItemIpMaxConnectionArray{ RuleSetItemIpMaxConnectionArgs{...} } +type RuleSetItemIpMaxConnectionArrayInput interface { + pulumi.Input + + ToRuleSetItemIpMaxConnectionArrayOutput() RuleSetItemIpMaxConnectionArrayOutput + ToRuleSetItemIpMaxConnectionArrayOutputWithContext(context.Context) RuleSetItemIpMaxConnectionArrayOutput +} + +type RuleSetItemIpMaxConnectionArray []RuleSetItemIpMaxConnectionInput + +func (RuleSetItemIpMaxConnectionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]RuleSetItemIpMaxConnection)(nil)).Elem() +} + +func (i RuleSetItemIpMaxConnectionArray) ToRuleSetItemIpMaxConnectionArrayOutput() RuleSetItemIpMaxConnectionArrayOutput { + return i.ToRuleSetItemIpMaxConnectionArrayOutputWithContext(context.Background()) +} + +func (i RuleSetItemIpMaxConnectionArray) ToRuleSetItemIpMaxConnectionArrayOutputWithContext(ctx context.Context) RuleSetItemIpMaxConnectionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleSetItemIpMaxConnectionArrayOutput) +} + +type RuleSetItemIpMaxConnectionOutput struct{ *pulumi.OutputState } + +func (RuleSetItemIpMaxConnectionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RuleSetItemIpMaxConnection)(nil)).Elem() +} + +func (o RuleSetItemIpMaxConnectionOutput) ToRuleSetItemIpMaxConnectionOutput() RuleSetItemIpMaxConnectionOutput { + return o +} + +func (o RuleSetItemIpMaxConnectionOutput) ToRuleSetItemIpMaxConnectionOutputWithContext(ctx context.Context) RuleSetItemIpMaxConnectionOutput { + return o +} + +// (Updatable) Each element in the list should be valid IPv4 or IPv6 CIDR Block address. Example: '["129.213.176.0/24", "150.136.187.0/24", "2002::1234:abcd:ffff:c0a8:101/64"]' +func (o RuleSetItemIpMaxConnectionOutput) IpAddresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v RuleSetItemIpMaxConnection) []string { return v.IpAddresses }).(pulumi.StringArrayOutput) +} + +// (Updatable) The maximum number of simultaneous connections that the specified IPs can make to the Listener. IPs without a maxConnections setting can make either defaultMaxConnections simultaneous connections to a listener or, if no defaultMaxConnections is specified, an unlimited number of simultaneous connections to a listener. +func (o RuleSetItemIpMaxConnectionOutput) MaxConnections() pulumi.IntPtrOutput { + return o.ApplyT(func(v RuleSetItemIpMaxConnection) *int { return v.MaxConnections }).(pulumi.IntPtrOutput) +} + +type RuleSetItemIpMaxConnectionArrayOutput struct{ *pulumi.OutputState } + +func (RuleSetItemIpMaxConnectionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RuleSetItemIpMaxConnection)(nil)).Elem() +} + +func (o RuleSetItemIpMaxConnectionArrayOutput) ToRuleSetItemIpMaxConnectionArrayOutput() RuleSetItemIpMaxConnectionArrayOutput { + return o +} + +func (o RuleSetItemIpMaxConnectionArrayOutput) ToRuleSetItemIpMaxConnectionArrayOutputWithContext(ctx context.Context) RuleSetItemIpMaxConnectionArrayOutput { + return o +} + +func (o RuleSetItemIpMaxConnectionArrayOutput) Index(i pulumi.IntInput) RuleSetItemIpMaxConnectionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) RuleSetItemIpMaxConnection { + return vs[0].([]RuleSetItemIpMaxConnection)[vs[1].(int)] + }).(RuleSetItemIpMaxConnectionOutput) +} + type RuleSetItemRedirectUri struct { // (Updatable) The valid domain name (hostname) or IP address to use in the redirect URI. // @@ -4000,7 +4190,9 @@ func (o GetBackendHealthHealthCheckResultArrayOutput) Index(i pulumi.IntInput) G } type GetBackendSetsBackendset struct { - Backends []GetBackendSetsBackendsetBackend `pulumi:"backends"` + // The maximum number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting. If this is not set then the number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting is unlimited. Example: `300` + BackendMaxConnections int `pulumi:"backendMaxConnections"` + Backends []GetBackendSetsBackendsetBackend `pulumi:"backends"` // The health check policy configuration. For more information, see [Editing Health Check Policies](https://docs.cloud.oracle.com/iaas/Content/Balance/Tasks/editinghealthcheck.htm). HealthCheckers []GetBackendSetsBackendsetHealthChecker `pulumi:"healthCheckers"` Id string `pulumi:"id"` @@ -4031,7 +4223,9 @@ type GetBackendSetsBackendsetInput interface { } type GetBackendSetsBackendsetArgs struct { - Backends GetBackendSetsBackendsetBackendArrayInput `pulumi:"backends"` + // The maximum number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting. If this is not set then the number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting is unlimited. Example: `300` + BackendMaxConnections pulumi.IntInput `pulumi:"backendMaxConnections"` + Backends GetBackendSetsBackendsetBackendArrayInput `pulumi:"backends"` // The health check policy configuration. For more information, see [Editing Health Check Policies](https://docs.cloud.oracle.com/iaas/Content/Balance/Tasks/editinghealthcheck.htm). HealthCheckers GetBackendSetsBackendsetHealthCheckerArrayInput `pulumi:"healthCheckers"` Id pulumi.StringInput `pulumi:"id"` @@ -4101,6 +4295,11 @@ func (o GetBackendSetsBackendsetOutput) ToGetBackendSetsBackendsetOutputWithCont return o } +// The maximum number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting. If this is not set then the number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting is unlimited. Example: `300` +func (o GetBackendSetsBackendsetOutput) BackendMaxConnections() pulumi.IntOutput { + return o.ApplyT(func(v GetBackendSetsBackendset) int { return v.BackendMaxConnections }).(pulumi.IntOutput) +} + func (o GetBackendSetsBackendsetOutput) Backends() GetBackendSetsBackendsetBackendArrayOutput { return o.ApplyT(func(v GetBackendSetsBackendset) []GetBackendSetsBackendsetBackend { return v.Backends }).(GetBackendSetsBackendsetBackendArrayOutput) } @@ -4181,6 +4380,8 @@ type GetBackendSetsBackendsetBackend struct { Drain bool `pulumi:"drain"` // The IP address of the backend server. Example: `10.0.0.3` IpAddress string `pulumi:"ipAddress"` + // The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then the maximum number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` + MaxConnections int `pulumi:"maxConnections"` // A friendly name for the backend set. It must be unique and it cannot be changed. Name string `pulumi:"name"` // Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` @@ -4209,6 +4410,8 @@ type GetBackendSetsBackendsetBackendArgs struct { Drain pulumi.BoolInput `pulumi:"drain"` // The IP address of the backend server. Example: `10.0.0.3` IpAddress pulumi.StringInput `pulumi:"ipAddress"` + // The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then the maximum number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` + MaxConnections pulumi.IntInput `pulumi:"maxConnections"` // A friendly name for the backend set. It must be unique and it cannot be changed. Name pulumi.StringInput `pulumi:"name"` // Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` @@ -4285,6 +4488,11 @@ func (o GetBackendSetsBackendsetBackendOutput) IpAddress() pulumi.StringOutput { return o.ApplyT(func(v GetBackendSetsBackendsetBackend) string { return v.IpAddress }).(pulumi.StringOutput) } +// The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then the maximum number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` +func (o GetBackendSetsBackendsetBackendOutput) MaxConnections() pulumi.IntOutput { + return o.ApplyT(func(v GetBackendSetsBackendsetBackend) int { return v.MaxConnections }).(pulumi.IntOutput) +} + // A friendly name for the backend set. It must be unique and it cannot be changed. func (o GetBackendSetsBackendsetBackendOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v GetBackendSetsBackendsetBackend) string { return v.Name }).(pulumi.StringOutput) @@ -5031,6 +5239,8 @@ type GetBackendsBackend struct { IpAddress string `pulumi:"ipAddress"` // The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the load balancer associated with the backend set and servers. LoadBalancerId string `pulumi:"loadBalancerId"` + // The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then the maximum number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` + MaxConnections int `pulumi:"maxConnections"` // A read-only field showing the IP address and port that uniquely identify this backend server in the backend set. Example: `10.0.0.3:8080` Name string `pulumi:"name"` // Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` @@ -5064,6 +5274,8 @@ type GetBackendsBackendArgs struct { IpAddress pulumi.StringInput `pulumi:"ipAddress"` // The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the load balancer associated with the backend set and servers. LoadBalancerId pulumi.StringInput `pulumi:"loadBalancerId"` + // The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then the maximum number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` + MaxConnections pulumi.IntInput `pulumi:"maxConnections"` // A read-only field showing the IP address and port that uniquely identify this backend server in the backend set. Example: `10.0.0.3:8080` Name pulumi.StringInput `pulumi:"name"` // Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` @@ -5151,6 +5363,11 @@ func (o GetBackendsBackendOutput) LoadBalancerId() pulumi.StringOutput { return o.ApplyT(func(v GetBackendsBackend) string { return v.LoadBalancerId }).(pulumi.StringOutput) } +// The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then the maximum number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` +func (o GetBackendsBackendOutput) MaxConnections() pulumi.IntOutput { + return o.ApplyT(func(v GetBackendsBackend) int { return v.MaxConnections }).(pulumi.IntOutput) +} + // A read-only field showing the IP address and port that uniquely identify this backend server in the backend set. Example: `10.0.0.3:8080` func (o GetBackendsBackendOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v GetBackendsBackend) string { return v.Name }).(pulumi.StringOutput) @@ -6004,19 +6221,23 @@ func (o GetListenerRulesListenerRuleArrayOutput) Index(i pulumi.IntInput) GetLis } type GetListenerRulesListenerRuleRule struct { - // The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` + // The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `IP_BASED_MAX_CONNECTIONS`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` Action string `pulumi:"action"` // The list of HTTP methods allowed for this listener. AllowedMethods []string `pulumi:"allowedMethods"` // Indicates whether or not invalid characters in client header fields will be allowed. Valid names are composed of English letters, digits, hyphens and underscores. If "true", invalid characters are allowed in the HTTP header. If "false", invalid characters are not allowed in the HTTP header AreInvalidCharactersAllowed bool `pulumi:"areInvalidCharactersAllowed"` Conditions []GetListenerRulesListenerRuleRuleCondition `pulumi:"conditions"` + // The maximum number of connections that the any IP can make to a listener unless the IP is mentioned in maxConnections. If no defaultMaxConnections is specified the default is unlimited. + DefaultMaxConnections int `pulumi:"defaultMaxConnections"` // A brief description of the access control rule. Avoid entering confidential information. Description string `pulumi:"description"` // A header name that conforms to RFC 7230. Example: `exampleHeaderName` Header string `pulumi:"header"` // The maximum size of each buffer used for reading http client request header. This value indicates the maximum size allowed for each buffer. The allowed values for buffer size are 8, 16, 32 and 64. HttpLargeHeaderSizeInKb int `pulumi:"httpLargeHeaderSizeInKb"` + // An array of IPs that have a maxConnection setting different than the default and what that maxConnection setting is + IpMaxConnections []GetListenerRulesListenerRuleRuleIpMaxConnection `pulumi:"ipMaxConnections"` // A string to prepend to the header value. The resulting header value must still conform to RFC 7230. With the following exceptions: // * value cannot contain `$` // * value cannot contain patterns like `{variable_name}`. They are reserved for future extensions. Currently, such values are invalid. @@ -6049,19 +6270,23 @@ type GetListenerRulesListenerRuleRuleInput interface { } type GetListenerRulesListenerRuleRuleArgs struct { - // The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` + // The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `IP_BASED_MAX_CONNECTIONS`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` Action pulumi.StringInput `pulumi:"action"` // The list of HTTP methods allowed for this listener. AllowedMethods pulumi.StringArrayInput `pulumi:"allowedMethods"` // Indicates whether or not invalid characters in client header fields will be allowed. Valid names are composed of English letters, digits, hyphens and underscores. If "true", invalid characters are allowed in the HTTP header. If "false", invalid characters are not allowed in the HTTP header AreInvalidCharactersAllowed pulumi.BoolInput `pulumi:"areInvalidCharactersAllowed"` Conditions GetListenerRulesListenerRuleRuleConditionArrayInput `pulumi:"conditions"` + // The maximum number of connections that the any IP can make to a listener unless the IP is mentioned in maxConnections. If no defaultMaxConnections is specified the default is unlimited. + DefaultMaxConnections pulumi.IntInput `pulumi:"defaultMaxConnections"` // A brief description of the access control rule. Avoid entering confidential information. Description pulumi.StringInput `pulumi:"description"` // A header name that conforms to RFC 7230. Example: `exampleHeaderName` Header pulumi.StringInput `pulumi:"header"` // The maximum size of each buffer used for reading http client request header. This value indicates the maximum size allowed for each buffer. The allowed values for buffer size are 8, 16, 32 and 64. HttpLargeHeaderSizeInKb pulumi.IntInput `pulumi:"httpLargeHeaderSizeInKb"` + // An array of IPs that have a maxConnection setting different than the default and what that maxConnection setting is + IpMaxConnections GetListenerRulesListenerRuleRuleIpMaxConnectionArrayInput `pulumi:"ipMaxConnections"` // A string to prepend to the header value. The resulting header value must still conform to RFC 7230. With the following exceptions: // * value cannot contain `$` // * value cannot contain patterns like `{variable_name}`. They are reserved for future extensions. Currently, such values are invalid. @@ -6133,7 +6358,7 @@ func (o GetListenerRulesListenerRuleRuleOutput) ToGetListenerRulesListenerRuleRu return o } -// The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` +// The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `IP_BASED_MAX_CONNECTIONS`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` func (o GetListenerRulesListenerRuleRuleOutput) Action() pulumi.StringOutput { return o.ApplyT(func(v GetListenerRulesListenerRuleRule) string { return v.Action }).(pulumi.StringOutput) } @@ -6154,6 +6379,11 @@ func (o GetListenerRulesListenerRuleRuleOutput) Conditions() GetListenerRulesLis }).(GetListenerRulesListenerRuleRuleConditionArrayOutput) } +// The maximum number of connections that the any IP can make to a listener unless the IP is mentioned in maxConnections. If no defaultMaxConnections is specified the default is unlimited. +func (o GetListenerRulesListenerRuleRuleOutput) DefaultMaxConnections() pulumi.IntOutput { + return o.ApplyT(func(v GetListenerRulesListenerRuleRule) int { return v.DefaultMaxConnections }).(pulumi.IntOutput) +} + // A brief description of the access control rule. Avoid entering confidential information. func (o GetListenerRulesListenerRuleRuleOutput) Description() pulumi.StringOutput { return o.ApplyT(func(v GetListenerRulesListenerRuleRule) string { return v.Description }).(pulumi.StringOutput) @@ -6169,6 +6399,13 @@ func (o GetListenerRulesListenerRuleRuleOutput) HttpLargeHeaderSizeInKb() pulumi return o.ApplyT(func(v GetListenerRulesListenerRuleRule) int { return v.HttpLargeHeaderSizeInKb }).(pulumi.IntOutput) } +// An array of IPs that have a maxConnection setting different than the default and what that maxConnection setting is +func (o GetListenerRulesListenerRuleRuleOutput) IpMaxConnections() GetListenerRulesListenerRuleRuleIpMaxConnectionArrayOutput { + return o.ApplyT(func(v GetListenerRulesListenerRuleRule) []GetListenerRulesListenerRuleRuleIpMaxConnection { + return v.IpMaxConnections + }).(GetListenerRulesListenerRuleRuleIpMaxConnectionArrayOutput) +} + // A string to prepend to the header value. The resulting header value must still conform to RFC 7230. With the following exceptions: // * value cannot contain `$` // * value cannot contain patterns like `{variable_name}`. They are reserved for future extensions. Currently, such values are invalid. @@ -6354,6 +6591,112 @@ func (o GetListenerRulesListenerRuleRuleConditionArrayOutput) Index(i pulumi.Int }).(GetListenerRulesListenerRuleRuleConditionOutput) } +type GetListenerRulesListenerRuleRuleIpMaxConnection struct { + // Each element in the list should be valid IPv4 or IPv6 CIDR Block address. Example: '["129.213.176.0/24", "150.136.187.0/24", "2002::1234:abcd:ffff:c0a8:101/64"]' + IpAddresses []string `pulumi:"ipAddresses"` + // The maximum number of simultaneous connections that the specified IPs can make to the Listener. IPs without a maxConnections setting can make either defaultMaxConnections simultaneous connections to a listener or, if no defaultMaxConnections is specified, an unlimited number of simultaneous connections to a listener. + MaxConnections int `pulumi:"maxConnections"` +} + +// GetListenerRulesListenerRuleRuleIpMaxConnectionInput is an input type that accepts GetListenerRulesListenerRuleRuleIpMaxConnectionArgs and GetListenerRulesListenerRuleRuleIpMaxConnectionOutput values. +// You can construct a concrete instance of `GetListenerRulesListenerRuleRuleIpMaxConnectionInput` via: +// +// GetListenerRulesListenerRuleRuleIpMaxConnectionArgs{...} +type GetListenerRulesListenerRuleRuleIpMaxConnectionInput interface { + pulumi.Input + + ToGetListenerRulesListenerRuleRuleIpMaxConnectionOutput() GetListenerRulesListenerRuleRuleIpMaxConnectionOutput + ToGetListenerRulesListenerRuleRuleIpMaxConnectionOutputWithContext(context.Context) GetListenerRulesListenerRuleRuleIpMaxConnectionOutput +} + +type GetListenerRulesListenerRuleRuleIpMaxConnectionArgs struct { + // Each element in the list should be valid IPv4 or IPv6 CIDR Block address. Example: '["129.213.176.0/24", "150.136.187.0/24", "2002::1234:abcd:ffff:c0a8:101/64"]' + IpAddresses pulumi.StringArrayInput `pulumi:"ipAddresses"` + // The maximum number of simultaneous connections that the specified IPs can make to the Listener. IPs without a maxConnections setting can make either defaultMaxConnections simultaneous connections to a listener or, if no defaultMaxConnections is specified, an unlimited number of simultaneous connections to a listener. + MaxConnections pulumi.IntInput `pulumi:"maxConnections"` +} + +func (GetListenerRulesListenerRuleRuleIpMaxConnectionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetListenerRulesListenerRuleRuleIpMaxConnection)(nil)).Elem() +} + +func (i GetListenerRulesListenerRuleRuleIpMaxConnectionArgs) ToGetListenerRulesListenerRuleRuleIpMaxConnectionOutput() GetListenerRulesListenerRuleRuleIpMaxConnectionOutput { + return i.ToGetListenerRulesListenerRuleRuleIpMaxConnectionOutputWithContext(context.Background()) +} + +func (i GetListenerRulesListenerRuleRuleIpMaxConnectionArgs) ToGetListenerRulesListenerRuleRuleIpMaxConnectionOutputWithContext(ctx context.Context) GetListenerRulesListenerRuleRuleIpMaxConnectionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetListenerRulesListenerRuleRuleIpMaxConnectionOutput) +} + +// GetListenerRulesListenerRuleRuleIpMaxConnectionArrayInput is an input type that accepts GetListenerRulesListenerRuleRuleIpMaxConnectionArray and GetListenerRulesListenerRuleRuleIpMaxConnectionArrayOutput values. +// You can construct a concrete instance of `GetListenerRulesListenerRuleRuleIpMaxConnectionArrayInput` via: +// +// GetListenerRulesListenerRuleRuleIpMaxConnectionArray{ GetListenerRulesListenerRuleRuleIpMaxConnectionArgs{...} } +type GetListenerRulesListenerRuleRuleIpMaxConnectionArrayInput interface { + pulumi.Input + + ToGetListenerRulesListenerRuleRuleIpMaxConnectionArrayOutput() GetListenerRulesListenerRuleRuleIpMaxConnectionArrayOutput + ToGetListenerRulesListenerRuleRuleIpMaxConnectionArrayOutputWithContext(context.Context) GetListenerRulesListenerRuleRuleIpMaxConnectionArrayOutput +} + +type GetListenerRulesListenerRuleRuleIpMaxConnectionArray []GetListenerRulesListenerRuleRuleIpMaxConnectionInput + +func (GetListenerRulesListenerRuleRuleIpMaxConnectionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetListenerRulesListenerRuleRuleIpMaxConnection)(nil)).Elem() +} + +func (i GetListenerRulesListenerRuleRuleIpMaxConnectionArray) ToGetListenerRulesListenerRuleRuleIpMaxConnectionArrayOutput() GetListenerRulesListenerRuleRuleIpMaxConnectionArrayOutput { + return i.ToGetListenerRulesListenerRuleRuleIpMaxConnectionArrayOutputWithContext(context.Background()) +} + +func (i GetListenerRulesListenerRuleRuleIpMaxConnectionArray) ToGetListenerRulesListenerRuleRuleIpMaxConnectionArrayOutputWithContext(ctx context.Context) GetListenerRulesListenerRuleRuleIpMaxConnectionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetListenerRulesListenerRuleRuleIpMaxConnectionArrayOutput) +} + +type GetListenerRulesListenerRuleRuleIpMaxConnectionOutput struct{ *pulumi.OutputState } + +func (GetListenerRulesListenerRuleRuleIpMaxConnectionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetListenerRulesListenerRuleRuleIpMaxConnection)(nil)).Elem() +} + +func (o GetListenerRulesListenerRuleRuleIpMaxConnectionOutput) ToGetListenerRulesListenerRuleRuleIpMaxConnectionOutput() GetListenerRulesListenerRuleRuleIpMaxConnectionOutput { + return o +} + +func (o GetListenerRulesListenerRuleRuleIpMaxConnectionOutput) ToGetListenerRulesListenerRuleRuleIpMaxConnectionOutputWithContext(ctx context.Context) GetListenerRulesListenerRuleRuleIpMaxConnectionOutput { + return o +} + +// Each element in the list should be valid IPv4 or IPv6 CIDR Block address. Example: '["129.213.176.0/24", "150.136.187.0/24", "2002::1234:abcd:ffff:c0a8:101/64"]' +func (o GetListenerRulesListenerRuleRuleIpMaxConnectionOutput) IpAddresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetListenerRulesListenerRuleRuleIpMaxConnection) []string { return v.IpAddresses }).(pulumi.StringArrayOutput) +} + +// The maximum number of simultaneous connections that the specified IPs can make to the Listener. IPs without a maxConnections setting can make either defaultMaxConnections simultaneous connections to a listener or, if no defaultMaxConnections is specified, an unlimited number of simultaneous connections to a listener. +func (o GetListenerRulesListenerRuleRuleIpMaxConnectionOutput) MaxConnections() pulumi.IntOutput { + return o.ApplyT(func(v GetListenerRulesListenerRuleRuleIpMaxConnection) int { return v.MaxConnections }).(pulumi.IntOutput) +} + +type GetListenerRulesListenerRuleRuleIpMaxConnectionArrayOutput struct{ *pulumi.OutputState } + +func (GetListenerRulesListenerRuleRuleIpMaxConnectionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetListenerRulesListenerRuleRuleIpMaxConnection)(nil)).Elem() +} + +func (o GetListenerRulesListenerRuleRuleIpMaxConnectionArrayOutput) ToGetListenerRulesListenerRuleRuleIpMaxConnectionArrayOutput() GetListenerRulesListenerRuleRuleIpMaxConnectionArrayOutput { + return o +} + +func (o GetListenerRulesListenerRuleRuleIpMaxConnectionArrayOutput) ToGetListenerRulesListenerRuleRuleIpMaxConnectionArrayOutputWithContext(ctx context.Context) GetListenerRulesListenerRuleRuleIpMaxConnectionArrayOutput { + return o +} + +func (o GetListenerRulesListenerRuleRuleIpMaxConnectionArrayOutput) Index(i pulumi.IntInput) GetListenerRulesListenerRuleRuleIpMaxConnectionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetListenerRulesListenerRuleRuleIpMaxConnection { + return vs[0].([]GetListenerRulesListenerRuleRuleIpMaxConnection)[vs[1].(int)] + }).(GetListenerRulesListenerRuleRuleIpMaxConnectionOutput) +} + type GetListenerRulesListenerRuleRuleRedirectUri struct { // The valid domain name (hostname) or IP address to use in the redirect URI. Host string `pulumi:"host"` @@ -7290,7 +7633,7 @@ type GetLoadBalancersLoadBalancer struct { DisplayName string `pulumi:"displayName"` // Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` FreeformTags map[string]interface{} `pulumi:"freeformTags"` - // Ocid of the pre-created public IP. That should be attahed to this load balancer. + // Ocid of the Reserved IP/Public Ip created with VCN. Id string `pulumi:"id"` // An array of IP addresses. IpAddressDetails []GetLoadBalancersLoadBalancerIpAddressDetail `pulumi:"ipAddressDetails"` @@ -7299,6 +7642,8 @@ type GetLoadBalancersLoadBalancer struct { // Deprecated: The 'ip_addresses' field has been deprecated. Please use 'ip_address_details' instead. IpAddresses []string `pulumi:"ipAddresses"` IpMode string `pulumi:"ipMode"` + // Whether or not the load balancer has delete protection enabled. + IsDeleteProtectionEnabled bool `pulumi:"isDeleteProtectionEnabled"` // Whether the load balancer has a VCN-local (private) IP address. IsPrivate bool `pulumi:"isPrivate"` // An array of NSG [OCIDs](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) associated with the load balancer. @@ -7338,7 +7683,7 @@ type GetLoadBalancersLoadBalancerArgs struct { DisplayName pulumi.StringInput `pulumi:"displayName"` // Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` FreeformTags pulumi.MapInput `pulumi:"freeformTags"` - // Ocid of the pre-created public IP. That should be attahed to this load balancer. + // Ocid of the Reserved IP/Public Ip created with VCN. Id pulumi.StringInput `pulumi:"id"` // An array of IP addresses. IpAddressDetails GetLoadBalancersLoadBalancerIpAddressDetailArrayInput `pulumi:"ipAddressDetails"` @@ -7347,6 +7692,8 @@ type GetLoadBalancersLoadBalancerArgs struct { // Deprecated: The 'ip_addresses' field has been deprecated. Please use 'ip_address_details' instead. IpAddresses pulumi.StringArrayInput `pulumi:"ipAddresses"` IpMode pulumi.StringInput `pulumi:"ipMode"` + // Whether or not the load balancer has delete protection enabled. + IsDeleteProtectionEnabled pulumi.BoolInput `pulumi:"isDeleteProtectionEnabled"` // Whether the load balancer has a VCN-local (private) IP address. IsPrivate pulumi.BoolInput `pulumi:"isPrivate"` // An array of NSG [OCIDs](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) associated with the load balancer. @@ -7437,7 +7784,7 @@ func (o GetLoadBalancersLoadBalancerOutput) FreeformTags() pulumi.MapOutput { return o.ApplyT(func(v GetLoadBalancersLoadBalancer) map[string]interface{} { return v.FreeformTags }).(pulumi.MapOutput) } -// Ocid of the pre-created public IP. That should be attahed to this load balancer. +// Ocid of the Reserved IP/Public Ip created with VCN. func (o GetLoadBalancersLoadBalancerOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v GetLoadBalancersLoadBalancer) string { return v.Id }).(pulumi.StringOutput) } @@ -7460,6 +7807,11 @@ func (o GetLoadBalancersLoadBalancerOutput) IpMode() pulumi.StringOutput { return o.ApplyT(func(v GetLoadBalancersLoadBalancer) string { return v.IpMode }).(pulumi.StringOutput) } +// Whether or not the load balancer has delete protection enabled. +func (o GetLoadBalancersLoadBalancerOutput) IsDeleteProtectionEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetLoadBalancersLoadBalancer) bool { return v.IsDeleteProtectionEnabled }).(pulumi.BoolOutput) +} + // Whether the load balancer has a VCN-local (private) IP address. func (o GetLoadBalancersLoadBalancerOutput) IsPrivate() pulumi.BoolOutput { return o.ApplyT(func(v GetLoadBalancersLoadBalancer) bool { return v.IsPrivate }).(pulumi.BoolOutput) @@ -7528,8 +7880,7 @@ type GetLoadBalancersLoadBalancerIpAddressDetail struct { // An IP address. Example: `192.168.0.3` IpAddress string `pulumi:"ipAddress"` // Whether the IP address is public or private. - IsPublic bool `pulumi:"isPublic"` - // Pre-created public IP that will be used as the IP of this load balancer. This reserved IP will not be deleted when load balancer is deleted. This ip should not be already mapped to any other resource. + IsPublic bool `pulumi:"isPublic"` ReservedIps []GetLoadBalancersLoadBalancerIpAddressDetailReservedIp `pulumi:"reservedIps"` } @@ -7548,8 +7899,7 @@ type GetLoadBalancersLoadBalancerIpAddressDetailArgs struct { // An IP address. Example: `192.168.0.3` IpAddress pulumi.StringInput `pulumi:"ipAddress"` // Whether the IP address is public or private. - IsPublic pulumi.BoolInput `pulumi:"isPublic"` - // Pre-created public IP that will be used as the IP of this load balancer. This reserved IP will not be deleted when load balancer is deleted. This ip should not be already mapped to any other resource. + IsPublic pulumi.BoolInput `pulumi:"isPublic"` ReservedIps GetLoadBalancersLoadBalancerIpAddressDetailReservedIpArrayInput `pulumi:"reservedIps"` } @@ -7614,7 +7964,6 @@ func (o GetLoadBalancersLoadBalancerIpAddressDetailOutput) IsPublic() pulumi.Boo return o.ApplyT(func(v GetLoadBalancersLoadBalancerIpAddressDetail) bool { return v.IsPublic }).(pulumi.BoolOutput) } -// Pre-created public IP that will be used as the IP of this load balancer. This reserved IP will not be deleted when load balancer is deleted. This ip should not be already mapped to any other resource. func (o GetLoadBalancersLoadBalancerIpAddressDetailOutput) ReservedIps() GetLoadBalancersLoadBalancerIpAddressDetailReservedIpArrayOutput { return o.ApplyT(func(v GetLoadBalancersLoadBalancerIpAddressDetail) []GetLoadBalancersLoadBalancerIpAddressDetailReservedIp { return v.ReservedIps @@ -7642,7 +7991,7 @@ func (o GetLoadBalancersLoadBalancerIpAddressDetailArrayOutput) Index(i pulumi.I } type GetLoadBalancersLoadBalancerIpAddressDetailReservedIp struct { - // Ocid of the pre-created public IP. That should be attahed to this load balancer. + // Ocid of the Reserved IP/Public Ip created with VCN. Id string `pulumi:"id"` } @@ -7658,7 +8007,7 @@ type GetLoadBalancersLoadBalancerIpAddressDetailReservedIpInput interface { } type GetLoadBalancersLoadBalancerIpAddressDetailReservedIpArgs struct { - // Ocid of the pre-created public IP. That should be attahed to this load balancer. + // Ocid of the Reserved IP/Public Ip created with VCN. Id pulumi.StringInput `pulumi:"id"` } @@ -7713,7 +8062,7 @@ func (o GetLoadBalancersLoadBalancerIpAddressDetailReservedIpOutput) ToGetLoadBa return o } -// Ocid of the pre-created public IP. That should be attahed to this load balancer. +// Ocid of the Reserved IP/Public Ip created with VCN. func (o GetLoadBalancersLoadBalancerIpAddressDetailReservedIpOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v GetLoadBalancersLoadBalancerIpAddressDetailReservedIp) string { return v.Id }).(pulumi.StringOutput) } @@ -7739,7 +8088,7 @@ func (o GetLoadBalancersLoadBalancerIpAddressDetailReservedIpArrayOutput) Index( } type GetLoadBalancersLoadBalancerReservedIp struct { - // Ocid of the pre-created public IP. That should be attahed to this load balancer. + // Ocid of the Reserved IP/Public Ip created with VCN. Id string `pulumi:"id"` } @@ -7755,7 +8104,7 @@ type GetLoadBalancersLoadBalancerReservedIpInput interface { } type GetLoadBalancersLoadBalancerReservedIpArgs struct { - // Ocid of the pre-created public IP. That should be attahed to this load balancer. + // Ocid of the Reserved IP/Public Ip created with VCN. Id pulumi.StringInput `pulumi:"id"` } @@ -7810,7 +8159,7 @@ func (o GetLoadBalancersLoadBalancerReservedIpOutput) ToGetLoadBalancersLoadBala return o } -// Ocid of the pre-created public IP. That should be attahed to this load balancer. +// Ocid of the Reserved IP/Public Ip created with VCN. func (o GetLoadBalancersLoadBalancerReservedIpOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v GetLoadBalancersLoadBalancerReservedIp) string { return v.Id }).(pulumi.StringOutput) } @@ -8774,19 +9123,23 @@ func (o GetProtocolsProtocolArrayOutput) Index(i pulumi.IntInput) GetProtocolsPr } type GetRuleSetItem struct { - // The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` + // The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `IP_BASED_MAX_CONNECTIONS`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` Action string `pulumi:"action"` // The list of HTTP methods allowed for this listener. AllowedMethods []string `pulumi:"allowedMethods"` // Indicates whether or not invalid characters in client header fields will be allowed. Valid names are composed of English letters, digits, hyphens and underscores. If "true", invalid characters are allowed in the HTTP header. If "false", invalid characters are not allowed in the HTTP header AreInvalidCharactersAllowed bool `pulumi:"areInvalidCharactersAllowed"` Conditions []GetRuleSetItemCondition `pulumi:"conditions"` + // The maximum number of connections that the any IP can make to a listener unless the IP is mentioned in maxConnections. If no defaultMaxConnections is specified the default is unlimited. + DefaultMaxConnections int `pulumi:"defaultMaxConnections"` // A brief description of the access control rule. Avoid entering confidential information. Description string `pulumi:"description"` // A header name that conforms to RFC 7230. Example: `exampleHeaderName` Header string `pulumi:"header"` // The maximum size of each buffer used for reading http client request header. This value indicates the maximum size allowed for each buffer. The allowed values for buffer size are 8, 16, 32 and 64. HttpLargeHeaderSizeInKb int `pulumi:"httpLargeHeaderSizeInKb"` + // An array of IPs that have a maxConnection setting different than the default and what that maxConnection setting is + IpMaxConnections []GetRuleSetItemIpMaxConnection `pulumi:"ipMaxConnections"` // A string to prepend to the header value. The resulting header value must still conform to RFC 7230. With the following exceptions: // * value cannot contain `$` // * value cannot contain patterns like `{variable_name}`. They are reserved for future extensions. Currently, such values are invalid. @@ -8819,19 +9172,23 @@ type GetRuleSetItemInput interface { } type GetRuleSetItemArgs struct { - // The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` + // The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `IP_BASED_MAX_CONNECTIONS`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` Action pulumi.StringInput `pulumi:"action"` // The list of HTTP methods allowed for this listener. AllowedMethods pulumi.StringArrayInput `pulumi:"allowedMethods"` // Indicates whether or not invalid characters in client header fields will be allowed. Valid names are composed of English letters, digits, hyphens and underscores. If "true", invalid characters are allowed in the HTTP header. If "false", invalid characters are not allowed in the HTTP header AreInvalidCharactersAllowed pulumi.BoolInput `pulumi:"areInvalidCharactersAllowed"` Conditions GetRuleSetItemConditionArrayInput `pulumi:"conditions"` + // The maximum number of connections that the any IP can make to a listener unless the IP is mentioned in maxConnections. If no defaultMaxConnections is specified the default is unlimited. + DefaultMaxConnections pulumi.IntInput `pulumi:"defaultMaxConnections"` // A brief description of the access control rule. Avoid entering confidential information. Description pulumi.StringInput `pulumi:"description"` // A header name that conforms to RFC 7230. Example: `exampleHeaderName` Header pulumi.StringInput `pulumi:"header"` // The maximum size of each buffer used for reading http client request header. This value indicates the maximum size allowed for each buffer. The allowed values for buffer size are 8, 16, 32 and 64. HttpLargeHeaderSizeInKb pulumi.IntInput `pulumi:"httpLargeHeaderSizeInKb"` + // An array of IPs that have a maxConnection setting different than the default and what that maxConnection setting is + IpMaxConnections GetRuleSetItemIpMaxConnectionArrayInput `pulumi:"ipMaxConnections"` // A string to prepend to the header value. The resulting header value must still conform to RFC 7230. With the following exceptions: // * value cannot contain `$` // * value cannot contain patterns like `{variable_name}`. They are reserved for future extensions. Currently, such values are invalid. @@ -8903,7 +9260,7 @@ func (o GetRuleSetItemOutput) ToGetRuleSetItemOutputWithContext(ctx context.Cont return o } -// The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` +// The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `IP_BASED_MAX_CONNECTIONS`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` func (o GetRuleSetItemOutput) Action() pulumi.StringOutput { return o.ApplyT(func(v GetRuleSetItem) string { return v.Action }).(pulumi.StringOutput) } @@ -8922,6 +9279,11 @@ func (o GetRuleSetItemOutput) Conditions() GetRuleSetItemConditionArrayOutput { return o.ApplyT(func(v GetRuleSetItem) []GetRuleSetItemCondition { return v.Conditions }).(GetRuleSetItemConditionArrayOutput) } +// The maximum number of connections that the any IP can make to a listener unless the IP is mentioned in maxConnections. If no defaultMaxConnections is specified the default is unlimited. +func (o GetRuleSetItemOutput) DefaultMaxConnections() pulumi.IntOutput { + return o.ApplyT(func(v GetRuleSetItem) int { return v.DefaultMaxConnections }).(pulumi.IntOutput) +} + // A brief description of the access control rule. Avoid entering confidential information. func (o GetRuleSetItemOutput) Description() pulumi.StringOutput { return o.ApplyT(func(v GetRuleSetItem) string { return v.Description }).(pulumi.StringOutput) @@ -8937,6 +9299,11 @@ func (o GetRuleSetItemOutput) HttpLargeHeaderSizeInKb() pulumi.IntOutput { return o.ApplyT(func(v GetRuleSetItem) int { return v.HttpLargeHeaderSizeInKb }).(pulumi.IntOutput) } +// An array of IPs that have a maxConnection setting different than the default and what that maxConnection setting is +func (o GetRuleSetItemOutput) IpMaxConnections() GetRuleSetItemIpMaxConnectionArrayOutput { + return o.ApplyT(func(v GetRuleSetItem) []GetRuleSetItemIpMaxConnection { return v.IpMaxConnections }).(GetRuleSetItemIpMaxConnectionArrayOutput) +} + // A string to prepend to the header value. The resulting header value must still conform to RFC 7230. With the following exceptions: // * value cannot contain `$` // * value cannot contain patterns like `{variable_name}`. They are reserved for future extensions. Currently, such values are invalid. @@ -9129,6 +9496,112 @@ func (o GetRuleSetItemConditionArrayOutput) Index(i pulumi.IntInput) GetRuleSetI }).(GetRuleSetItemConditionOutput) } +type GetRuleSetItemIpMaxConnection struct { + // Each element in the list should be valid IPv4 or IPv6 CIDR Block address. Example: '["129.213.176.0/24", "150.136.187.0/24", "2002::1234:abcd:ffff:c0a8:101/64"]' + IpAddresses []string `pulumi:"ipAddresses"` + // The maximum number of simultaneous connections that the specified IPs can make to the Listener. IPs without a maxConnections setting can make either defaultMaxConnections simultaneous connections to a listener or, if no defaultMaxConnections is specified, an unlimited number of simultaneous connections to a listener. + MaxConnections int `pulumi:"maxConnections"` +} + +// GetRuleSetItemIpMaxConnectionInput is an input type that accepts GetRuleSetItemIpMaxConnectionArgs and GetRuleSetItemIpMaxConnectionOutput values. +// You can construct a concrete instance of `GetRuleSetItemIpMaxConnectionInput` via: +// +// GetRuleSetItemIpMaxConnectionArgs{...} +type GetRuleSetItemIpMaxConnectionInput interface { + pulumi.Input + + ToGetRuleSetItemIpMaxConnectionOutput() GetRuleSetItemIpMaxConnectionOutput + ToGetRuleSetItemIpMaxConnectionOutputWithContext(context.Context) GetRuleSetItemIpMaxConnectionOutput +} + +type GetRuleSetItemIpMaxConnectionArgs struct { + // Each element in the list should be valid IPv4 or IPv6 CIDR Block address. Example: '["129.213.176.0/24", "150.136.187.0/24", "2002::1234:abcd:ffff:c0a8:101/64"]' + IpAddresses pulumi.StringArrayInput `pulumi:"ipAddresses"` + // The maximum number of simultaneous connections that the specified IPs can make to the Listener. IPs without a maxConnections setting can make either defaultMaxConnections simultaneous connections to a listener or, if no defaultMaxConnections is specified, an unlimited number of simultaneous connections to a listener. + MaxConnections pulumi.IntInput `pulumi:"maxConnections"` +} + +func (GetRuleSetItemIpMaxConnectionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRuleSetItemIpMaxConnection)(nil)).Elem() +} + +func (i GetRuleSetItemIpMaxConnectionArgs) ToGetRuleSetItemIpMaxConnectionOutput() GetRuleSetItemIpMaxConnectionOutput { + return i.ToGetRuleSetItemIpMaxConnectionOutputWithContext(context.Background()) +} + +func (i GetRuleSetItemIpMaxConnectionArgs) ToGetRuleSetItemIpMaxConnectionOutputWithContext(ctx context.Context) GetRuleSetItemIpMaxConnectionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRuleSetItemIpMaxConnectionOutput) +} + +// GetRuleSetItemIpMaxConnectionArrayInput is an input type that accepts GetRuleSetItemIpMaxConnectionArray and GetRuleSetItemIpMaxConnectionArrayOutput values. +// You can construct a concrete instance of `GetRuleSetItemIpMaxConnectionArrayInput` via: +// +// GetRuleSetItemIpMaxConnectionArray{ GetRuleSetItemIpMaxConnectionArgs{...} } +type GetRuleSetItemIpMaxConnectionArrayInput interface { + pulumi.Input + + ToGetRuleSetItemIpMaxConnectionArrayOutput() GetRuleSetItemIpMaxConnectionArrayOutput + ToGetRuleSetItemIpMaxConnectionArrayOutputWithContext(context.Context) GetRuleSetItemIpMaxConnectionArrayOutput +} + +type GetRuleSetItemIpMaxConnectionArray []GetRuleSetItemIpMaxConnectionInput + +func (GetRuleSetItemIpMaxConnectionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRuleSetItemIpMaxConnection)(nil)).Elem() +} + +func (i GetRuleSetItemIpMaxConnectionArray) ToGetRuleSetItemIpMaxConnectionArrayOutput() GetRuleSetItemIpMaxConnectionArrayOutput { + return i.ToGetRuleSetItemIpMaxConnectionArrayOutputWithContext(context.Background()) +} + +func (i GetRuleSetItemIpMaxConnectionArray) ToGetRuleSetItemIpMaxConnectionArrayOutputWithContext(ctx context.Context) GetRuleSetItemIpMaxConnectionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRuleSetItemIpMaxConnectionArrayOutput) +} + +type GetRuleSetItemIpMaxConnectionOutput struct{ *pulumi.OutputState } + +func (GetRuleSetItemIpMaxConnectionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRuleSetItemIpMaxConnection)(nil)).Elem() +} + +func (o GetRuleSetItemIpMaxConnectionOutput) ToGetRuleSetItemIpMaxConnectionOutput() GetRuleSetItemIpMaxConnectionOutput { + return o +} + +func (o GetRuleSetItemIpMaxConnectionOutput) ToGetRuleSetItemIpMaxConnectionOutputWithContext(ctx context.Context) GetRuleSetItemIpMaxConnectionOutput { + return o +} + +// Each element in the list should be valid IPv4 or IPv6 CIDR Block address. Example: '["129.213.176.0/24", "150.136.187.0/24", "2002::1234:abcd:ffff:c0a8:101/64"]' +func (o GetRuleSetItemIpMaxConnectionOutput) IpAddresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetRuleSetItemIpMaxConnection) []string { return v.IpAddresses }).(pulumi.StringArrayOutput) +} + +// The maximum number of simultaneous connections that the specified IPs can make to the Listener. IPs without a maxConnections setting can make either defaultMaxConnections simultaneous connections to a listener or, if no defaultMaxConnections is specified, an unlimited number of simultaneous connections to a listener. +func (o GetRuleSetItemIpMaxConnectionOutput) MaxConnections() pulumi.IntOutput { + return o.ApplyT(func(v GetRuleSetItemIpMaxConnection) int { return v.MaxConnections }).(pulumi.IntOutput) +} + +type GetRuleSetItemIpMaxConnectionArrayOutput struct{ *pulumi.OutputState } + +func (GetRuleSetItemIpMaxConnectionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRuleSetItemIpMaxConnection)(nil)).Elem() +} + +func (o GetRuleSetItemIpMaxConnectionArrayOutput) ToGetRuleSetItemIpMaxConnectionArrayOutput() GetRuleSetItemIpMaxConnectionArrayOutput { + return o +} + +func (o GetRuleSetItemIpMaxConnectionArrayOutput) ToGetRuleSetItemIpMaxConnectionArrayOutputWithContext(ctx context.Context) GetRuleSetItemIpMaxConnectionArrayOutput { + return o +} + +func (o GetRuleSetItemIpMaxConnectionArrayOutput) Index(i pulumi.IntInput) GetRuleSetItemIpMaxConnectionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRuleSetItemIpMaxConnection { + return vs[0].([]GetRuleSetItemIpMaxConnection)[vs[1].(int)] + }).(GetRuleSetItemIpMaxConnectionOutput) +} + type GetRuleSetItemRedirectUri struct { // The valid domain name (hostname) or IP address to use in the redirect URI. Host string `pulumi:"host"` @@ -9499,19 +9972,23 @@ func (o GetRuleSetsRuleSetArrayOutput) Index(i pulumi.IntInput) GetRuleSetsRuleS } type GetRuleSetsRuleSetItem struct { - // The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` + // The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `IP_BASED_MAX_CONNECTIONS`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` Action string `pulumi:"action"` // The list of HTTP methods allowed for this listener. AllowedMethods []string `pulumi:"allowedMethods"` // Indicates whether or not invalid characters in client header fields will be allowed. Valid names are composed of English letters, digits, hyphens and underscores. If "true", invalid characters are allowed in the HTTP header. If "false", invalid characters are not allowed in the HTTP header AreInvalidCharactersAllowed bool `pulumi:"areInvalidCharactersAllowed"` Conditions []GetRuleSetsRuleSetItemCondition `pulumi:"conditions"` + // The maximum number of connections that the any IP can make to a listener unless the IP is mentioned in maxConnections. If no defaultMaxConnections is specified the default is unlimited. + DefaultMaxConnections int `pulumi:"defaultMaxConnections"` // A brief description of the access control rule. Avoid entering confidential information. Description string `pulumi:"description"` // A header name that conforms to RFC 7230. Example: `exampleHeaderName` Header string `pulumi:"header"` // The maximum size of each buffer used for reading http client request header. This value indicates the maximum size allowed for each buffer. The allowed values for buffer size are 8, 16, 32 and 64. HttpLargeHeaderSizeInKb int `pulumi:"httpLargeHeaderSizeInKb"` + // An array of IPs that have a maxConnection setting different than the default and what that maxConnection setting is + IpMaxConnections []GetRuleSetsRuleSetItemIpMaxConnection `pulumi:"ipMaxConnections"` // A string to prepend to the header value. The resulting header value must still conform to RFC 7230. With the following exceptions: // * value cannot contain `$` // * value cannot contain patterns like `{variable_name}`. They are reserved for future extensions. Currently, such values are invalid. @@ -9544,19 +10021,23 @@ type GetRuleSetsRuleSetItemInput interface { } type GetRuleSetsRuleSetItemArgs struct { - // The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` + // The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `IP_BASED_MAX_CONNECTIONS`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` Action pulumi.StringInput `pulumi:"action"` // The list of HTTP methods allowed for this listener. AllowedMethods pulumi.StringArrayInput `pulumi:"allowedMethods"` // Indicates whether or not invalid characters in client header fields will be allowed. Valid names are composed of English letters, digits, hyphens and underscores. If "true", invalid characters are allowed in the HTTP header. If "false", invalid characters are not allowed in the HTTP header AreInvalidCharactersAllowed pulumi.BoolInput `pulumi:"areInvalidCharactersAllowed"` Conditions GetRuleSetsRuleSetItemConditionArrayInput `pulumi:"conditions"` + // The maximum number of connections that the any IP can make to a listener unless the IP is mentioned in maxConnections. If no defaultMaxConnections is specified the default is unlimited. + DefaultMaxConnections pulumi.IntInput `pulumi:"defaultMaxConnections"` // A brief description of the access control rule. Avoid entering confidential information. Description pulumi.StringInput `pulumi:"description"` // A header name that conforms to RFC 7230. Example: `exampleHeaderName` Header pulumi.StringInput `pulumi:"header"` // The maximum size of each buffer used for reading http client request header. This value indicates the maximum size allowed for each buffer. The allowed values for buffer size are 8, 16, 32 and 64. HttpLargeHeaderSizeInKb pulumi.IntInput `pulumi:"httpLargeHeaderSizeInKb"` + // An array of IPs that have a maxConnection setting different than the default and what that maxConnection setting is + IpMaxConnections GetRuleSetsRuleSetItemIpMaxConnectionArrayInput `pulumi:"ipMaxConnections"` // A string to prepend to the header value. The resulting header value must still conform to RFC 7230. With the following exceptions: // * value cannot contain `$` // * value cannot contain patterns like `{variable_name}`. They are reserved for future extensions. Currently, such values are invalid. @@ -9628,7 +10109,7 @@ func (o GetRuleSetsRuleSetItemOutput) ToGetRuleSetsRuleSetItemOutputWithContext( return o } -// The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` +// The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `IP_BASED_MAX_CONNECTIONS`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` func (o GetRuleSetsRuleSetItemOutput) Action() pulumi.StringOutput { return o.ApplyT(func(v GetRuleSetsRuleSetItem) string { return v.Action }).(pulumi.StringOutput) } @@ -9647,6 +10128,11 @@ func (o GetRuleSetsRuleSetItemOutput) Conditions() GetRuleSetsRuleSetItemConditi return o.ApplyT(func(v GetRuleSetsRuleSetItem) []GetRuleSetsRuleSetItemCondition { return v.Conditions }).(GetRuleSetsRuleSetItemConditionArrayOutput) } +// The maximum number of connections that the any IP can make to a listener unless the IP is mentioned in maxConnections. If no defaultMaxConnections is specified the default is unlimited. +func (o GetRuleSetsRuleSetItemOutput) DefaultMaxConnections() pulumi.IntOutput { + return o.ApplyT(func(v GetRuleSetsRuleSetItem) int { return v.DefaultMaxConnections }).(pulumi.IntOutput) +} + // A brief description of the access control rule. Avoid entering confidential information. func (o GetRuleSetsRuleSetItemOutput) Description() pulumi.StringOutput { return o.ApplyT(func(v GetRuleSetsRuleSetItem) string { return v.Description }).(pulumi.StringOutput) @@ -9662,6 +10148,11 @@ func (o GetRuleSetsRuleSetItemOutput) HttpLargeHeaderSizeInKb() pulumi.IntOutput return o.ApplyT(func(v GetRuleSetsRuleSetItem) int { return v.HttpLargeHeaderSizeInKb }).(pulumi.IntOutput) } +// An array of IPs that have a maxConnection setting different than the default and what that maxConnection setting is +func (o GetRuleSetsRuleSetItemOutput) IpMaxConnections() GetRuleSetsRuleSetItemIpMaxConnectionArrayOutput { + return o.ApplyT(func(v GetRuleSetsRuleSetItem) []GetRuleSetsRuleSetItemIpMaxConnection { return v.IpMaxConnections }).(GetRuleSetsRuleSetItemIpMaxConnectionArrayOutput) +} + // A string to prepend to the header value. The resulting header value must still conform to RFC 7230. With the following exceptions: // * value cannot contain `$` // * value cannot contain patterns like `{variable_name}`. They are reserved for future extensions. Currently, such values are invalid. @@ -9854,6 +10345,112 @@ func (o GetRuleSetsRuleSetItemConditionArrayOutput) Index(i pulumi.IntInput) Get }).(GetRuleSetsRuleSetItemConditionOutput) } +type GetRuleSetsRuleSetItemIpMaxConnection struct { + // Each element in the list should be valid IPv4 or IPv6 CIDR Block address. Example: '["129.213.176.0/24", "150.136.187.0/24", "2002::1234:abcd:ffff:c0a8:101/64"]' + IpAddresses []string `pulumi:"ipAddresses"` + // The maximum number of simultaneous connections that the specified IPs can make to the Listener. IPs without a maxConnections setting can make either defaultMaxConnections simultaneous connections to a listener or, if no defaultMaxConnections is specified, an unlimited number of simultaneous connections to a listener. + MaxConnections int `pulumi:"maxConnections"` +} + +// GetRuleSetsRuleSetItemIpMaxConnectionInput is an input type that accepts GetRuleSetsRuleSetItemIpMaxConnectionArgs and GetRuleSetsRuleSetItemIpMaxConnectionOutput values. +// You can construct a concrete instance of `GetRuleSetsRuleSetItemIpMaxConnectionInput` via: +// +// GetRuleSetsRuleSetItemIpMaxConnectionArgs{...} +type GetRuleSetsRuleSetItemIpMaxConnectionInput interface { + pulumi.Input + + ToGetRuleSetsRuleSetItemIpMaxConnectionOutput() GetRuleSetsRuleSetItemIpMaxConnectionOutput + ToGetRuleSetsRuleSetItemIpMaxConnectionOutputWithContext(context.Context) GetRuleSetsRuleSetItemIpMaxConnectionOutput +} + +type GetRuleSetsRuleSetItemIpMaxConnectionArgs struct { + // Each element in the list should be valid IPv4 or IPv6 CIDR Block address. Example: '["129.213.176.0/24", "150.136.187.0/24", "2002::1234:abcd:ffff:c0a8:101/64"]' + IpAddresses pulumi.StringArrayInput `pulumi:"ipAddresses"` + // The maximum number of simultaneous connections that the specified IPs can make to the Listener. IPs without a maxConnections setting can make either defaultMaxConnections simultaneous connections to a listener or, if no defaultMaxConnections is specified, an unlimited number of simultaneous connections to a listener. + MaxConnections pulumi.IntInput `pulumi:"maxConnections"` +} + +func (GetRuleSetsRuleSetItemIpMaxConnectionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRuleSetsRuleSetItemIpMaxConnection)(nil)).Elem() +} + +func (i GetRuleSetsRuleSetItemIpMaxConnectionArgs) ToGetRuleSetsRuleSetItemIpMaxConnectionOutput() GetRuleSetsRuleSetItemIpMaxConnectionOutput { + return i.ToGetRuleSetsRuleSetItemIpMaxConnectionOutputWithContext(context.Background()) +} + +func (i GetRuleSetsRuleSetItemIpMaxConnectionArgs) ToGetRuleSetsRuleSetItemIpMaxConnectionOutputWithContext(ctx context.Context) GetRuleSetsRuleSetItemIpMaxConnectionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRuleSetsRuleSetItemIpMaxConnectionOutput) +} + +// GetRuleSetsRuleSetItemIpMaxConnectionArrayInput is an input type that accepts GetRuleSetsRuleSetItemIpMaxConnectionArray and GetRuleSetsRuleSetItemIpMaxConnectionArrayOutput values. +// You can construct a concrete instance of `GetRuleSetsRuleSetItemIpMaxConnectionArrayInput` via: +// +// GetRuleSetsRuleSetItemIpMaxConnectionArray{ GetRuleSetsRuleSetItemIpMaxConnectionArgs{...} } +type GetRuleSetsRuleSetItemIpMaxConnectionArrayInput interface { + pulumi.Input + + ToGetRuleSetsRuleSetItemIpMaxConnectionArrayOutput() GetRuleSetsRuleSetItemIpMaxConnectionArrayOutput + ToGetRuleSetsRuleSetItemIpMaxConnectionArrayOutputWithContext(context.Context) GetRuleSetsRuleSetItemIpMaxConnectionArrayOutput +} + +type GetRuleSetsRuleSetItemIpMaxConnectionArray []GetRuleSetsRuleSetItemIpMaxConnectionInput + +func (GetRuleSetsRuleSetItemIpMaxConnectionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRuleSetsRuleSetItemIpMaxConnection)(nil)).Elem() +} + +func (i GetRuleSetsRuleSetItemIpMaxConnectionArray) ToGetRuleSetsRuleSetItemIpMaxConnectionArrayOutput() GetRuleSetsRuleSetItemIpMaxConnectionArrayOutput { + return i.ToGetRuleSetsRuleSetItemIpMaxConnectionArrayOutputWithContext(context.Background()) +} + +func (i GetRuleSetsRuleSetItemIpMaxConnectionArray) ToGetRuleSetsRuleSetItemIpMaxConnectionArrayOutputWithContext(ctx context.Context) GetRuleSetsRuleSetItemIpMaxConnectionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRuleSetsRuleSetItemIpMaxConnectionArrayOutput) +} + +type GetRuleSetsRuleSetItemIpMaxConnectionOutput struct{ *pulumi.OutputState } + +func (GetRuleSetsRuleSetItemIpMaxConnectionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRuleSetsRuleSetItemIpMaxConnection)(nil)).Elem() +} + +func (o GetRuleSetsRuleSetItemIpMaxConnectionOutput) ToGetRuleSetsRuleSetItemIpMaxConnectionOutput() GetRuleSetsRuleSetItemIpMaxConnectionOutput { + return o +} + +func (o GetRuleSetsRuleSetItemIpMaxConnectionOutput) ToGetRuleSetsRuleSetItemIpMaxConnectionOutputWithContext(ctx context.Context) GetRuleSetsRuleSetItemIpMaxConnectionOutput { + return o +} + +// Each element in the list should be valid IPv4 or IPv6 CIDR Block address. Example: '["129.213.176.0/24", "150.136.187.0/24", "2002::1234:abcd:ffff:c0a8:101/64"]' +func (o GetRuleSetsRuleSetItemIpMaxConnectionOutput) IpAddresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetRuleSetsRuleSetItemIpMaxConnection) []string { return v.IpAddresses }).(pulumi.StringArrayOutput) +} + +// The maximum number of simultaneous connections that the specified IPs can make to the Listener. IPs without a maxConnections setting can make either defaultMaxConnections simultaneous connections to a listener or, if no defaultMaxConnections is specified, an unlimited number of simultaneous connections to a listener. +func (o GetRuleSetsRuleSetItemIpMaxConnectionOutput) MaxConnections() pulumi.IntOutput { + return o.ApplyT(func(v GetRuleSetsRuleSetItemIpMaxConnection) int { return v.MaxConnections }).(pulumi.IntOutput) +} + +type GetRuleSetsRuleSetItemIpMaxConnectionArrayOutput struct{ *pulumi.OutputState } + +func (GetRuleSetsRuleSetItemIpMaxConnectionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRuleSetsRuleSetItemIpMaxConnection)(nil)).Elem() +} + +func (o GetRuleSetsRuleSetItemIpMaxConnectionArrayOutput) ToGetRuleSetsRuleSetItemIpMaxConnectionArrayOutput() GetRuleSetsRuleSetItemIpMaxConnectionArrayOutput { + return o +} + +func (o GetRuleSetsRuleSetItemIpMaxConnectionArrayOutput) ToGetRuleSetsRuleSetItemIpMaxConnectionArrayOutputWithContext(ctx context.Context) GetRuleSetsRuleSetItemIpMaxConnectionArrayOutput { + return o +} + +func (o GetRuleSetsRuleSetItemIpMaxConnectionArrayOutput) Index(i pulumi.IntInput) GetRuleSetsRuleSetItemIpMaxConnectionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRuleSetsRuleSetItemIpMaxConnection { + return vs[0].([]GetRuleSetsRuleSetItemIpMaxConnection)[vs[1].(int)] + }).(GetRuleSetsRuleSetItemIpMaxConnectionOutput) +} + type GetRuleSetsRuleSetItemRedirectUri struct { // The valid domain name (hostname) or IP address to use in the redirect URI. Host string `pulumi:"host"` @@ -10457,6 +11054,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*RuleSetItemArrayInput)(nil)).Elem(), RuleSetItemArray{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleSetItemConditionInput)(nil)).Elem(), RuleSetItemConditionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleSetItemConditionArrayInput)(nil)).Elem(), RuleSetItemConditionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*RuleSetItemIpMaxConnectionInput)(nil)).Elem(), RuleSetItemIpMaxConnectionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RuleSetItemIpMaxConnectionArrayInput)(nil)).Elem(), RuleSetItemIpMaxConnectionArray{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleSetItemRedirectUriInput)(nil)).Elem(), RuleSetItemRedirectUriArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleSetItemRedirectUriPtrInput)(nil)).Elem(), RuleSetItemRedirectUriArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetBackendHealthHealthCheckResultInput)(nil)).Elem(), GetBackendHealthHealthCheckResultArgs{}) @@ -10495,6 +11094,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetListenerRulesListenerRuleRuleArrayInput)(nil)).Elem(), GetListenerRulesListenerRuleRuleArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetListenerRulesListenerRuleRuleConditionInput)(nil)).Elem(), GetListenerRulesListenerRuleRuleConditionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetListenerRulesListenerRuleRuleConditionArrayInput)(nil)).Elem(), GetListenerRulesListenerRuleRuleConditionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetListenerRulesListenerRuleRuleIpMaxConnectionInput)(nil)).Elem(), GetListenerRulesListenerRuleRuleIpMaxConnectionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetListenerRulesListenerRuleRuleIpMaxConnectionArrayInput)(nil)).Elem(), GetListenerRulesListenerRuleRuleIpMaxConnectionArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetListenerRulesListenerRuleRuleRedirectUriInput)(nil)).Elem(), GetListenerRulesListenerRuleRuleRedirectUriArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetListenerRulesListenerRuleRuleRedirectUriArrayInput)(nil)).Elem(), GetListenerRulesListenerRuleRuleRedirectUriArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetLoadBalancerRoutingPoliciesFilterInput)(nil)).Elem(), GetLoadBalancerRoutingPoliciesFilterArgs{}) @@ -10540,6 +11141,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetRuleSetItemArrayInput)(nil)).Elem(), GetRuleSetItemArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetRuleSetItemConditionInput)(nil)).Elem(), GetRuleSetItemConditionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetRuleSetItemConditionArrayInput)(nil)).Elem(), GetRuleSetItemConditionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetRuleSetItemIpMaxConnectionInput)(nil)).Elem(), GetRuleSetItemIpMaxConnectionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetRuleSetItemIpMaxConnectionArrayInput)(nil)).Elem(), GetRuleSetItemIpMaxConnectionArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetRuleSetItemRedirectUriInput)(nil)).Elem(), GetRuleSetItemRedirectUriArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetRuleSetItemRedirectUriArrayInput)(nil)).Elem(), GetRuleSetItemRedirectUriArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetRuleSetsFilterInput)(nil)).Elem(), GetRuleSetsFilterArgs{}) @@ -10550,6 +11153,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetRuleSetsRuleSetItemArrayInput)(nil)).Elem(), GetRuleSetsRuleSetItemArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetRuleSetsRuleSetItemConditionInput)(nil)).Elem(), GetRuleSetsRuleSetItemConditionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetRuleSetsRuleSetItemConditionArrayInput)(nil)).Elem(), GetRuleSetsRuleSetItemConditionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetRuleSetsRuleSetItemIpMaxConnectionInput)(nil)).Elem(), GetRuleSetsRuleSetItemIpMaxConnectionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetRuleSetsRuleSetItemIpMaxConnectionArrayInput)(nil)).Elem(), GetRuleSetsRuleSetItemIpMaxConnectionArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetRuleSetsRuleSetItemRedirectUriInput)(nil)).Elem(), GetRuleSetsRuleSetItemRedirectUriArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetRuleSetsRuleSetItemRedirectUriArrayInput)(nil)).Elem(), GetRuleSetsRuleSetItemRedirectUriArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetShapesFilterInput)(nil)).Elem(), GetShapesFilterArgs{}) @@ -10593,6 +11198,8 @@ func init() { pulumi.RegisterOutputType(RuleSetItemArrayOutput{}) pulumi.RegisterOutputType(RuleSetItemConditionOutput{}) pulumi.RegisterOutputType(RuleSetItemConditionArrayOutput{}) + pulumi.RegisterOutputType(RuleSetItemIpMaxConnectionOutput{}) + pulumi.RegisterOutputType(RuleSetItemIpMaxConnectionArrayOutput{}) pulumi.RegisterOutputType(RuleSetItemRedirectUriOutput{}) pulumi.RegisterOutputType(RuleSetItemRedirectUriPtrOutput{}) pulumi.RegisterOutputType(GetBackendHealthHealthCheckResultOutput{}) @@ -10631,6 +11238,8 @@ func init() { pulumi.RegisterOutputType(GetListenerRulesListenerRuleRuleArrayOutput{}) pulumi.RegisterOutputType(GetListenerRulesListenerRuleRuleConditionOutput{}) pulumi.RegisterOutputType(GetListenerRulesListenerRuleRuleConditionArrayOutput{}) + pulumi.RegisterOutputType(GetListenerRulesListenerRuleRuleIpMaxConnectionOutput{}) + pulumi.RegisterOutputType(GetListenerRulesListenerRuleRuleIpMaxConnectionArrayOutput{}) pulumi.RegisterOutputType(GetListenerRulesListenerRuleRuleRedirectUriOutput{}) pulumi.RegisterOutputType(GetListenerRulesListenerRuleRuleRedirectUriArrayOutput{}) pulumi.RegisterOutputType(GetLoadBalancerRoutingPoliciesFilterOutput{}) @@ -10676,6 +11285,8 @@ func init() { pulumi.RegisterOutputType(GetRuleSetItemArrayOutput{}) pulumi.RegisterOutputType(GetRuleSetItemConditionOutput{}) pulumi.RegisterOutputType(GetRuleSetItemConditionArrayOutput{}) + pulumi.RegisterOutputType(GetRuleSetItemIpMaxConnectionOutput{}) + pulumi.RegisterOutputType(GetRuleSetItemIpMaxConnectionArrayOutput{}) pulumi.RegisterOutputType(GetRuleSetItemRedirectUriOutput{}) pulumi.RegisterOutputType(GetRuleSetItemRedirectUriArrayOutput{}) pulumi.RegisterOutputType(GetRuleSetsFilterOutput{}) @@ -10686,6 +11297,8 @@ func init() { pulumi.RegisterOutputType(GetRuleSetsRuleSetItemArrayOutput{}) pulumi.RegisterOutputType(GetRuleSetsRuleSetItemConditionOutput{}) pulumi.RegisterOutputType(GetRuleSetsRuleSetItemConditionArrayOutput{}) + pulumi.RegisterOutputType(GetRuleSetsRuleSetItemIpMaxConnectionOutput{}) + pulumi.RegisterOutputType(GetRuleSetsRuleSetItemIpMaxConnectionArrayOutput{}) pulumi.RegisterOutputType(GetRuleSetsRuleSetItemRedirectUriOutput{}) pulumi.RegisterOutputType(GetRuleSetsRuleSetItemRedirectUriArrayOutput{}) pulumi.RegisterOutputType(GetShapesFilterOutput{}) diff --git a/sdk/go/oci/loadbalancer/ruleSet.go b/sdk/go/oci/loadbalancer/ruleSet.go index 364c807ff5..5ba57704bf 100644 --- a/sdk/go/oci/loadbalancer/ruleSet.go +++ b/sdk/go/oci/loadbalancer/ruleSet.go @@ -44,10 +44,17 @@ import ( // Operator: pulumi.Any(ruleSetItemsConditionsOperator), // }, // }, +// DefaultMaxConnections: pulumi.Any(ruleSetItemsDefaultMaxConnections), // Description: pulumi.Any(ruleSetItemsDescription), // Header: pulumi.Any(ruleSetItemsHeader), // HttpLargeHeaderSizeInKb: pulumi.Any(ruleSetItemsHttpLargeHeaderSizeInKb), -// Prefix: pulumi.Any(ruleSetItemsPrefix), +// IpMaxConnections: loadbalancer.RuleSetItemIpMaxConnectionArray{ +// &loadbalancer.RuleSetItemIpMaxConnectionArgs{ +// IpAddresses: pulumi.Any(ruleSetItemsIpMaxConnectionsIpAddresses), +// MaxConnections: pulumi.Any(ruleSetItemsIpMaxConnectionsMaxConnections), +// }, +// }, +// Prefix: pulumi.Any(ruleSetItemsPrefix), // RedirectUri: &loadbalancer.RuleSetItemRedirectUriArgs{ // Host: pulumi.Any(ruleSetItemsRedirectUriHost), // Path: pulumi.Any(ruleSetItemsRedirectUriPath), diff --git a/sdk/java/src/main/java/com/pulumi/oci/Database/CloudExadataInfrastructure.java b/sdk/java/src/main/java/com/pulumi/oci/Database/CloudExadataInfrastructure.java index cb3f6a0b61..6f73dc314e 100644 --- a/sdk/java/src/main/java/com/pulumi/oci/Database/CloudExadataInfrastructure.java +++ b/sdk/java/src/main/java/com/pulumi/oci/Database/CloudExadataInfrastructure.java @@ -10,6 +10,7 @@ import com.pulumi.oci.Database.CloudExadataInfrastructureArgs; import com.pulumi.oci.Database.inputs.CloudExadataInfrastructureState; import com.pulumi.oci.Database.outputs.CloudExadataInfrastructureCustomerContact; +import com.pulumi.oci.Database.outputs.CloudExadataInfrastructureDefinedFileSystemConfiguration; import com.pulumi.oci.Database.outputs.CloudExadataInfrastructureMaintenanceWindow; import com.pulumi.oci.Utilities; import java.lang.Double; @@ -269,6 +270,20 @@ public Output dbNodeStorageSizeInGbs() { public Output dbServerVersion() { return this.dbServerVersion; } + /** + * Details of the file system configuration of the Exadata infrastructure. + * + */ + @Export(name="definedFileSystemConfigurations", refs={List.class,CloudExadataInfrastructureDefinedFileSystemConfiguration.class}, tree="[0,1]") + private Output> definedFileSystemConfigurations; + + /** + * @return Details of the file system configuration of the Exadata infrastructure. + * + */ + public Output> definedFileSystemConfigurations() { + return this.definedFileSystemConfigurations; + } /** * (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). * diff --git a/sdk/java/src/main/java/com/pulumi/oci/Database/CloudVmCluster.java b/sdk/java/src/main/java/com/pulumi/oci/Database/CloudVmCluster.java index a84207da1e..621a056d85 100644 --- a/sdk/java/src/main/java/com/pulumi/oci/Database/CloudVmCluster.java +++ b/sdk/java/src/main/java/com/pulumi/oci/Database/CloudVmCluster.java @@ -10,6 +10,7 @@ import com.pulumi.oci.Database.CloudVmClusterArgs; import com.pulumi.oci.Database.inputs.CloudVmClusterState; import com.pulumi.oci.Database.outputs.CloudVmClusterDataCollectionOptions; +import com.pulumi.oci.Database.outputs.CloudVmClusterFileSystemConfigurationDetail; import com.pulumi.oci.Database.outputs.CloudVmClusterIormConfigCach; import com.pulumi.oci.Utilities; import java.lang.Boolean; @@ -40,6 +41,7 @@ * import com.pulumi.oci.Database.CloudVmCluster; * import com.pulumi.oci.Database.CloudVmClusterArgs; * import com.pulumi.oci.Database.inputs.CloudVmClusterDataCollectionOptionsArgs; + * import com.pulumi.oci.Database.inputs.CloudVmClusterFileSystemConfigurationDetailArgs; * import java.util.List; * import java.util.ArrayList; * import java.util.Map; @@ -76,6 +78,10 @@ * .dbServers(cloudVmClusterDbServers) * .definedTags(cloudVmClusterDefinedTags) * .domain(cloudVmClusterDomain) + * .fileSystemConfigurationDetails(CloudVmClusterFileSystemConfigurationDetailArgs.builder() + * .fileSystemSizeGb(cloudVmClusterFileSystemConfigurationDetailsFileSystemSizeGb) + * .mountPoint(cloudVmClusterFileSystemConfigurationDetailsMountPoint) + * .build()) * .freeformTags(Map.of("Department", "Finance")) * .isLocalBackupEnabled(cloudVmClusterIsLocalBackupEnabled) * .isSparseDiskgroupEnabled(cloudVmClusterIsSparseDiskgroupEnabled) @@ -351,6 +357,20 @@ public Output displayName() { public Output domain() { return this.domain; } + /** + * (Updatable) Details of the file system configuration of the VM cluster. + * + */ + @Export(name="fileSystemConfigurationDetails", refs={List.class,CloudVmClusterFileSystemConfigurationDetail.class}, tree="[0,1]") + private Output> fileSystemConfigurationDetails; + + /** + * @return (Updatable) Details of the file system configuration of the VM cluster. + * + */ + public Output> fileSystemConfigurationDetails() { + return this.fileSystemConfigurationDetails; + } /** * (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` * diff --git a/sdk/java/src/main/java/com/pulumi/oci/Database/CloudVmClusterArgs.java b/sdk/java/src/main/java/com/pulumi/oci/Database/CloudVmClusterArgs.java index d09c40ceb9..ec6e251a02 100644 --- a/sdk/java/src/main/java/com/pulumi/oci/Database/CloudVmClusterArgs.java +++ b/sdk/java/src/main/java/com/pulumi/oci/Database/CloudVmClusterArgs.java @@ -7,6 +7,7 @@ import com.pulumi.core.annotations.Import; import com.pulumi.exceptions.MissingRequiredPropertyException; import com.pulumi.oci.Database.inputs.CloudVmClusterDataCollectionOptionsArgs; +import com.pulumi.oci.Database.inputs.CloudVmClusterFileSystemConfigurationDetailArgs; import java.lang.Boolean; import java.lang.Double; import java.lang.Integer; @@ -254,6 +255,21 @@ public Optional> domain() { return Optional.ofNullable(this.domain); } + /** + * (Updatable) Details of the file system configuration of the VM cluster. + * + */ + @Import(name="fileSystemConfigurationDetails") + private @Nullable Output> fileSystemConfigurationDetails; + + /** + * @return (Updatable) Details of the file system configuration of the VM cluster. + * + */ + public Optional>> fileSystemConfigurationDetails() { + return Optional.ofNullable(this.fileSystemConfigurationDetails); + } + /** * (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` * @@ -528,6 +544,7 @@ private CloudVmClusterArgs(CloudVmClusterArgs $) { this.definedTags = $.definedTags; this.displayName = $.displayName; this.domain = $.domain; + this.fileSystemConfigurationDetails = $.fileSystemConfigurationDetails; this.freeformTags = $.freeformTags; this.giVersion = $.giVersion; this.hostname = $.hostname; @@ -901,6 +918,37 @@ public Builder domain(String domain) { return domain(Output.of(domain)); } + /** + * @param fileSystemConfigurationDetails (Updatable) Details of the file system configuration of the VM cluster. + * + * @return builder + * + */ + public Builder fileSystemConfigurationDetails(@Nullable Output> fileSystemConfigurationDetails) { + $.fileSystemConfigurationDetails = fileSystemConfigurationDetails; + return this; + } + + /** + * @param fileSystemConfigurationDetails (Updatable) Details of the file system configuration of the VM cluster. + * + * @return builder + * + */ + public Builder fileSystemConfigurationDetails(List fileSystemConfigurationDetails) { + return fileSystemConfigurationDetails(Output.of(fileSystemConfigurationDetails)); + } + + /** + * @param fileSystemConfigurationDetails (Updatable) Details of the file system configuration of the VM cluster. + * + * @return builder + * + */ + public Builder fileSystemConfigurationDetails(CloudVmClusterFileSystemConfigurationDetailArgs... fileSystemConfigurationDetails) { + return fileSystemConfigurationDetails(List.of(fileSystemConfigurationDetails)); + } + /** * @param freeformTags (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` * diff --git a/sdk/java/src/main/java/com/pulumi/oci/Database/inputs/CloudExadataInfrastructureDefinedFileSystemConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/oci/Database/inputs/CloudExadataInfrastructureDefinedFileSystemConfigurationArgs.java new file mode 100644 index 0000000000..6a666f8a0b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/oci/Database/inputs/CloudExadataInfrastructureDefinedFileSystemConfigurationArgs.java @@ -0,0 +1,196 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.oci.Database.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CloudExadataInfrastructureDefinedFileSystemConfigurationArgs extends com.pulumi.resources.ResourceArgs { + + public static final CloudExadataInfrastructureDefinedFileSystemConfigurationArgs Empty = new CloudExadataInfrastructureDefinedFileSystemConfigurationArgs(); + + /** + * If true, the file system is used to create a backup prior to Exadata VM OS update. + * + */ + @Import(name="isBackupPartition") + private @Nullable Output isBackupPartition; + + /** + * @return If true, the file system is used to create a backup prior to Exadata VM OS update. + * + */ + public Optional> isBackupPartition() { + return Optional.ofNullable(this.isBackupPartition); + } + + /** + * If true, the file system resize is allowed for the Exadata Infrastructure cluster. If false, the file system resize is not allowed. + * + */ + @Import(name="isResizable") + private @Nullable Output isResizable; + + /** + * @return If true, the file system resize is allowed for the Exadata Infrastructure cluster. If false, the file system resize is not allowed. + * + */ + public Optional> isResizable() { + return Optional.ofNullable(this.isResizable); + } + + /** + * The minimum size of file system. + * + */ + @Import(name="minSizeGb") + private @Nullable Output minSizeGb; + + /** + * @return The minimum size of file system. + * + */ + public Optional> minSizeGb() { + return Optional.ofNullable(this.minSizeGb); + } + + /** + * The mount point of file system. + * + */ + @Import(name="mountPoint") + private @Nullable Output mountPoint; + + /** + * @return The mount point of file system. + * + */ + public Optional> mountPoint() { + return Optional.ofNullable(this.mountPoint); + } + + private CloudExadataInfrastructureDefinedFileSystemConfigurationArgs() {} + + private CloudExadataInfrastructureDefinedFileSystemConfigurationArgs(CloudExadataInfrastructureDefinedFileSystemConfigurationArgs $) { + this.isBackupPartition = $.isBackupPartition; + this.isResizable = $.isResizable; + this.minSizeGb = $.minSizeGb; + this.mountPoint = $.mountPoint; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CloudExadataInfrastructureDefinedFileSystemConfigurationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CloudExadataInfrastructureDefinedFileSystemConfigurationArgs $; + + public Builder() { + $ = new CloudExadataInfrastructureDefinedFileSystemConfigurationArgs(); + } + + public Builder(CloudExadataInfrastructureDefinedFileSystemConfigurationArgs defaults) { + $ = new CloudExadataInfrastructureDefinedFileSystemConfigurationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param isBackupPartition If true, the file system is used to create a backup prior to Exadata VM OS update. + * + * @return builder + * + */ + public Builder isBackupPartition(@Nullable Output isBackupPartition) { + $.isBackupPartition = isBackupPartition; + return this; + } + + /** + * @param isBackupPartition If true, the file system is used to create a backup prior to Exadata VM OS update. + * + * @return builder + * + */ + public Builder isBackupPartition(Boolean isBackupPartition) { + return isBackupPartition(Output.of(isBackupPartition)); + } + + /** + * @param isResizable If true, the file system resize is allowed for the Exadata Infrastructure cluster. If false, the file system resize is not allowed. + * + * @return builder + * + */ + public Builder isResizable(@Nullable Output isResizable) { + $.isResizable = isResizable; + return this; + } + + /** + * @param isResizable If true, the file system resize is allowed for the Exadata Infrastructure cluster. If false, the file system resize is not allowed. + * + * @return builder + * + */ + public Builder isResizable(Boolean isResizable) { + return isResizable(Output.of(isResizable)); + } + + /** + * @param minSizeGb The minimum size of file system. + * + * @return builder + * + */ + public Builder minSizeGb(@Nullable Output minSizeGb) { + $.minSizeGb = minSizeGb; + return this; + } + + /** + * @param minSizeGb The minimum size of file system. + * + * @return builder + * + */ + public Builder minSizeGb(Integer minSizeGb) { + return minSizeGb(Output.of(minSizeGb)); + } + + /** + * @param mountPoint The mount point of file system. + * + * @return builder + * + */ + public Builder mountPoint(@Nullable Output mountPoint) { + $.mountPoint = mountPoint; + return this; + } + + /** + * @param mountPoint The mount point of file system. + * + * @return builder + * + */ + public Builder mountPoint(String mountPoint) { + return mountPoint(Output.of(mountPoint)); + } + + public CloudExadataInfrastructureDefinedFileSystemConfigurationArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/oci/Database/inputs/CloudExadataInfrastructureState.java b/sdk/java/src/main/java/com/pulumi/oci/Database/inputs/CloudExadataInfrastructureState.java index 6cba064662..b3b379820a 100644 --- a/sdk/java/src/main/java/com/pulumi/oci/Database/inputs/CloudExadataInfrastructureState.java +++ b/sdk/java/src/main/java/com/pulumi/oci/Database/inputs/CloudExadataInfrastructureState.java @@ -6,6 +6,7 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import com.pulumi.oci.Database.inputs.CloudExadataInfrastructureCustomerContactArgs; +import com.pulumi.oci.Database.inputs.CloudExadataInfrastructureDefinedFileSystemConfigurationArgs; import com.pulumi.oci.Database.inputs.CloudExadataInfrastructureMaintenanceWindowArgs; import java.lang.Double; import java.lang.Integer; @@ -202,6 +203,21 @@ public Optional> dbServerVersion() { return Optional.ofNullable(this.dbServerVersion); } + /** + * Details of the file system configuration of the Exadata infrastructure. + * + */ + @Import(name="definedFileSystemConfigurations") + private @Nullable Output> definedFileSystemConfigurations; + + /** + * @return Details of the file system configuration of the Exadata infrastructure. + * + */ + public Optional>> definedFileSystemConfigurations() { + return Optional.ofNullable(this.definedFileSystemConfigurations); + } + /** * (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). * @@ -538,6 +554,7 @@ private CloudExadataInfrastructureState(CloudExadataInfrastructureState $) { this.dataStorageSizeInTbs = $.dataStorageSizeInTbs; this.dbNodeStorageSizeInGbs = $.dbNodeStorageSizeInGbs; this.dbServerVersion = $.dbServerVersion; + this.definedFileSystemConfigurations = $.definedFileSystemConfigurations; this.definedTags = $.definedTags; this.displayName = $.displayName; this.freeformTags = $.freeformTags; @@ -841,6 +858,37 @@ public Builder dbServerVersion(String dbServerVersion) { return dbServerVersion(Output.of(dbServerVersion)); } + /** + * @param definedFileSystemConfigurations Details of the file system configuration of the Exadata infrastructure. + * + * @return builder + * + */ + public Builder definedFileSystemConfigurations(@Nullable Output> definedFileSystemConfigurations) { + $.definedFileSystemConfigurations = definedFileSystemConfigurations; + return this; + } + + /** + * @param definedFileSystemConfigurations Details of the file system configuration of the Exadata infrastructure. + * + * @return builder + * + */ + public Builder definedFileSystemConfigurations(List definedFileSystemConfigurations) { + return definedFileSystemConfigurations(Output.of(definedFileSystemConfigurations)); + } + + /** + * @param definedFileSystemConfigurations Details of the file system configuration of the Exadata infrastructure. + * + * @return builder + * + */ + public Builder definedFileSystemConfigurations(CloudExadataInfrastructureDefinedFileSystemConfigurationArgs... definedFileSystemConfigurations) { + return definedFileSystemConfigurations(List.of(definedFileSystemConfigurations)); + } + /** * @param definedTags (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). * diff --git a/sdk/java/src/main/java/com/pulumi/oci/Database/inputs/CloudVmClusterFileSystemConfigurationDetailArgs.java b/sdk/java/src/main/java/com/pulumi/oci/Database/inputs/CloudVmClusterFileSystemConfigurationDetailArgs.java new file mode 100644 index 0000000000..ea7fe8205f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/oci/Database/inputs/CloudVmClusterFileSystemConfigurationDetailArgs.java @@ -0,0 +1,121 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.oci.Database.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CloudVmClusterFileSystemConfigurationDetailArgs extends com.pulumi.resources.ResourceArgs { + + public static final CloudVmClusterFileSystemConfigurationDetailArgs Empty = new CloudVmClusterFileSystemConfigurationDetailArgs(); + + /** + * (Updatable) The file system size to be allocated in GBs. + * + */ + @Import(name="fileSystemSizeGb") + private @Nullable Output fileSystemSizeGb; + + /** + * @return (Updatable) The file system size to be allocated in GBs. + * + */ + public Optional> fileSystemSizeGb() { + return Optional.ofNullable(this.fileSystemSizeGb); + } + + /** + * (Updatable) The mount point of file system. + * + */ + @Import(name="mountPoint") + private @Nullable Output mountPoint; + + /** + * @return (Updatable) The mount point of file system. + * + */ + public Optional> mountPoint() { + return Optional.ofNullable(this.mountPoint); + } + + private CloudVmClusterFileSystemConfigurationDetailArgs() {} + + private CloudVmClusterFileSystemConfigurationDetailArgs(CloudVmClusterFileSystemConfigurationDetailArgs $) { + this.fileSystemSizeGb = $.fileSystemSizeGb; + this.mountPoint = $.mountPoint; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CloudVmClusterFileSystemConfigurationDetailArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CloudVmClusterFileSystemConfigurationDetailArgs $; + + public Builder() { + $ = new CloudVmClusterFileSystemConfigurationDetailArgs(); + } + + public Builder(CloudVmClusterFileSystemConfigurationDetailArgs defaults) { + $ = new CloudVmClusterFileSystemConfigurationDetailArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param fileSystemSizeGb (Updatable) The file system size to be allocated in GBs. + * + * @return builder + * + */ + public Builder fileSystemSizeGb(@Nullable Output fileSystemSizeGb) { + $.fileSystemSizeGb = fileSystemSizeGb; + return this; + } + + /** + * @param fileSystemSizeGb (Updatable) The file system size to be allocated in GBs. + * + * @return builder + * + */ + public Builder fileSystemSizeGb(Integer fileSystemSizeGb) { + return fileSystemSizeGb(Output.of(fileSystemSizeGb)); + } + + /** + * @param mountPoint (Updatable) The mount point of file system. + * + * @return builder + * + */ + public Builder mountPoint(@Nullable Output mountPoint) { + $.mountPoint = mountPoint; + return this; + } + + /** + * @param mountPoint (Updatable) The mount point of file system. + * + * @return builder + * + */ + public Builder mountPoint(String mountPoint) { + return mountPoint(Output.of(mountPoint)); + } + + public CloudVmClusterFileSystemConfigurationDetailArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/oci/Database/inputs/CloudVmClusterState.java b/sdk/java/src/main/java/com/pulumi/oci/Database/inputs/CloudVmClusterState.java index 46fdc9c16d..f95b250f08 100644 --- a/sdk/java/src/main/java/com/pulumi/oci/Database/inputs/CloudVmClusterState.java +++ b/sdk/java/src/main/java/com/pulumi/oci/Database/inputs/CloudVmClusterState.java @@ -6,6 +6,7 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import com.pulumi.oci.Database.inputs.CloudVmClusterDataCollectionOptionsArgs; +import com.pulumi.oci.Database.inputs.CloudVmClusterFileSystemConfigurationDetailArgs; import com.pulumi.oci.Database.inputs.CloudVmClusterIormConfigCachArgs; import java.lang.Boolean; import java.lang.Double; @@ -284,6 +285,21 @@ public Optional> domain() { return Optional.ofNullable(this.domain); } + /** + * (Updatable) Details of the file system configuration of the VM cluster. + * + */ + @Import(name="fileSystemConfigurationDetails") + private @Nullable Output> fileSystemConfigurationDetails; + + /** + * @return (Updatable) Details of the file system configuration of the VM cluster. + * + */ + public Optional>> fileSystemConfigurationDetails() { + return Optional.ofNullable(this.fileSystemConfigurationDetails); + } + /** * (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` * @@ -785,6 +801,7 @@ private CloudVmClusterState(CloudVmClusterState $) { this.diskRedundancy = $.diskRedundancy; this.displayName = $.displayName; this.domain = $.domain; + this.fileSystemConfigurationDetails = $.fileSystemConfigurationDetails; this.freeformTags = $.freeformTags; this.giVersion = $.giVersion; this.hostname = $.hostname; @@ -1215,6 +1232,37 @@ public Builder domain(String domain) { return domain(Output.of(domain)); } + /** + * @param fileSystemConfigurationDetails (Updatable) Details of the file system configuration of the VM cluster. + * + * @return builder + * + */ + public Builder fileSystemConfigurationDetails(@Nullable Output> fileSystemConfigurationDetails) { + $.fileSystemConfigurationDetails = fileSystemConfigurationDetails; + return this; + } + + /** + * @param fileSystemConfigurationDetails (Updatable) Details of the file system configuration of the VM cluster. + * + * @return builder + * + */ + public Builder fileSystemConfigurationDetails(List fileSystemConfigurationDetails) { + return fileSystemConfigurationDetails(Output.of(fileSystemConfigurationDetails)); + } + + /** + * @param fileSystemConfigurationDetails (Updatable) Details of the file system configuration of the VM cluster. + * + * @return builder + * + */ + public Builder fileSystemConfigurationDetails(CloudVmClusterFileSystemConfigurationDetailArgs... fileSystemConfigurationDetails) { + return fileSystemConfigurationDetails(List.of(fileSystemConfigurationDetails)); + } + /** * @param freeformTags (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` * diff --git a/sdk/java/src/main/java/com/pulumi/oci/Database/outputs/CloudExadataInfrastructureDefinedFileSystemConfiguration.java b/sdk/java/src/main/java/com/pulumi/oci/Database/outputs/CloudExadataInfrastructureDefinedFileSystemConfiguration.java new file mode 100644 index 0000000000..ecc368f219 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/oci/Database/outputs/CloudExadataInfrastructureDefinedFileSystemConfiguration.java @@ -0,0 +1,122 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.oci.Database.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class CloudExadataInfrastructureDefinedFileSystemConfiguration { + /** + * @return If true, the file system is used to create a backup prior to Exadata VM OS update. + * + */ + private @Nullable Boolean isBackupPartition; + /** + * @return If true, the file system resize is allowed for the Exadata Infrastructure cluster. If false, the file system resize is not allowed. + * + */ + private @Nullable Boolean isResizable; + /** + * @return The minimum size of file system. + * + */ + private @Nullable Integer minSizeGb; + /** + * @return The mount point of file system. + * + */ + private @Nullable String mountPoint; + + private CloudExadataInfrastructureDefinedFileSystemConfiguration() {} + /** + * @return If true, the file system is used to create a backup prior to Exadata VM OS update. + * + */ + public Optional isBackupPartition() { + return Optional.ofNullable(this.isBackupPartition); + } + /** + * @return If true, the file system resize is allowed for the Exadata Infrastructure cluster. If false, the file system resize is not allowed. + * + */ + public Optional isResizable() { + return Optional.ofNullable(this.isResizable); + } + /** + * @return The minimum size of file system. + * + */ + public Optional minSizeGb() { + return Optional.ofNullable(this.minSizeGb); + } + /** + * @return The mount point of file system. + * + */ + public Optional mountPoint() { + return Optional.ofNullable(this.mountPoint); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CloudExadataInfrastructureDefinedFileSystemConfiguration defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Boolean isBackupPartition; + private @Nullable Boolean isResizable; + private @Nullable Integer minSizeGb; + private @Nullable String mountPoint; + public Builder() {} + public Builder(CloudExadataInfrastructureDefinedFileSystemConfiguration defaults) { + Objects.requireNonNull(defaults); + this.isBackupPartition = defaults.isBackupPartition; + this.isResizable = defaults.isResizable; + this.minSizeGb = defaults.minSizeGb; + this.mountPoint = defaults.mountPoint; + } + + @CustomType.Setter + public Builder isBackupPartition(@Nullable Boolean isBackupPartition) { + + this.isBackupPartition = isBackupPartition; + return this; + } + @CustomType.Setter + public Builder isResizable(@Nullable Boolean isResizable) { + + this.isResizable = isResizable; + return this; + } + @CustomType.Setter + public Builder minSizeGb(@Nullable Integer minSizeGb) { + + this.minSizeGb = minSizeGb; + return this; + } + @CustomType.Setter + public Builder mountPoint(@Nullable String mountPoint) { + + this.mountPoint = mountPoint; + return this; + } + public CloudExadataInfrastructureDefinedFileSystemConfiguration build() { + final var _resultValue = new CloudExadataInfrastructureDefinedFileSystemConfiguration(); + _resultValue.isBackupPartition = isBackupPartition; + _resultValue.isResizable = isResizable; + _resultValue.minSizeGb = minSizeGb; + _resultValue.mountPoint = mountPoint; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/oci/Database/outputs/CloudVmClusterFileSystemConfigurationDetail.java b/sdk/java/src/main/java/com/pulumi/oci/Database/outputs/CloudVmClusterFileSystemConfigurationDetail.java new file mode 100644 index 0000000000..3d6fa7bcfd --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/oci/Database/outputs/CloudVmClusterFileSystemConfigurationDetail.java @@ -0,0 +1,79 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.oci.Database.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class CloudVmClusterFileSystemConfigurationDetail { + /** + * @return (Updatable) The file system size to be allocated in GBs. + * + */ + private @Nullable Integer fileSystemSizeGb; + /** + * @return (Updatable) The mount point of file system. + * + */ + private @Nullable String mountPoint; + + private CloudVmClusterFileSystemConfigurationDetail() {} + /** + * @return (Updatable) The file system size to be allocated in GBs. + * + */ + public Optional fileSystemSizeGb() { + return Optional.ofNullable(this.fileSystemSizeGb); + } + /** + * @return (Updatable) The mount point of file system. + * + */ + public Optional mountPoint() { + return Optional.ofNullable(this.mountPoint); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CloudVmClusterFileSystemConfigurationDetail defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Integer fileSystemSizeGb; + private @Nullable String mountPoint; + public Builder() {} + public Builder(CloudVmClusterFileSystemConfigurationDetail defaults) { + Objects.requireNonNull(defaults); + this.fileSystemSizeGb = defaults.fileSystemSizeGb; + this.mountPoint = defaults.mountPoint; + } + + @CustomType.Setter + public Builder fileSystemSizeGb(@Nullable Integer fileSystemSizeGb) { + + this.fileSystemSizeGb = fileSystemSizeGb; + return this; + } + @CustomType.Setter + public Builder mountPoint(@Nullable String mountPoint) { + + this.mountPoint = mountPoint; + return this; + } + public CloudVmClusterFileSystemConfigurationDetail build() { + final var _resultValue = new CloudVmClusterFileSystemConfigurationDetail(); + _resultValue.fileSystemSizeGb = fileSystemSizeGb; + _resultValue.mountPoint = mountPoint; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/oci/Database/outputs/GetAutonomousContainerDatabasesAutonomousContainerDatabase.java b/sdk/java/src/main/java/com/pulumi/oci/Database/outputs/GetAutonomousContainerDatabasesAutonomousContainerDatabase.java index 32101d2390..7a78f8c6b6 100644 --- a/sdk/java/src/main/java/com/pulumi/oci/Database/outputs/GetAutonomousContainerDatabasesAutonomousContainerDatabase.java +++ b/sdk/java/src/main/java/com/pulumi/oci/Database/outputs/GetAutonomousContainerDatabasesAutonomousContainerDatabase.java @@ -168,14 +168,11 @@ public final class GetAutonomousContainerDatabasesAutonomousContainerDatabase { private List maintenanceWindows; /** * @return The amount of memory (in GBs) enabled per ECPU or OCPU in the Autonomous VM Cluster. - * <<<<<<< HEAD * */ private Integer memoryPerOracleComputeUnitInGbs; /** * @return Enabling SHARED server architecture enables a database server to allow many client processes to share very few server processes, thereby increasing the number of supported users. - * === - * > > > > > > > 22609d6059 (Added - Support for Oracle Home Version Control - Phase 2 | ADB-D and ADB-C{@literal @}C) * */ private String netServicesArchitecture; @@ -493,7 +490,6 @@ public List definedFileSystemConfigurations; /** * @return Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). * @@ -277,6 +283,13 @@ public Integer dbNodeStorageSizeInGbs() { public String dbServerVersion() { return this.dbServerVersion; } + /** + * @return Details of the file system configuration of the Exadata infrastructure. + * + */ + public List definedFileSystemConfigurations() { + return this.definedFileSystemConfigurations; + } /** * @return Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). * @@ -454,6 +467,7 @@ public static final class Builder { private Double dataStorageSizeInTbs; private Integer dbNodeStorageSizeInGbs; private String dbServerVersion; + private List definedFileSystemConfigurations; private Map definedTags; private String displayName; private Map freeformTags; @@ -492,6 +506,7 @@ public Builder(GetCloudExadataInfrastructureResult defaults) { this.dataStorageSizeInTbs = defaults.dataStorageSizeInTbs; this.dbNodeStorageSizeInGbs = defaults.dbNodeStorageSizeInGbs; this.dbServerVersion = defaults.dbServerVersion; + this.definedFileSystemConfigurations = defaults.definedFileSystemConfigurations; this.definedTags = defaults.definedTags; this.displayName = defaults.displayName; this.freeformTags = defaults.freeformTags; @@ -624,6 +639,17 @@ public Builder dbServerVersion(String dbServerVersion) { return this; } @CustomType.Setter + public Builder definedFileSystemConfigurations(List definedFileSystemConfigurations) { + if (definedFileSystemConfigurations == null) { + throw new MissingRequiredPropertyException("GetCloudExadataInfrastructureResult", "definedFileSystemConfigurations"); + } + this.definedFileSystemConfigurations = definedFileSystemConfigurations; + return this; + } + public Builder definedFileSystemConfigurations(GetCloudExadataInfrastructureDefinedFileSystemConfiguration... definedFileSystemConfigurations) { + return definedFileSystemConfigurations(List.of(definedFileSystemConfigurations)); + } + @CustomType.Setter public Builder definedTags(Map definedTags) { if (definedTags == null) { throw new MissingRequiredPropertyException("GetCloudExadataInfrastructureResult", "definedTags"); @@ -817,6 +843,7 @@ public GetCloudExadataInfrastructureResult build() { _resultValue.dataStorageSizeInTbs = dataStorageSizeInTbs; _resultValue.dbNodeStorageSizeInGbs = dbNodeStorageSizeInGbs; _resultValue.dbServerVersion = dbServerVersion; + _resultValue.definedFileSystemConfigurations = definedFileSystemConfigurations; _resultValue.definedTags = definedTags; _resultValue.displayName = displayName; _resultValue.freeformTags = freeformTags; diff --git a/sdk/java/src/main/java/com/pulumi/oci/Database/outputs/GetCloudExadataInfrastructuresCloudExadataInfrastructure.java b/sdk/java/src/main/java/com/pulumi/oci/Database/outputs/GetCloudExadataInfrastructuresCloudExadataInfrastructure.java index 6415bb4c41..a49be43f95 100644 --- a/sdk/java/src/main/java/com/pulumi/oci/Database/outputs/GetCloudExadataInfrastructuresCloudExadataInfrastructure.java +++ b/sdk/java/src/main/java/com/pulumi/oci/Database/outputs/GetCloudExadataInfrastructuresCloudExadataInfrastructure.java @@ -6,6 +6,7 @@ import com.pulumi.core.annotations.CustomType; import com.pulumi.exceptions.MissingRequiredPropertyException; import com.pulumi.oci.Database.outputs.GetCloudExadataInfrastructuresCloudExadataInfrastructureCustomerContact; +import com.pulumi.oci.Database.outputs.GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfiguration; import com.pulumi.oci.Database.outputs.GetCloudExadataInfrastructuresCloudExadataInfrastructureMaintenanceWindow; import java.lang.Double; import java.lang.Integer; @@ -77,6 +78,11 @@ public final class GetCloudExadataInfrastructuresCloudExadataInfrastructure { * */ private String dbServerVersion; + /** + * @return Details of the file system configuration of the Exadata infrastructure. + * + */ + private List definedFileSystemConfigurations; /** * @return Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). * @@ -273,6 +279,13 @@ public Integer dbNodeStorageSizeInGbs() { public String dbServerVersion() { return this.dbServerVersion; } + /** + * @return Details of the file system configuration of the Exadata infrastructure. + * + */ + public List definedFileSystemConfigurations() { + return this.definedFileSystemConfigurations; + } /** * @return Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). * @@ -449,6 +462,7 @@ public static final class Builder { private Double dataStorageSizeInTbs; private Integer dbNodeStorageSizeInGbs; private String dbServerVersion; + private List definedFileSystemConfigurations; private Map definedTags; private String displayName; private Map freeformTags; @@ -486,6 +500,7 @@ public Builder(GetCloudExadataInfrastructuresCloudExadataInfrastructure defaults this.dataStorageSizeInTbs = defaults.dataStorageSizeInTbs; this.dbNodeStorageSizeInGbs = defaults.dbNodeStorageSizeInGbs; this.dbServerVersion = defaults.dbServerVersion; + this.definedFileSystemConfigurations = defaults.definedFileSystemConfigurations; this.definedTags = defaults.definedTags; this.displayName = defaults.displayName; this.freeformTags = defaults.freeformTags; @@ -610,6 +625,17 @@ public Builder dbServerVersion(String dbServerVersion) { return this; } @CustomType.Setter + public Builder definedFileSystemConfigurations(List definedFileSystemConfigurations) { + if (definedFileSystemConfigurations == null) { + throw new MissingRequiredPropertyException("GetCloudExadataInfrastructuresCloudExadataInfrastructure", "definedFileSystemConfigurations"); + } + this.definedFileSystemConfigurations = definedFileSystemConfigurations; + return this; + } + public Builder definedFileSystemConfigurations(GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfiguration... definedFileSystemConfigurations) { + return definedFileSystemConfigurations(List.of(definedFileSystemConfigurations)); + } + @CustomType.Setter public Builder definedTags(Map definedTags) { if (definedTags == null) { throw new MissingRequiredPropertyException("GetCloudExadataInfrastructuresCloudExadataInfrastructure", "definedTags"); @@ -802,6 +828,7 @@ public GetCloudExadataInfrastructuresCloudExadataInfrastructure build() { _resultValue.dataStorageSizeInTbs = dataStorageSizeInTbs; _resultValue.dbNodeStorageSizeInGbs = dbNodeStorageSizeInGbs; _resultValue.dbServerVersion = dbServerVersion; + _resultValue.definedFileSystemConfigurations = definedFileSystemConfigurations; _resultValue.definedTags = definedTags; _resultValue.displayName = displayName; _resultValue.freeformTags = freeformTags; diff --git a/sdk/java/src/main/java/com/pulumi/oci/Database/outputs/GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfiguration.java b/sdk/java/src/main/java/com/pulumi/oci/Database/outputs/GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfiguration.java new file mode 100644 index 0000000000..87ff528f15 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/oci/Database/outputs/GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfiguration.java @@ -0,0 +1,129 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.oci.Database.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfiguration { + /** + * @return If true, the file system is used to create a backup prior to Exadata VM OS update. + * + */ + private Boolean isBackupPartition; + /** + * @return If true, the file system resize is allowed for the Exadata Infrastructure cluster. If false, the file system resize is not allowed. + * + */ + private Boolean isResizable; + /** + * @return The minimum size of file system. + * + */ + private Integer minSizeGb; + /** + * @return The mount point of file system. + * + */ + private String mountPoint; + + private GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfiguration() {} + /** + * @return If true, the file system is used to create a backup prior to Exadata VM OS update. + * + */ + public Boolean isBackupPartition() { + return this.isBackupPartition; + } + /** + * @return If true, the file system resize is allowed for the Exadata Infrastructure cluster. If false, the file system resize is not allowed. + * + */ + public Boolean isResizable() { + return this.isResizable; + } + /** + * @return The minimum size of file system. + * + */ + public Integer minSizeGb() { + return this.minSizeGb; + } + /** + * @return The mount point of file system. + * + */ + public String mountPoint() { + return this.mountPoint; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfiguration defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Boolean isBackupPartition; + private Boolean isResizable; + private Integer minSizeGb; + private String mountPoint; + public Builder() {} + public Builder(GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfiguration defaults) { + Objects.requireNonNull(defaults); + this.isBackupPartition = defaults.isBackupPartition; + this.isResizable = defaults.isResizable; + this.minSizeGb = defaults.minSizeGb; + this.mountPoint = defaults.mountPoint; + } + + @CustomType.Setter + public Builder isBackupPartition(Boolean isBackupPartition) { + if (isBackupPartition == null) { + throw new MissingRequiredPropertyException("GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfiguration", "isBackupPartition"); + } + this.isBackupPartition = isBackupPartition; + return this; + } + @CustomType.Setter + public Builder isResizable(Boolean isResizable) { + if (isResizable == null) { + throw new MissingRequiredPropertyException("GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfiguration", "isResizable"); + } + this.isResizable = isResizable; + return this; + } + @CustomType.Setter + public Builder minSizeGb(Integer minSizeGb) { + if (minSizeGb == null) { + throw new MissingRequiredPropertyException("GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfiguration", "minSizeGb"); + } + this.minSizeGb = minSizeGb; + return this; + } + @CustomType.Setter + public Builder mountPoint(String mountPoint) { + if (mountPoint == null) { + throw new MissingRequiredPropertyException("GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfiguration", "mountPoint"); + } + this.mountPoint = mountPoint; + return this; + } + public GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfiguration build() { + final var _resultValue = new GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfiguration(); + _resultValue.isBackupPartition = isBackupPartition; + _resultValue.isResizable = isResizable; + _resultValue.minSizeGb = minSizeGb; + _resultValue.mountPoint = mountPoint; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/oci/Database/outputs/GetCloudVmClusterFileSystemConfigurationDetail.java b/sdk/java/src/main/java/com/pulumi/oci/Database/outputs/GetCloudVmClusterFileSystemConfigurationDetail.java new file mode 100644 index 0000000000..5941f9fcca --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/oci/Database/outputs/GetCloudVmClusterFileSystemConfigurationDetail.java @@ -0,0 +1,82 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.oci.Database.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetCloudVmClusterFileSystemConfigurationDetail { + /** + * @return The file system size to be allocated in GBs. + * + */ + private Integer fileSystemSizeGb; + /** + * @return The mount point of file system. + * + */ + private String mountPoint; + + private GetCloudVmClusterFileSystemConfigurationDetail() {} + /** + * @return The file system size to be allocated in GBs. + * + */ + public Integer fileSystemSizeGb() { + return this.fileSystemSizeGb; + } + /** + * @return The mount point of file system. + * + */ + public String mountPoint() { + return this.mountPoint; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetCloudVmClusterFileSystemConfigurationDetail defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Integer fileSystemSizeGb; + private String mountPoint; + public Builder() {} + public Builder(GetCloudVmClusterFileSystemConfigurationDetail defaults) { + Objects.requireNonNull(defaults); + this.fileSystemSizeGb = defaults.fileSystemSizeGb; + this.mountPoint = defaults.mountPoint; + } + + @CustomType.Setter + public Builder fileSystemSizeGb(Integer fileSystemSizeGb) { + if (fileSystemSizeGb == null) { + throw new MissingRequiredPropertyException("GetCloudVmClusterFileSystemConfigurationDetail", "fileSystemSizeGb"); + } + this.fileSystemSizeGb = fileSystemSizeGb; + return this; + } + @CustomType.Setter + public Builder mountPoint(String mountPoint) { + if (mountPoint == null) { + throw new MissingRequiredPropertyException("GetCloudVmClusterFileSystemConfigurationDetail", "mountPoint"); + } + this.mountPoint = mountPoint; + return this; + } + public GetCloudVmClusterFileSystemConfigurationDetail build() { + final var _resultValue = new GetCloudVmClusterFileSystemConfigurationDetail(); + _resultValue.fileSystemSizeGb = fileSystemSizeGb; + _resultValue.mountPoint = mountPoint; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/oci/Database/outputs/GetCloudVmClusterResult.java b/sdk/java/src/main/java/com/pulumi/oci/Database/outputs/GetCloudVmClusterResult.java index 0caa209b18..be5f1889a5 100644 --- a/sdk/java/src/main/java/com/pulumi/oci/Database/outputs/GetCloudVmClusterResult.java +++ b/sdk/java/src/main/java/com/pulumi/oci/Database/outputs/GetCloudVmClusterResult.java @@ -6,6 +6,7 @@ import com.pulumi.core.annotations.CustomType; import com.pulumi.exceptions.MissingRequiredPropertyException; import com.pulumi.oci.Database.outputs.GetCloudVmClusterDataCollectionOption; +import com.pulumi.oci.Database.outputs.GetCloudVmClusterFileSystemConfigurationDetail; import com.pulumi.oci.Database.outputs.GetCloudVmClusterIormConfigCach; import java.lang.Boolean; import java.lang.Double; @@ -100,6 +101,11 @@ public final class GetCloudVmClusterResult { * */ private String domain; + /** + * @return Details of the file system configuration of the VM cluster. + * + */ + private List fileSystemConfigurationDetails; /** * @return Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` * @@ -377,6 +383,13 @@ public String displayName() { public String domain() { return this.domain; } + /** + * @return Details of the file system configuration of the VM cluster. + * + */ + public List fileSystemConfigurationDetails() { + return this.fileSystemConfigurationDetails; + } /** * @return Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` * @@ -626,6 +639,7 @@ public static final class Builder { private String diskRedundancy; private String displayName; private String domain; + private List fileSystemConfigurationDetails; private Map freeformTags; private String giVersion; private String hostname; @@ -679,6 +693,7 @@ public Builder(GetCloudVmClusterResult defaults) { this.diskRedundancy = defaults.diskRedundancy; this.displayName = defaults.displayName; this.domain = defaults.domain; + this.fileSystemConfigurationDetails = defaults.fileSystemConfigurationDetails; this.freeformTags = defaults.freeformTags; this.giVersion = defaults.giVersion; this.hostname = defaults.hostname; @@ -867,6 +882,17 @@ public Builder domain(String domain) { return this; } @CustomType.Setter + public Builder fileSystemConfigurationDetails(List fileSystemConfigurationDetails) { + if (fileSystemConfigurationDetails == null) { + throw new MissingRequiredPropertyException("GetCloudVmClusterResult", "fileSystemConfigurationDetails"); + } + this.fileSystemConfigurationDetails = fileSystemConfigurationDetails; + return this; + } + public Builder fileSystemConfigurationDetails(GetCloudVmClusterFileSystemConfigurationDetail... fileSystemConfigurationDetails) { + return fileSystemConfigurationDetails(List.of(fileSystemConfigurationDetails)); + } + @CustomType.Setter public Builder freeformTags(Map freeformTags) { if (freeformTags == null) { throw new MissingRequiredPropertyException("GetCloudVmClusterResult", "freeformTags"); @@ -1157,6 +1183,7 @@ public GetCloudVmClusterResult build() { _resultValue.diskRedundancy = diskRedundancy; _resultValue.displayName = displayName; _resultValue.domain = domain; + _resultValue.fileSystemConfigurationDetails = fileSystemConfigurationDetails; _resultValue.freeformTags = freeformTags; _resultValue.giVersion = giVersion; _resultValue.hostname = hostname; diff --git a/sdk/java/src/main/java/com/pulumi/oci/Database/outputs/GetCloudVmClustersCloudVmCluster.java b/sdk/java/src/main/java/com/pulumi/oci/Database/outputs/GetCloudVmClustersCloudVmCluster.java index 04d974f514..76c55785e4 100644 --- a/sdk/java/src/main/java/com/pulumi/oci/Database/outputs/GetCloudVmClustersCloudVmCluster.java +++ b/sdk/java/src/main/java/com/pulumi/oci/Database/outputs/GetCloudVmClustersCloudVmCluster.java @@ -6,6 +6,7 @@ import com.pulumi.core.annotations.CustomType; import com.pulumi.exceptions.MissingRequiredPropertyException; import com.pulumi.oci.Database.outputs.GetCloudVmClustersCloudVmClusterDataCollectionOption; +import com.pulumi.oci.Database.outputs.GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetail; import com.pulumi.oci.Database.outputs.GetCloudVmClustersCloudVmClusterIormConfigCach; import java.lang.Boolean; import java.lang.Double; @@ -99,6 +100,11 @@ public final class GetCloudVmClustersCloudVmCluster { * */ private String domain; + /** + * @return Details of the file system configuration of the VM cluster. + * + */ + private List fileSystemConfigurationDetails; /** * @return Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` * @@ -369,6 +375,13 @@ public String displayName() { public String domain() { return this.domain; } + /** + * @return Details of the file system configuration of the VM cluster. + * + */ + public List fileSystemConfigurationDetails() { + return this.fileSystemConfigurationDetails; + } /** * @return Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` * @@ -613,6 +626,7 @@ public static final class Builder { private String diskRedundancy; private String displayName; private String domain; + private List fileSystemConfigurationDetails; private Map freeformTags; private String giVersion; private String hostname; @@ -665,6 +679,7 @@ public Builder(GetCloudVmClustersCloudVmCluster defaults) { this.diskRedundancy = defaults.diskRedundancy; this.displayName = defaults.displayName; this.domain = defaults.domain; + this.fileSystemConfigurationDetails = defaults.fileSystemConfigurationDetails; this.freeformTags = defaults.freeformTags; this.giVersion = defaults.giVersion; this.hostname = defaults.hostname; @@ -845,6 +860,17 @@ public Builder domain(String domain) { return this; } @CustomType.Setter + public Builder fileSystemConfigurationDetails(List fileSystemConfigurationDetails) { + if (fileSystemConfigurationDetails == null) { + throw new MissingRequiredPropertyException("GetCloudVmClustersCloudVmCluster", "fileSystemConfigurationDetails"); + } + this.fileSystemConfigurationDetails = fileSystemConfigurationDetails; + return this; + } + public Builder fileSystemConfigurationDetails(GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetail... fileSystemConfigurationDetails) { + return fileSystemConfigurationDetails(List.of(fileSystemConfigurationDetails)); + } + @CustomType.Setter public Builder freeformTags(Map freeformTags) { if (freeformTags == null) { throw new MissingRequiredPropertyException("GetCloudVmClustersCloudVmCluster", "freeformTags"); @@ -1134,6 +1160,7 @@ public GetCloudVmClustersCloudVmCluster build() { _resultValue.diskRedundancy = diskRedundancy; _resultValue.displayName = displayName; _resultValue.domain = domain; + _resultValue.fileSystemConfigurationDetails = fileSystemConfigurationDetails; _resultValue.freeformTags = freeformTags; _resultValue.giVersion = giVersion; _resultValue.hostname = hostname; diff --git a/sdk/java/src/main/java/com/pulumi/oci/Database/outputs/GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetail.java b/sdk/java/src/main/java/com/pulumi/oci/Database/outputs/GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetail.java new file mode 100644 index 0000000000..f5e2e9b81c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/oci/Database/outputs/GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetail.java @@ -0,0 +1,82 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.oci.Database.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetail { + /** + * @return The file system size to be allocated in GBs. + * + */ + private Integer fileSystemSizeGb; + /** + * @return The mount point of file system. + * + */ + private String mountPoint; + + private GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetail() {} + /** + * @return The file system size to be allocated in GBs. + * + */ + public Integer fileSystemSizeGb() { + return this.fileSystemSizeGb; + } + /** + * @return The mount point of file system. + * + */ + public String mountPoint() { + return this.mountPoint; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetail defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Integer fileSystemSizeGb; + private String mountPoint; + public Builder() {} + public Builder(GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetail defaults) { + Objects.requireNonNull(defaults); + this.fileSystemSizeGb = defaults.fileSystemSizeGb; + this.mountPoint = defaults.mountPoint; + } + + @CustomType.Setter + public Builder fileSystemSizeGb(Integer fileSystemSizeGb) { + if (fileSystemSizeGb == null) { + throw new MissingRequiredPropertyException("GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetail", "fileSystemSizeGb"); + } + this.fileSystemSizeGb = fileSystemSizeGb; + return this; + } + @CustomType.Setter + public Builder mountPoint(String mountPoint) { + if (mountPoint == null) { + throw new MissingRequiredPropertyException("GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetail", "mountPoint"); + } + this.mountPoint = mountPoint; + return this; + } + public GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetail build() { + final var _resultValue = new GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetail(); + _resultValue.fileSystemSizeGb = fileSystemSizeGb; + _resultValue.mountPoint = mountPoint; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/oci/DisasterRecovery/inputs/DrPlanPlanGroupArgs.java b/sdk/java/src/main/java/com/pulumi/oci/DisasterRecovery/inputs/DrPlanPlanGroupArgs.java index 5923723d41..cb6f542b51 100644 --- a/sdk/java/src/main/java/com/pulumi/oci/DisasterRecovery/inputs/DrPlanPlanGroupArgs.java +++ b/sdk/java/src/main/java/com/pulumi/oci/DisasterRecovery/inputs/DrPlanPlanGroupArgs.java @@ -6,6 +6,7 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import com.pulumi.oci.DisasterRecovery.inputs.DrPlanPlanGroupStepArgs; +import java.lang.Boolean; import java.lang.String; import java.util.List; import java.util.Objects; @@ -47,6 +48,21 @@ public Optional> id() { return Optional.ofNullable(this.id); } + /** + * A flag indicating whether this group should be enabled for execution. This flag is only applicable to the `USER_DEFINED_PAUSE` group. The flag should be null for the remaining group types. Example: `true` + * + */ + @Import(name="isPauseEnabled") + private @Nullable Output isPauseEnabled; + + /** + * @return A flag indicating whether this group should be enabled for execution. This flag is only applicable to the `USER_DEFINED_PAUSE` group. The flag should be null for the remaining group types. Example: `true` + * + */ + public Optional> isPauseEnabled() { + return Optional.ofNullable(this.isPauseEnabled); + } + /** * The list of steps in the group. * @@ -88,6 +104,7 @@ private DrPlanPlanGroupArgs() {} private DrPlanPlanGroupArgs(DrPlanPlanGroupArgs $) { this.displayName = $.displayName; this.id = $.id; + this.isPauseEnabled = $.isPauseEnabled; this.steps = $.steps; this.type = $.type; } @@ -152,6 +169,27 @@ public Builder id(String id) { return id(Output.of(id)); } + /** + * @param isPauseEnabled A flag indicating whether this group should be enabled for execution. This flag is only applicable to the `USER_DEFINED_PAUSE` group. The flag should be null for the remaining group types. Example: `true` + * + * @return builder + * + */ + public Builder isPauseEnabled(@Nullable Output isPauseEnabled) { + $.isPauseEnabled = isPauseEnabled; + return this; + } + + /** + * @param isPauseEnabled A flag indicating whether this group should be enabled for execution. This flag is only applicable to the `USER_DEFINED_PAUSE` group. The flag should be null for the remaining group types. Example: `true` + * + * @return builder + * + */ + public Builder isPauseEnabled(Boolean isPauseEnabled) { + return isPauseEnabled(Output.of(isPauseEnabled)); + } + /** * @param steps The list of steps in the group. * diff --git a/sdk/java/src/main/java/com/pulumi/oci/DisasterRecovery/outputs/DrPlanPlanGroup.java b/sdk/java/src/main/java/com/pulumi/oci/DisasterRecovery/outputs/DrPlanPlanGroup.java index 4dfabacb97..0f8838d6ff 100644 --- a/sdk/java/src/main/java/com/pulumi/oci/DisasterRecovery/outputs/DrPlanPlanGroup.java +++ b/sdk/java/src/main/java/com/pulumi/oci/DisasterRecovery/outputs/DrPlanPlanGroup.java @@ -5,6 +5,7 @@ import com.pulumi.core.annotations.CustomType; import com.pulumi.oci.DisasterRecovery.outputs.DrPlanPlanGroupStep; +import java.lang.Boolean; import java.lang.String; import java.util.List; import java.util.Objects; @@ -23,6 +24,11 @@ public final class DrPlanPlanGroup { * */ private @Nullable String id; + /** + * @return A flag indicating whether this group should be enabled for execution. This flag is only applicable to the `USER_DEFINED_PAUSE` group. The flag should be null for the remaining group types. Example: `true` + * + */ + private @Nullable Boolean isPauseEnabled; /** * @return The list of steps in the group. * @@ -52,6 +58,13 @@ public Optional displayName() { public Optional id() { return Optional.ofNullable(this.id); } + /** + * @return A flag indicating whether this group should be enabled for execution. This flag is only applicable to the `USER_DEFINED_PAUSE` group. The flag should be null for the remaining group types. Example: `true` + * + */ + public Optional isPauseEnabled() { + return Optional.ofNullable(this.isPauseEnabled); + } /** * @return The list of steps in the group. * @@ -81,6 +94,7 @@ public static Builder builder(DrPlanPlanGroup defaults) { public static final class Builder { private @Nullable String displayName; private @Nullable String id; + private @Nullable Boolean isPauseEnabled; private @Nullable List steps; private @Nullable String type; public Builder() {} @@ -88,6 +102,7 @@ public Builder(DrPlanPlanGroup defaults) { Objects.requireNonNull(defaults); this.displayName = defaults.displayName; this.id = defaults.id; + this.isPauseEnabled = defaults.isPauseEnabled; this.steps = defaults.steps; this.type = defaults.type; } @@ -105,6 +120,12 @@ public Builder id(@Nullable String id) { return this; } @CustomType.Setter + public Builder isPauseEnabled(@Nullable Boolean isPauseEnabled) { + + this.isPauseEnabled = isPauseEnabled; + return this; + } + @CustomType.Setter public Builder steps(@Nullable List steps) { this.steps = steps; @@ -123,6 +144,7 @@ public DrPlanPlanGroup build() { final var _resultValue = new DrPlanPlanGroup(); _resultValue.displayName = displayName; _resultValue.id = id; + _resultValue.isPauseEnabled = isPauseEnabled; _resultValue.steps = steps; _resultValue.type = type; return _resultValue; diff --git a/sdk/java/src/main/java/com/pulumi/oci/DisasterRecovery/outputs/GetDrPlanPlanGroup.java b/sdk/java/src/main/java/com/pulumi/oci/DisasterRecovery/outputs/GetDrPlanPlanGroup.java index 4d8a5eb3cb..113563dcee 100644 --- a/sdk/java/src/main/java/com/pulumi/oci/DisasterRecovery/outputs/GetDrPlanPlanGroup.java +++ b/sdk/java/src/main/java/com/pulumi/oci/DisasterRecovery/outputs/GetDrPlanPlanGroup.java @@ -6,6 +6,7 @@ import com.pulumi.core.annotations.CustomType; import com.pulumi.exceptions.MissingRequiredPropertyException; import com.pulumi.oci.DisasterRecovery.outputs.GetDrPlanPlanGroupStep; +import java.lang.Boolean; import java.lang.String; import java.util.List; import java.util.Objects; @@ -22,6 +23,11 @@ public final class GetDrPlanPlanGroup { * */ private String id; + /** + * @return A flag indicating whether this group should be enabled for execution. This flag is only applicable to the `USER_DEFINED_PAUSE` group. The flag should be null for the remaining group types. Example: `true` + * + */ + private Boolean isPauseEnabled; /** * @return The list of steps in the group. * @@ -48,6 +54,13 @@ public String displayName() { public String id() { return this.id; } + /** + * @return A flag indicating whether this group should be enabled for execution. This flag is only applicable to the `USER_DEFINED_PAUSE` group. The flag should be null for the remaining group types. Example: `true` + * + */ + public Boolean isPauseEnabled() { + return this.isPauseEnabled; + } /** * @return The list of steps in the group. * @@ -74,6 +87,7 @@ public static Builder builder(GetDrPlanPlanGroup defaults) { public static final class Builder { private String displayName; private String id; + private Boolean isPauseEnabled; private List steps; private String type; public Builder() {} @@ -81,6 +95,7 @@ public Builder(GetDrPlanPlanGroup defaults) { Objects.requireNonNull(defaults); this.displayName = defaults.displayName; this.id = defaults.id; + this.isPauseEnabled = defaults.isPauseEnabled; this.steps = defaults.steps; this.type = defaults.type; } @@ -102,6 +117,14 @@ public Builder id(String id) { return this; } @CustomType.Setter + public Builder isPauseEnabled(Boolean isPauseEnabled) { + if (isPauseEnabled == null) { + throw new MissingRequiredPropertyException("GetDrPlanPlanGroup", "isPauseEnabled"); + } + this.isPauseEnabled = isPauseEnabled; + return this; + } + @CustomType.Setter public Builder steps(List steps) { if (steps == null) { throw new MissingRequiredPropertyException("GetDrPlanPlanGroup", "steps"); @@ -124,6 +147,7 @@ public GetDrPlanPlanGroup build() { final var _resultValue = new GetDrPlanPlanGroup(); _resultValue.displayName = displayName; _resultValue.id = id; + _resultValue.isPauseEnabled = isPauseEnabled; _resultValue.steps = steps; _resultValue.type = type; return _resultValue; diff --git a/sdk/java/src/main/java/com/pulumi/oci/DisasterRecovery/outputs/GetDrPlansDrPlanCollectionItemPlanGroup.java b/sdk/java/src/main/java/com/pulumi/oci/DisasterRecovery/outputs/GetDrPlansDrPlanCollectionItemPlanGroup.java index c507bc604e..8eff1ac0d1 100644 --- a/sdk/java/src/main/java/com/pulumi/oci/DisasterRecovery/outputs/GetDrPlansDrPlanCollectionItemPlanGroup.java +++ b/sdk/java/src/main/java/com/pulumi/oci/DisasterRecovery/outputs/GetDrPlansDrPlanCollectionItemPlanGroup.java @@ -6,6 +6,7 @@ import com.pulumi.core.annotations.CustomType; import com.pulumi.exceptions.MissingRequiredPropertyException; import com.pulumi.oci.DisasterRecovery.outputs.GetDrPlansDrPlanCollectionItemPlanGroupStep; +import java.lang.Boolean; import java.lang.String; import java.util.List; import java.util.Objects; @@ -22,6 +23,11 @@ public final class GetDrPlansDrPlanCollectionItemPlanGroup { * */ private String id; + /** + * @return A flag indicating whether this group should be enabled for execution. This flag is only applicable to the `USER_DEFINED_PAUSE` group. The flag should be null for the remaining group types. Example: `true` + * + */ + private Boolean isPauseEnabled; /** * @return The list of steps in the group. * @@ -48,6 +54,13 @@ public String displayName() { public String id() { return this.id; } + /** + * @return A flag indicating whether this group should be enabled for execution. This flag is only applicable to the `USER_DEFINED_PAUSE` group. The flag should be null for the remaining group types. Example: `true` + * + */ + public Boolean isPauseEnabled() { + return this.isPauseEnabled; + } /** * @return The list of steps in the group. * @@ -74,6 +87,7 @@ public static Builder builder(GetDrPlansDrPlanCollectionItemPlanGroup defaults) public static final class Builder { private String displayName; private String id; + private Boolean isPauseEnabled; private List steps; private String type; public Builder() {} @@ -81,6 +95,7 @@ public Builder(GetDrPlansDrPlanCollectionItemPlanGroup defaults) { Objects.requireNonNull(defaults); this.displayName = defaults.displayName; this.id = defaults.id; + this.isPauseEnabled = defaults.isPauseEnabled; this.steps = defaults.steps; this.type = defaults.type; } @@ -102,6 +117,14 @@ public Builder id(String id) { return this; } @CustomType.Setter + public Builder isPauseEnabled(Boolean isPauseEnabled) { + if (isPauseEnabled == null) { + throw new MissingRequiredPropertyException("GetDrPlansDrPlanCollectionItemPlanGroup", "isPauseEnabled"); + } + this.isPauseEnabled = isPauseEnabled; + return this; + } + @CustomType.Setter public Builder steps(List steps) { if (steps == null) { throw new MissingRequiredPropertyException("GetDrPlansDrPlanCollectionItemPlanGroup", "steps"); @@ -124,6 +147,7 @@ public GetDrPlansDrPlanCollectionItemPlanGroup build() { final var _resultValue = new GetDrPlansDrPlanCollectionItemPlanGroup(); _resultValue.displayName = displayName; _resultValue.id = id; + _resultValue.isPauseEnabled = isPauseEnabled; _resultValue.steps = steps; _resultValue.type = type; return _resultValue; diff --git a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/Backend.java b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/Backend.java index 8e00fcd356..c652dbd0bf 100644 --- a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/Backend.java +++ b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/Backend.java @@ -53,6 +53,7 @@ * .port(backendPort) * .backup(backendBackup) * .drain(backendDrain) + * .maxConnections(backendMaxConnections) * .offline(backendOffline) * .weight(backendWeight) * .build()); @@ -152,6 +153,20 @@ public Output ipAddress() { public Output loadBalancerId() { return this.loadBalancerId; } + /** + * (Updatable) The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` + * + */ + @Export(name="maxConnections", refs={Integer.class}, tree="[0]") + private Output maxConnections; + + /** + * @return (Updatable) The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` + * + */ + public Output maxConnections() { + return this.maxConnections; + } /** * A read-only field showing the IP address and port that uniquely identify this backend server in the backend set. Example: `10.0.0.3:8080` * diff --git a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/BackendArgs.java b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/BackendArgs.java index 6d68c8b8e7..f545031e43 100644 --- a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/BackendArgs.java +++ b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/BackendArgs.java @@ -101,6 +101,21 @@ public Output loadBalancerId() { return this.loadBalancerId; } + /** + * (Updatable) The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` + * + */ + @Import(name="maxConnections") + private @Nullable Output maxConnections; + + /** + * @return (Updatable) The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` + * + */ + public Optional> maxConnections() { + return Optional.ofNullable(this.maxConnections); + } + /** * (Updatable) Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` * @@ -160,6 +175,7 @@ private BackendArgs(BackendArgs $) { this.drain = $.drain; this.ipAddress = $.ipAddress; this.loadBalancerId = $.loadBalancerId; + this.maxConnections = $.maxConnections; this.offline = $.offline; this.port = $.port; this.weight = $.weight; @@ -296,6 +312,27 @@ public Builder loadBalancerId(String loadBalancerId) { return loadBalancerId(Output.of(loadBalancerId)); } + /** + * @param maxConnections (Updatable) The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` + * + * @return builder + * + */ + public Builder maxConnections(@Nullable Output maxConnections) { + $.maxConnections = maxConnections; + return this; + } + + /** + * @param maxConnections (Updatable) The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` + * + * @return builder + * + */ + public Builder maxConnections(Integer maxConnections) { + return maxConnections(Output.of(maxConnections)); + } + /** * @param offline (Updatable) Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` * diff --git a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/BackendSet.java b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/BackendSet.java index 39e523824b..e3827d376e 100644 --- a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/BackendSet.java +++ b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/BackendSet.java @@ -15,6 +15,7 @@ import com.pulumi.oci.LoadBalancer.outputs.BackendSetSessionPersistenceConfiguration; import com.pulumi.oci.LoadBalancer.outputs.BackendSetSslConfiguration; import com.pulumi.oci.Utilities; +import java.lang.Integer; import java.lang.String; import java.util.List; import java.util.Optional; @@ -73,6 +74,7 @@ * .loadBalancerId(testLoadBalancer.id()) * .name(backendSetName) * .policy(backendSetPolicy) + * .backendMaxConnections(backendSetBackendMaxConnections) * .lbCookieSessionPersistenceConfiguration(BackendSetLbCookieSessionPersistenceConfigurationArgs.builder() * .cookieName(backendSetLbCookieSessionPersistenceConfigurationCookieName) * .disableFallback(backendSetLbCookieSessionPersistenceConfigurationDisableFallback) @@ -118,9 +120,31 @@ */ @ResourceType(type="oci:LoadBalancer/backendSet:BackendSet") public class BackendSet extends com.pulumi.resources.CustomResource { + /** + * (Updatable) The maximum number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting. If this is not set then the number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting is unlimited. Example: `300` + * + */ + @Export(name="backendMaxConnections", refs={Integer.class}, tree="[0]") + private Output backendMaxConnections; + + /** + * @return (Updatable) The maximum number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting. If this is not set then the number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting is unlimited. Example: `300` + * + */ + public Output backendMaxConnections() { + return this.backendMaxConnections; + } + /** + * (Updatable) + * + */ @Export(name="backends", refs={List.class,BackendSetBackend.class}, tree="[0,1]") private Output> backends; + /** + * @return (Updatable) + * + */ public Output> backends() { return this.backends; } diff --git a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/BackendSetArgs.java b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/BackendSetArgs.java index 51be9a9bb6..da8308092c 100644 --- a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/BackendSetArgs.java +++ b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/BackendSetArgs.java @@ -10,6 +10,7 @@ import com.pulumi.oci.LoadBalancer.inputs.BackendSetLbCookieSessionPersistenceConfigurationArgs; import com.pulumi.oci.LoadBalancer.inputs.BackendSetSessionPersistenceConfigurationArgs; import com.pulumi.oci.LoadBalancer.inputs.BackendSetSslConfigurationArgs; +import java.lang.Integer; import java.lang.String; import java.util.Objects; import java.util.Optional; @@ -20,6 +21,21 @@ public final class BackendSetArgs extends com.pulumi.resources.ResourceArgs { public static final BackendSetArgs Empty = new BackendSetArgs(); + /** + * (Updatable) The maximum number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting. If this is not set then the number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting is unlimited. Example: `300` + * + */ + @Import(name="backendMaxConnections") + private @Nullable Output backendMaxConnections; + + /** + * @return (Updatable) The maximum number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting. If this is not set then the number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting is unlimited. Example: `300` + * + */ + public Optional> backendMaxConnections() { + return Optional.ofNullable(this.backendMaxConnections); + } + /** * (Updatable) The health check policy's configuration details. * @@ -192,6 +208,7 @@ public Optional> sslConfiguration() { private BackendSetArgs() {} private BackendSetArgs(BackendSetArgs $) { + this.backendMaxConnections = $.backendMaxConnections; this.healthChecker = $.healthChecker; this.lbCookieSessionPersistenceConfiguration = $.lbCookieSessionPersistenceConfiguration; this.loadBalancerId = $.loadBalancerId; @@ -219,6 +236,27 @@ public Builder(BackendSetArgs defaults) { $ = new BackendSetArgs(Objects.requireNonNull(defaults)); } + /** + * @param backendMaxConnections (Updatable) The maximum number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting. If this is not set then the number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting is unlimited. Example: `300` + * + * @return builder + * + */ + public Builder backendMaxConnections(@Nullable Output backendMaxConnections) { + $.backendMaxConnections = backendMaxConnections; + return this; + } + + /** + * @param backendMaxConnections (Updatable) The maximum number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting. If this is not set then the number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting is unlimited. Example: `300` + * + * @return builder + * + */ + public Builder backendMaxConnections(Integer backendMaxConnections) { + return backendMaxConnections(Output.of(backendMaxConnections)); + } + /** * @param healthChecker (Updatable) The health check policy's configuration details. * diff --git a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/LoadBalancer.java b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/LoadBalancer.java index b595dc4993..df0c67c85d 100644 --- a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/LoadBalancer.java +++ b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/LoadBalancer.java @@ -88,6 +88,7 @@ * .definedTags(Map.of("Operations.CostCenter", "42")) * .freeformTags(Map.of("Department", "Finance")) * .ipMode(loadBalancerIpMode) + * .isDeleteProtectionEnabled(loadBalancerIsDeleteProtectionEnabled) * .isPrivate(loadBalancerIsPrivate) * .networkSecurityGroupIds(loadBalancerNetworkSecurityGroupIds) * .reservedIps(LoadBalancerReservedIpArgs.builder() @@ -230,6 +231,32 @@ public Output> ipAddresses() { public Output ipMode() { return this.ipMode; } + /** + * (Updatable) Whether or not the load balancer has delete protection enabled. + * + * If "true", the loadbalancer will be protected against deletion if configured to accept traffic. + * + * If "false", the loadbalancer will not be protected against deletion. + * + * Delete protection will not be enabled unless a value of "true" is provided. Example: `true` + * + */ + @Export(name="isDeleteProtectionEnabled", refs={Boolean.class}, tree="[0]") + private Output isDeleteProtectionEnabled; + + /** + * @return (Updatable) Whether or not the load balancer has delete protection enabled. + * + * If "true", the loadbalancer will be protected against deletion if configured to accept traffic. + * + * If "false", the loadbalancer will not be protected against deletion. + * + * Delete protection will not be enabled unless a value of "true" is provided. Example: `true` + * + */ + public Output isDeleteProtectionEnabled() { + return this.isDeleteProtectionEnabled; + } /** * Whether the load balancer has a VCN-local (private) IP address. * @@ -305,14 +332,14 @@ public Output>> reservedIps() { return Codegen.optional(this.reservedIps); } /** - * (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: Starting May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. + * (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: After May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. * */ @Export(name="shape", refs={String.class}, tree="[0]") private Output shape; /** - * @return (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: Starting May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. + * @return (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: After May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. * */ public Output shape() { diff --git a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/LoadBalancerArgs.java b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/LoadBalancerArgs.java index 66adfc1fff..515ed8c9d9 100644 --- a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/LoadBalancerArgs.java +++ b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/LoadBalancerArgs.java @@ -109,6 +109,33 @@ public Optional> ipMode() { return Optional.ofNullable(this.ipMode); } + /** + * (Updatable) Whether or not the load balancer has delete protection enabled. + * + * If "true", the loadbalancer will be protected against deletion if configured to accept traffic. + * + * If "false", the loadbalancer will not be protected against deletion. + * + * Delete protection will not be enabled unless a value of "true" is provided. Example: `true` + * + */ + @Import(name="isDeleteProtectionEnabled") + private @Nullable Output isDeleteProtectionEnabled; + + /** + * @return (Updatable) Whether or not the load balancer has delete protection enabled. + * + * If "true", the loadbalancer will be protected against deletion if configured to accept traffic. + * + * If "false", the loadbalancer will not be protected against deletion. + * + * Delete protection will not be enabled unless a value of "true" is provided. Example: `true` + * + */ + public Optional> isDeleteProtectionEnabled() { + return Optional.ofNullable(this.isDeleteProtectionEnabled); + } + /** * Whether the load balancer has a VCN-local (private) IP address. * @@ -187,14 +214,14 @@ public Optional>> reservedIps() { } /** - * (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: Starting May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. + * (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: After May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. * */ @Import(name="shape", required=true) private Output shape; /** - * @return (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: Starting May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. + * @return (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: After May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. * */ public Output shape() { @@ -245,6 +272,7 @@ private LoadBalancerArgs(LoadBalancerArgs $) { this.displayName = $.displayName; this.freeformTags = $.freeformTags; this.ipMode = $.ipMode; + this.isDeleteProtectionEnabled = $.isDeleteProtectionEnabled; this.isPrivate = $.isPrivate; this.networkSecurityGroupIds = $.networkSecurityGroupIds; this.reservedIps = $.reservedIps; @@ -388,6 +416,39 @@ public Builder ipMode(String ipMode) { return ipMode(Output.of(ipMode)); } + /** + * @param isDeleteProtectionEnabled (Updatable) Whether or not the load balancer has delete protection enabled. + * + * If "true", the loadbalancer will be protected against deletion if configured to accept traffic. + * + * If "false", the loadbalancer will not be protected against deletion. + * + * Delete protection will not be enabled unless a value of "true" is provided. Example: `true` + * + * @return builder + * + */ + public Builder isDeleteProtectionEnabled(@Nullable Output isDeleteProtectionEnabled) { + $.isDeleteProtectionEnabled = isDeleteProtectionEnabled; + return this; + } + + /** + * @param isDeleteProtectionEnabled (Updatable) Whether or not the load balancer has delete protection enabled. + * + * If "true", the loadbalancer will be protected against deletion if configured to accept traffic. + * + * If "false", the loadbalancer will not be protected against deletion. + * + * Delete protection will not be enabled unless a value of "true" is provided. Example: `true` + * + * @return builder + * + */ + public Builder isDeleteProtectionEnabled(Boolean isDeleteProtectionEnabled) { + return isDeleteProtectionEnabled(Output.of(isDeleteProtectionEnabled)); + } + /** * @param isPrivate Whether the load balancer has a VCN-local (private) IP address. * @@ -512,7 +573,7 @@ public Builder reservedIps(LoadBalancerReservedIpArgs... reservedIps) { } /** - * @param shape (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: Starting May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. + * @param shape (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: After May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. * * @return builder * @@ -523,7 +584,7 @@ public Builder shape(Output shape) { } /** - * @param shape (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: Starting May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. + * @param shape (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: After May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/RuleSet.java b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/RuleSet.java index fdda8df7df..d17d3926b2 100644 --- a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/RuleSet.java +++ b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/RuleSet.java @@ -58,9 +58,14 @@ * .attributeValue(ruleSetItemsConditionsAttributeValue) * .operator(ruleSetItemsConditionsOperator) * .build()) + * .defaultMaxConnections(ruleSetItemsDefaultMaxConnections) * .description(ruleSetItemsDescription) * .header(ruleSetItemsHeader) * .httpLargeHeaderSizeInKb(ruleSetItemsHttpLargeHeaderSizeInKb) + * .ipMaxConnections(RuleSetItemIpMaxConnectionArgs.builder() + * .ipAddresses(ruleSetItemsIpMaxConnectionsIpAddresses) + * .maxConnections(ruleSetItemsIpMaxConnectionsMaxConnections) + * .build()) * .prefix(ruleSetItemsPrefix) * .redirectUri(RuleSetItemRedirectUriArgs.builder() * .host(ruleSetItemsRedirectUriHost) diff --git a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/inputs/BackendSetBackendArgs.java b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/inputs/BackendSetBackendArgs.java index ab0451e960..19fb780dc5 100644 --- a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/inputs/BackendSetBackendArgs.java +++ b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/inputs/BackendSetBackendArgs.java @@ -19,14 +19,22 @@ public final class BackendSetBackendArgs extends com.pulumi.resources.ResourceAr public static final BackendSetBackendArgs Empty = new BackendSetBackendArgs(); /** - * Whether the load balancer should treat this server as a backup unit. If `true`, the load balancer forwards no ingress traffic to this backend server unless all other backend servers not marked as "backup" fail the health check policy. + * (Updatable) Whether the load balancer should treat this server as a backup unit. If `true`, the load balancer forwards no ingress traffic to this backend server unless all other backend servers not marked as "backup" fail the health check policy. + * + * **Note:** You cannot add a backend server marked as `backup` to a backend set that uses the IP Hash policy. + * + * Example: `false` * */ @Import(name="backup") private @Nullable Output backup; /** - * @return Whether the load balancer should treat this server as a backup unit. If `true`, the load balancer forwards no ingress traffic to this backend server unless all other backend servers not marked as "backup" fail the health check policy. + * @return (Updatable) Whether the load balancer should treat this server as a backup unit. If `true`, the load balancer forwards no ingress traffic to this backend server unless all other backend servers not marked as "backup" fail the health check policy. + * + * **Note:** You cannot add a backend server marked as `backup` to a backend set that uses the IP Hash policy. + * + * Example: `false` * */ public Optional> backup() { @@ -34,14 +42,14 @@ public Optional> backup() { } /** - * Whether the load balancer should drain this server. Servers marked "drain" receive no new incoming traffic. Example: `false` + * (Updatable) Whether the load balancer should drain this server. Servers marked "drain" receive no new incoming traffic. Example: `false` * */ @Import(name="drain") private @Nullable Output drain; /** - * @return Whether the load balancer should drain this server. Servers marked "drain" receive no new incoming traffic. Example: `false` + * @return (Updatable) Whether the load balancer should drain this server. Servers marked "drain" receive no new incoming traffic. Example: `false` * */ public Optional> drain() { @@ -49,20 +57,35 @@ public Optional> drain() { } /** - * The IP address of the backend server. Example: `10.0.0.3` + * (Updatable) The IP address of the backend server. Example: `10.0.0.3` * */ @Import(name="ipAddress", required=true) private Output ipAddress; /** - * @return The IP address of the backend server. Example: `10.0.0.3` + * @return (Updatable) The IP address of the backend server. Example: `10.0.0.3` * */ public Output ipAddress() { return this.ipAddress; } + /** + * (Updatable) The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then the maximum number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` + * + */ + @Import(name="maxConnections") + private @Nullable Output maxConnections; + + /** + * @return (Updatable) The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then the maximum number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` + * + */ + public Optional> maxConnections() { + return Optional.ofNullable(this.maxConnections); + } + /** * A friendly name for the backend set. It must be unique and it cannot be changed. * @@ -87,14 +110,14 @@ public Optional> name() { } /** - * Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` + * (Updatable) Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` * */ @Import(name="offline") private @Nullable Output offline; /** - * @return Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` + * @return (Updatable) Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` * */ public Optional> offline() { @@ -117,14 +140,14 @@ public Output port() { } /** - * The load balancing policy weight assigned to the server. Backend servers with a higher weight receive a larger proportion of incoming traffic. For example, a server weighted '3' receives 3 times the number of new connections as a server weighted '1'. For more information on load balancing policies, see [How Load Balancing Policies Work](https://docs.cloud.oracle.com/iaas/Content/Balance/Reference/lbpolicies.htm). Example: `3` + * (Updatable) The load balancing policy weight assigned to the server. Backend servers with a higher weight receive a larger proportion of incoming traffic. For example, a server weighted '3' receives 3 times the number of new connections as a server weighted '1'. For more information on load balancing policies, see [How Load Balancing Policies Work](https://docs.cloud.oracle.com/iaas/Content/Balance/Reference/lbpolicies.htm). Example: `3` * */ @Import(name="weight") private @Nullable Output weight; /** - * @return The load balancing policy weight assigned to the server. Backend servers with a higher weight receive a larger proportion of incoming traffic. For example, a server weighted '3' receives 3 times the number of new connections as a server weighted '1'. For more information on load balancing policies, see [How Load Balancing Policies Work](https://docs.cloud.oracle.com/iaas/Content/Balance/Reference/lbpolicies.htm). Example: `3` + * @return (Updatable) The load balancing policy weight assigned to the server. Backend servers with a higher weight receive a larger proportion of incoming traffic. For example, a server weighted '3' receives 3 times the number of new connections as a server weighted '1'. For more information on load balancing policies, see [How Load Balancing Policies Work](https://docs.cloud.oracle.com/iaas/Content/Balance/Reference/lbpolicies.htm). Example: `3` * */ public Optional> weight() { @@ -137,6 +160,7 @@ private BackendSetBackendArgs(BackendSetBackendArgs $) { this.backup = $.backup; this.drain = $.drain; this.ipAddress = $.ipAddress; + this.maxConnections = $.maxConnections; this.name = $.name; this.offline = $.offline; this.port = $.port; @@ -162,7 +186,11 @@ public Builder(BackendSetBackendArgs defaults) { } /** - * @param backup Whether the load balancer should treat this server as a backup unit. If `true`, the load balancer forwards no ingress traffic to this backend server unless all other backend servers not marked as "backup" fail the health check policy. + * @param backup (Updatable) Whether the load balancer should treat this server as a backup unit. If `true`, the load balancer forwards no ingress traffic to this backend server unless all other backend servers not marked as "backup" fail the health check policy. + * + * **Note:** You cannot add a backend server marked as `backup` to a backend set that uses the IP Hash policy. + * + * Example: `false` * * @return builder * @@ -173,7 +201,11 @@ public Builder backup(@Nullable Output backup) { } /** - * @param backup Whether the load balancer should treat this server as a backup unit. If `true`, the load balancer forwards no ingress traffic to this backend server unless all other backend servers not marked as "backup" fail the health check policy. + * @param backup (Updatable) Whether the load balancer should treat this server as a backup unit. If `true`, the load balancer forwards no ingress traffic to this backend server unless all other backend servers not marked as "backup" fail the health check policy. + * + * **Note:** You cannot add a backend server marked as `backup` to a backend set that uses the IP Hash policy. + * + * Example: `false` * * @return builder * @@ -183,7 +215,7 @@ public Builder backup(Boolean backup) { } /** - * @param drain Whether the load balancer should drain this server. Servers marked "drain" receive no new incoming traffic. Example: `false` + * @param drain (Updatable) Whether the load balancer should drain this server. Servers marked "drain" receive no new incoming traffic. Example: `false` * * @return builder * @@ -194,7 +226,7 @@ public Builder drain(@Nullable Output drain) { } /** - * @param drain Whether the load balancer should drain this server. Servers marked "drain" receive no new incoming traffic. Example: `false` + * @param drain (Updatable) Whether the load balancer should drain this server. Servers marked "drain" receive no new incoming traffic. Example: `false` * * @return builder * @@ -204,7 +236,7 @@ public Builder drain(Boolean drain) { } /** - * @param ipAddress The IP address of the backend server. Example: `10.0.0.3` + * @param ipAddress (Updatable) The IP address of the backend server. Example: `10.0.0.3` * * @return builder * @@ -215,7 +247,7 @@ public Builder ipAddress(Output ipAddress) { } /** - * @param ipAddress The IP address of the backend server. Example: `10.0.0.3` + * @param ipAddress (Updatable) The IP address of the backend server. Example: `10.0.0.3` * * @return builder * @@ -224,6 +256,27 @@ public Builder ipAddress(String ipAddress) { return ipAddress(Output.of(ipAddress)); } + /** + * @param maxConnections (Updatable) The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then the maximum number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` + * + * @return builder + * + */ + public Builder maxConnections(@Nullable Output maxConnections) { + $.maxConnections = maxConnections; + return this; + } + + /** + * @param maxConnections (Updatable) The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then the maximum number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` + * + * @return builder + * + */ + public Builder maxConnections(Integer maxConnections) { + return maxConnections(Output.of(maxConnections)); + } + /** * @param name A friendly name for the backend set. It must be unique and it cannot be changed. * @@ -254,7 +307,7 @@ public Builder name(String name) { } /** - * @param offline Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` + * @param offline (Updatable) Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` * * @return builder * @@ -265,7 +318,7 @@ public Builder offline(@Nullable Output offline) { } /** - * @param offline Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` + * @param offline (Updatable) Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` * * @return builder * @@ -296,7 +349,7 @@ public Builder port(Integer port) { } /** - * @param weight The load balancing policy weight assigned to the server. Backend servers with a higher weight receive a larger proportion of incoming traffic. For example, a server weighted '3' receives 3 times the number of new connections as a server weighted '1'. For more information on load balancing policies, see [How Load Balancing Policies Work](https://docs.cloud.oracle.com/iaas/Content/Balance/Reference/lbpolicies.htm). Example: `3` + * @param weight (Updatable) The load balancing policy weight assigned to the server. Backend servers with a higher weight receive a larger proportion of incoming traffic. For example, a server weighted '3' receives 3 times the number of new connections as a server weighted '1'. For more information on load balancing policies, see [How Load Balancing Policies Work](https://docs.cloud.oracle.com/iaas/Content/Balance/Reference/lbpolicies.htm). Example: `3` * * @return builder * @@ -307,7 +360,7 @@ public Builder weight(@Nullable Output weight) { } /** - * @param weight The load balancing policy weight assigned to the server. Backend servers with a higher weight receive a larger proportion of incoming traffic. For example, a server weighted '3' receives 3 times the number of new connections as a server weighted '1'. For more information on load balancing policies, see [How Load Balancing Policies Work](https://docs.cloud.oracle.com/iaas/Content/Balance/Reference/lbpolicies.htm). Example: `3` + * @param weight (Updatable) The load balancing policy weight assigned to the server. Backend servers with a higher weight receive a larger proportion of incoming traffic. For example, a server weighted '3' receives 3 times the number of new connections as a server weighted '1'. For more information on load balancing policies, see [How Load Balancing Policies Work](https://docs.cloud.oracle.com/iaas/Content/Balance/Reference/lbpolicies.htm). Example: `3` * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/inputs/BackendSetState.java b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/inputs/BackendSetState.java index 8c7ebd516d..4b2a661a26 100644 --- a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/inputs/BackendSetState.java +++ b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/inputs/BackendSetState.java @@ -10,6 +10,7 @@ import com.pulumi.oci.LoadBalancer.inputs.BackendSetLbCookieSessionPersistenceConfigurationArgs; import com.pulumi.oci.LoadBalancer.inputs.BackendSetSessionPersistenceConfigurationArgs; import com.pulumi.oci.LoadBalancer.inputs.BackendSetSslConfigurationArgs; +import java.lang.Integer; import java.lang.String; import java.util.List; import java.util.Objects; @@ -21,9 +22,32 @@ public final class BackendSetState extends com.pulumi.resources.ResourceArgs { public static final BackendSetState Empty = new BackendSetState(); + /** + * (Updatable) The maximum number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting. If this is not set then the number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting is unlimited. Example: `300` + * + */ + @Import(name="backendMaxConnections") + private @Nullable Output backendMaxConnections; + + /** + * @return (Updatable) The maximum number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting. If this is not set then the number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting is unlimited. Example: `300` + * + */ + public Optional> backendMaxConnections() { + return Optional.ofNullable(this.backendMaxConnections); + } + + /** + * (Updatable) + * + */ @Import(name="backends") private @Nullable Output> backends; + /** + * @return (Updatable) + * + */ public Optional>> backends() { return Optional.ofNullable(this.backends); } @@ -207,6 +231,7 @@ public Optional> state() { private BackendSetState() {} private BackendSetState(BackendSetState $) { + this.backendMaxConnections = $.backendMaxConnections; this.backends = $.backends; this.healthChecker = $.healthChecker; this.lbCookieSessionPersistenceConfiguration = $.lbCookieSessionPersistenceConfiguration; @@ -236,15 +261,54 @@ public Builder(BackendSetState defaults) { $ = new BackendSetState(Objects.requireNonNull(defaults)); } + /** + * @param backendMaxConnections (Updatable) The maximum number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting. If this is not set then the number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting is unlimited. Example: `300` + * + * @return builder + * + */ + public Builder backendMaxConnections(@Nullable Output backendMaxConnections) { + $.backendMaxConnections = backendMaxConnections; + return this; + } + + /** + * @param backendMaxConnections (Updatable) The maximum number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting. If this is not set then the number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting is unlimited. Example: `300` + * + * @return builder + * + */ + public Builder backendMaxConnections(Integer backendMaxConnections) { + return backendMaxConnections(Output.of(backendMaxConnections)); + } + + /** + * @param backends (Updatable) + * + * @return builder + * + */ public Builder backends(@Nullable Output> backends) { $.backends = backends; return this; } + /** + * @param backends (Updatable) + * + * @return builder + * + */ public Builder backends(List backends) { return backends(Output.of(backends)); } + /** + * @param backends (Updatable) + * + * @return builder + * + */ public Builder backends(BackendSetBackendArgs... backends) { return backends(List.of(backends)); } diff --git a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/inputs/BackendState.java b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/inputs/BackendState.java index 0fe9226ca0..e79b205b71 100644 --- a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/inputs/BackendState.java +++ b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/inputs/BackendState.java @@ -100,6 +100,21 @@ public Optional> loadBalancerId() { return Optional.ofNullable(this.loadBalancerId); } + /** + * (Updatable) The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` + * + */ + @Import(name="maxConnections") + private @Nullable Output maxConnections; + + /** + * @return (Updatable) The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` + * + */ + public Optional> maxConnections() { + return Optional.ofNullable(this.maxConnections); + } + /** * A read-only field showing the IP address and port that uniquely identify this backend server in the backend set. Example: `10.0.0.3:8080` * @@ -181,6 +196,7 @@ private BackendState(BackendState $) { this.drain = $.drain; this.ipAddress = $.ipAddress; this.loadBalancerId = $.loadBalancerId; + this.maxConnections = $.maxConnections; this.name = $.name; this.offline = $.offline; this.port = $.port; @@ -319,6 +335,27 @@ public Builder loadBalancerId(String loadBalancerId) { return loadBalancerId(Output.of(loadBalancerId)); } + /** + * @param maxConnections (Updatable) The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` + * + * @return builder + * + */ + public Builder maxConnections(@Nullable Output maxConnections) { + $.maxConnections = maxConnections; + return this; + } + + /** + * @param maxConnections (Updatable) The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` + * + * @return builder + * + */ + public Builder maxConnections(Integer maxConnections) { + return maxConnections(Output.of(maxConnections)); + } + /** * @param name A read-only field showing the IP address and port that uniquely identify this backend server in the backend set. Example: `10.0.0.3:8080` * diff --git a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/inputs/GetListenerRulesArgs.java b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/inputs/GetListenerRulesArgs.java index 6d045fa79a..9ad469762e 100644 --- a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/inputs/GetListenerRulesArgs.java +++ b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/inputs/GetListenerRulesArgs.java @@ -26,14 +26,14 @@ public Optional>> filters() { } /** - * The name of the listener the rules are associated with. + * The name of the listener the rules are associated with. Example: `example_listener` * */ @Import(name="listenerName", required=true) private Output listenerName; /** - * @return The name of the listener the rules are associated with. + * @return The name of the listener the rules are associated with. Example: `example_listener` * */ public Output listenerName() { @@ -95,7 +95,7 @@ public Builder filters(GetListenerRulesFilterArgs... filters) { } /** - * @param listenerName The name of the listener the rules are associated with. + * @param listenerName The name of the listener the rules are associated with. Example: `example_listener` * * @return builder * @@ -106,7 +106,7 @@ public Builder listenerName(Output listenerName) { } /** - * @param listenerName The name of the listener the rules are associated with. + * @param listenerName The name of the listener the rules are associated with. Example: `example_listener` * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/inputs/GetListenerRulesPlainArgs.java b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/inputs/GetListenerRulesPlainArgs.java index 15d6582c81..99ffd2c3a1 100644 --- a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/inputs/GetListenerRulesPlainArgs.java +++ b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/inputs/GetListenerRulesPlainArgs.java @@ -25,14 +25,14 @@ public Optional> filters() { } /** - * The name of the listener the rules are associated with. + * The name of the listener the rules are associated with. Example: `example_listener` * */ @Import(name="listenerName", required=true) private String listenerName; /** - * @return The name of the listener the rules are associated with. + * @return The name of the listener the rules are associated with. Example: `example_listener` * */ public String listenerName() { @@ -90,7 +90,7 @@ public Builder filters(GetListenerRulesFilter... filters) { } /** - * @param listenerName The name of the listener the rules are associated with. + * @param listenerName The name of the listener the rules are associated with. Example: `example_listener` * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/inputs/LoadBalancerIpAddressDetailArgs.java b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/inputs/LoadBalancerIpAddressDetailArgs.java index 10187df49f..7af46ce950 100644 --- a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/inputs/LoadBalancerIpAddressDetailArgs.java +++ b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/inputs/LoadBalancerIpAddressDetailArgs.java @@ -48,17 +48,9 @@ public Optional> isPublic() { return Optional.ofNullable(this.isPublic); } - /** - * Pre-created public IP that will be used as the IP of this load balancer. This reserved IP will not be deleted when load balancer is deleted. This ip should not be already mapped to any other resource. - * - */ @Import(name="reservedIps") private @Nullable Output> reservedIps; - /** - * @return Pre-created public IP that will be used as the IP of this load balancer. This reserved IP will not be deleted when load balancer is deleted. This ip should not be already mapped to any other resource. - * - */ public Optional>> reservedIps() { return Optional.ofNullable(this.reservedIps); } @@ -131,33 +123,15 @@ public Builder isPublic(Boolean isPublic) { return isPublic(Output.of(isPublic)); } - /** - * @param reservedIps Pre-created public IP that will be used as the IP of this load balancer. This reserved IP will not be deleted when load balancer is deleted. This ip should not be already mapped to any other resource. - * - * @return builder - * - */ public Builder reservedIps(@Nullable Output> reservedIps) { $.reservedIps = reservedIps; return this; } - /** - * @param reservedIps Pre-created public IP that will be used as the IP of this load balancer. This reserved IP will not be deleted when load balancer is deleted. This ip should not be already mapped to any other resource. - * - * @return builder - * - */ public Builder reservedIps(List reservedIps) { return reservedIps(Output.of(reservedIps)); } - /** - * @param reservedIps Pre-created public IP that will be used as the IP of this load balancer. This reserved IP will not be deleted when load balancer is deleted. This ip should not be already mapped to any other resource. - * - * @return builder - * - */ public Builder reservedIps(LoadBalancerIpAddressDetailReservedIpArgs... reservedIps) { return reservedIps(List.of(reservedIps)); } diff --git a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/inputs/LoadBalancerIpAddressDetailReservedIpArgs.java b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/inputs/LoadBalancerIpAddressDetailReservedIpArgs.java index f444ed56c2..ec19c80c4f 100644 --- a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/inputs/LoadBalancerIpAddressDetailReservedIpArgs.java +++ b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/inputs/LoadBalancerIpAddressDetailReservedIpArgs.java @@ -16,14 +16,30 @@ public final class LoadBalancerIpAddressDetailReservedIpArgs extends com.pulumi. public static final LoadBalancerIpAddressDetailReservedIpArgs Empty = new LoadBalancerIpAddressDetailReservedIpArgs(); /** - * Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. + * Ocid of the Reserved IP/Public Ip created with VCN. + * + * Reserved IPs are IPs which already registered using VCN API. + * + * Create a reserved Public IP and then while creating the load balancer pass the ocid of the reserved IP in this field reservedIp to attach the Ip to Load balancer. Load balancer will be configured to listen to traffic on this IP. + * + * Reserved IPs will not be deleted when the Load balancer is deleted. They will be unattached from the Load balancer. + * + * Example: "ocid1.publicip.oc1.phx.unique_ID" Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. * */ @Import(name="id") private @Nullable Output id; /** - * @return Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. + * @return Ocid of the Reserved IP/Public Ip created with VCN. + * + * Reserved IPs are IPs which already registered using VCN API. + * + * Create a reserved Public IP and then while creating the load balancer pass the ocid of the reserved IP in this field reservedIp to attach the Ip to Load balancer. Load balancer will be configured to listen to traffic on this IP. + * + * Reserved IPs will not be deleted when the Load balancer is deleted. They will be unattached from the Load balancer. + * + * Example: "ocid1.publicip.oc1.phx.unique_ID" Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. * */ public Optional> id() { @@ -55,7 +71,15 @@ public Builder(LoadBalancerIpAddressDetailReservedIpArgs defaults) { } /** - * @param id Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. + * @param id Ocid of the Reserved IP/Public Ip created with VCN. + * + * Reserved IPs are IPs which already registered using VCN API. + * + * Create a reserved Public IP and then while creating the load balancer pass the ocid of the reserved IP in this field reservedIp to attach the Ip to Load balancer. Load balancer will be configured to listen to traffic on this IP. + * + * Reserved IPs will not be deleted when the Load balancer is deleted. They will be unattached from the Load balancer. + * + * Example: "ocid1.publicip.oc1.phx.unique_ID" Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. * * @return builder * @@ -66,7 +90,15 @@ public Builder id(@Nullable Output id) { } /** - * @param id Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. + * @param id Ocid of the Reserved IP/Public Ip created with VCN. + * + * Reserved IPs are IPs which already registered using VCN API. + * + * Create a reserved Public IP and then while creating the load balancer pass the ocid of the reserved IP in this field reservedIp to attach the Ip to Load balancer. Load balancer will be configured to listen to traffic on this IP. + * + * Reserved IPs will not be deleted when the Load balancer is deleted. They will be unattached from the Load balancer. + * + * Example: "ocid1.publicip.oc1.phx.unique_ID" Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/inputs/LoadBalancerReservedIpArgs.java b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/inputs/LoadBalancerReservedIpArgs.java index 0bb5e33471..b2d0b466c2 100644 --- a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/inputs/LoadBalancerReservedIpArgs.java +++ b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/inputs/LoadBalancerReservedIpArgs.java @@ -16,14 +16,30 @@ public final class LoadBalancerReservedIpArgs extends com.pulumi.resources.Resou public static final LoadBalancerReservedIpArgs Empty = new LoadBalancerReservedIpArgs(); /** - * Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. + * Ocid of the Reserved IP/Public Ip created with VCN. + * + * Reserved IPs are IPs which already registered using VCN API. + * + * Create a reserved Public IP and then while creating the load balancer pass the ocid of the reserved IP in this field reservedIp to attach the Ip to Load balancer. Load balancer will be configured to listen to traffic on this IP. + * + * Reserved IPs will not be deleted when the Load balancer is deleted. They will be unattached from the Load balancer. + * + * Example: "ocid1.publicip.oc1.phx.unique_ID" Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. * */ @Import(name="id") private @Nullable Output id; /** - * @return Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. + * @return Ocid of the Reserved IP/Public Ip created with VCN. + * + * Reserved IPs are IPs which already registered using VCN API. + * + * Create a reserved Public IP and then while creating the load balancer pass the ocid of the reserved IP in this field reservedIp to attach the Ip to Load balancer. Load balancer will be configured to listen to traffic on this IP. + * + * Reserved IPs will not be deleted when the Load balancer is deleted. They will be unattached from the Load balancer. + * + * Example: "ocid1.publicip.oc1.phx.unique_ID" Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. * */ public Optional> id() { @@ -55,7 +71,15 @@ public Builder(LoadBalancerReservedIpArgs defaults) { } /** - * @param id Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. + * @param id Ocid of the Reserved IP/Public Ip created with VCN. + * + * Reserved IPs are IPs which already registered using VCN API. + * + * Create a reserved Public IP and then while creating the load balancer pass the ocid of the reserved IP in this field reservedIp to attach the Ip to Load balancer. Load balancer will be configured to listen to traffic on this IP. + * + * Reserved IPs will not be deleted when the Load balancer is deleted. They will be unattached from the Load balancer. + * + * Example: "ocid1.publicip.oc1.phx.unique_ID" Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. * * @return builder * @@ -66,7 +90,15 @@ public Builder id(@Nullable Output id) { } /** - * @param id Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. + * @param id Ocid of the Reserved IP/Public Ip created with VCN. + * + * Reserved IPs are IPs which already registered using VCN API. + * + * Create a reserved Public IP and then while creating the load balancer pass the ocid of the reserved IP in this field reservedIp to attach the Ip to Load balancer. Load balancer will be configured to listen to traffic on this IP. + * + * Reserved IPs will not be deleted when the Load balancer is deleted. They will be unattached from the Load balancer. + * + * Example: "ocid1.publicip.oc1.phx.unique_ID" Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/inputs/LoadBalancerState.java b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/inputs/LoadBalancerState.java index 5341f11a67..e9e6563664 100644 --- a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/inputs/LoadBalancerState.java +++ b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/inputs/LoadBalancerState.java @@ -147,6 +147,33 @@ public Optional> ipMode() { return Optional.ofNullable(this.ipMode); } + /** + * (Updatable) Whether or not the load balancer has delete protection enabled. + * + * If "true", the loadbalancer will be protected against deletion if configured to accept traffic. + * + * If "false", the loadbalancer will not be protected against deletion. + * + * Delete protection will not be enabled unless a value of "true" is provided. Example: `true` + * + */ + @Import(name="isDeleteProtectionEnabled") + private @Nullable Output isDeleteProtectionEnabled; + + /** + * @return (Updatable) Whether or not the load balancer has delete protection enabled. + * + * If "true", the loadbalancer will be protected against deletion if configured to accept traffic. + * + * If "false", the loadbalancer will not be protected against deletion. + * + * Delete protection will not be enabled unless a value of "true" is provided. Example: `true` + * + */ + public Optional> isDeleteProtectionEnabled() { + return Optional.ofNullable(this.isDeleteProtectionEnabled); + } + /** * Whether the load balancer has a VCN-local (private) IP address. * @@ -225,14 +252,14 @@ public Optional>> reservedIps() { } /** - * (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: Starting May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. + * (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: After May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. * */ @Import(name="shape") private @Nullable Output shape; /** - * @return (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: Starting May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. + * @return (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: After May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. * */ public Optional> shape() { @@ -330,6 +357,7 @@ private LoadBalancerState(LoadBalancerState $) { this.ipAddressDetails = $.ipAddressDetails; this.ipAddresses = $.ipAddresses; this.ipMode = $.ipMode; + this.isDeleteProtectionEnabled = $.isDeleteProtectionEnabled; this.isPrivate = $.isPrivate; this.networkSecurityGroupIds = $.networkSecurityGroupIds; this.reservedIps = $.reservedIps; @@ -550,6 +578,39 @@ public Builder ipMode(String ipMode) { return ipMode(Output.of(ipMode)); } + /** + * @param isDeleteProtectionEnabled (Updatable) Whether or not the load balancer has delete protection enabled. + * + * If "true", the loadbalancer will be protected against deletion if configured to accept traffic. + * + * If "false", the loadbalancer will not be protected against deletion. + * + * Delete protection will not be enabled unless a value of "true" is provided. Example: `true` + * + * @return builder + * + */ + public Builder isDeleteProtectionEnabled(@Nullable Output isDeleteProtectionEnabled) { + $.isDeleteProtectionEnabled = isDeleteProtectionEnabled; + return this; + } + + /** + * @param isDeleteProtectionEnabled (Updatable) Whether or not the load balancer has delete protection enabled. + * + * If "true", the loadbalancer will be protected against deletion if configured to accept traffic. + * + * If "false", the loadbalancer will not be protected against deletion. + * + * Delete protection will not be enabled unless a value of "true" is provided. Example: `true` + * + * @return builder + * + */ + public Builder isDeleteProtectionEnabled(Boolean isDeleteProtectionEnabled) { + return isDeleteProtectionEnabled(Output.of(isDeleteProtectionEnabled)); + } + /** * @param isPrivate Whether the load balancer has a VCN-local (private) IP address. * @@ -674,7 +735,7 @@ public Builder reservedIps(LoadBalancerReservedIpArgs... reservedIps) { } /** - * @param shape (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: Starting May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. + * @param shape (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: After May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. * * @return builder * @@ -685,7 +746,7 @@ public Builder shape(@Nullable Output shape) { } /** - * @param shape (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: Starting May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. + * @param shape (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: After May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/inputs/RuleSetItemArgs.java b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/inputs/RuleSetItemArgs.java index e85d006a44..afd48db32d 100644 --- a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/inputs/RuleSetItemArgs.java +++ b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/inputs/RuleSetItemArgs.java @@ -7,6 +7,7 @@ import com.pulumi.core.annotations.Import; import com.pulumi.exceptions.MissingRequiredPropertyException; import com.pulumi.oci.LoadBalancer.inputs.RuleSetItemConditionArgs; +import com.pulumi.oci.LoadBalancer.inputs.RuleSetItemIpMaxConnectionArgs; import com.pulumi.oci.LoadBalancer.inputs.RuleSetItemRedirectUriArgs; import java.lang.Boolean; import java.lang.Integer; @@ -22,14 +23,14 @@ public final class RuleSetItemArgs extends com.pulumi.resources.ResourceArgs { public static final RuleSetItemArgs Empty = new RuleSetItemArgs(); /** - * (Updatable) The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` + * (Updatable) The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `IP_BASED_MAX_CONNECTIONS`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` * */ @Import(name="action", required=true) private Output action; /** - * @return (Updatable) The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` + * @return (Updatable) The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `IP_BASED_MAX_CONNECTIONS`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` * */ public Output action() { @@ -97,6 +98,21 @@ public Optional>> conditions() { return Optional.ofNullable(this.conditions); } + /** + * (Updatable) The maximum number of connections that the any IP can make to a listener unless the IP is mentioned in maxConnections. If no defaultMaxConnections is specified the default is unlimited. + * + */ + @Import(name="defaultMaxConnections") + private @Nullable Output defaultMaxConnections; + + /** + * @return (Updatable) The maximum number of connections that the any IP can make to a listener unless the IP is mentioned in maxConnections. If no defaultMaxConnections is specified the default is unlimited. + * + */ + public Optional> defaultMaxConnections() { + return Optional.ofNullable(this.defaultMaxConnections); + } + /** * (Updatable) A brief description of the access control rule. Avoid entering confidential information. * @@ -146,6 +162,21 @@ public Optional> httpLargeHeaderSizeInKb() { return Optional.ofNullable(this.httpLargeHeaderSizeInKb); } + /** + * (Updatable) An array of IPs that have a maxConnection setting different than the default and what that maxConnection setting is + * + */ + @Import(name="ipMaxConnections") + private @Nullable Output> ipMaxConnections; + + /** + * @return (Updatable) An array of IPs that have a maxConnection setting different than the default and what that maxConnection setting is + * + */ + public Optional>> ipMaxConnections() { + return Optional.ofNullable(this.ipMaxConnections); + } + /** * (Updatable) A string to prepend to the header value. The resulting header value must still conform to RFC 7230. With the following exceptions: * * value cannot contain `$` @@ -335,9 +366,11 @@ private RuleSetItemArgs(RuleSetItemArgs $) { this.allowedMethods = $.allowedMethods; this.areInvalidCharactersAllowed = $.areInvalidCharactersAllowed; this.conditions = $.conditions; + this.defaultMaxConnections = $.defaultMaxConnections; this.description = $.description; this.header = $.header; this.httpLargeHeaderSizeInKb = $.httpLargeHeaderSizeInKb; + this.ipMaxConnections = $.ipMaxConnections; this.prefix = $.prefix; this.redirectUri = $.redirectUri; this.responseCode = $.responseCode; @@ -365,7 +398,7 @@ public Builder(RuleSetItemArgs defaults) { } /** - * @param action (Updatable) The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` + * @param action (Updatable) The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `IP_BASED_MAX_CONNECTIONS`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` * * @return builder * @@ -376,7 +409,7 @@ public Builder action(Output action) { } /** - * @param action (Updatable) The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` + * @param action (Updatable) The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `IP_BASED_MAX_CONNECTIONS`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` * * @return builder * @@ -492,6 +525,27 @@ public Builder conditions(RuleSetItemConditionArgs... conditions) { return conditions(List.of(conditions)); } + /** + * @param defaultMaxConnections (Updatable) The maximum number of connections that the any IP can make to a listener unless the IP is mentioned in maxConnections. If no defaultMaxConnections is specified the default is unlimited. + * + * @return builder + * + */ + public Builder defaultMaxConnections(@Nullable Output defaultMaxConnections) { + $.defaultMaxConnections = defaultMaxConnections; + return this; + } + + /** + * @param defaultMaxConnections (Updatable) The maximum number of connections that the any IP can make to a listener unless the IP is mentioned in maxConnections. If no defaultMaxConnections is specified the default is unlimited. + * + * @return builder + * + */ + public Builder defaultMaxConnections(Integer defaultMaxConnections) { + return defaultMaxConnections(Output.of(defaultMaxConnections)); + } + /** * @param description (Updatable) A brief description of the access control rule. Avoid entering confidential information. * @@ -559,6 +613,37 @@ public Builder httpLargeHeaderSizeInKb(Integer httpLargeHeaderSizeInKb) { return httpLargeHeaderSizeInKb(Output.of(httpLargeHeaderSizeInKb)); } + /** + * @param ipMaxConnections (Updatable) An array of IPs that have a maxConnection setting different than the default and what that maxConnection setting is + * + * @return builder + * + */ + public Builder ipMaxConnections(@Nullable Output> ipMaxConnections) { + $.ipMaxConnections = ipMaxConnections; + return this; + } + + /** + * @param ipMaxConnections (Updatable) An array of IPs that have a maxConnection setting different than the default and what that maxConnection setting is + * + * @return builder + * + */ + public Builder ipMaxConnections(List ipMaxConnections) { + return ipMaxConnections(Output.of(ipMaxConnections)); + } + + /** + * @param ipMaxConnections (Updatable) An array of IPs that have a maxConnection setting different than the default and what that maxConnection setting is + * + * @return builder + * + */ + public Builder ipMaxConnections(RuleSetItemIpMaxConnectionArgs... ipMaxConnections) { + return ipMaxConnections(List.of(ipMaxConnections)); + } + /** * @param prefix (Updatable) A string to prepend to the header value. The resulting header value must still conform to RFC 7230. With the following exceptions: * * value cannot contain `$` diff --git a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/inputs/RuleSetItemIpMaxConnectionArgs.java b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/inputs/RuleSetItemIpMaxConnectionArgs.java new file mode 100644 index 0000000000..a66637e2a3 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/inputs/RuleSetItemIpMaxConnectionArgs.java @@ -0,0 +1,132 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.oci.LoadBalancer.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class RuleSetItemIpMaxConnectionArgs extends com.pulumi.resources.ResourceArgs { + + public static final RuleSetItemIpMaxConnectionArgs Empty = new RuleSetItemIpMaxConnectionArgs(); + + /** + * (Updatable) Each element in the list should be valid IPv4 or IPv6 CIDR Block address. Example: '["129.213.176.0/24", "150.136.187.0/24", "2002::1234:abcd:ffff:c0a8:101/64"]' + * + */ + @Import(name="ipAddresses") + private @Nullable Output> ipAddresses; + + /** + * @return (Updatable) Each element in the list should be valid IPv4 or IPv6 CIDR Block address. Example: '["129.213.176.0/24", "150.136.187.0/24", "2002::1234:abcd:ffff:c0a8:101/64"]' + * + */ + public Optional>> ipAddresses() { + return Optional.ofNullable(this.ipAddresses); + } + + /** + * (Updatable) The maximum number of simultaneous connections that the specified IPs can make to the Listener. IPs without a maxConnections setting can make either defaultMaxConnections simultaneous connections to a listener or, if no defaultMaxConnections is specified, an unlimited number of simultaneous connections to a listener. + * + */ + @Import(name="maxConnections") + private @Nullable Output maxConnections; + + /** + * @return (Updatable) The maximum number of simultaneous connections that the specified IPs can make to the Listener. IPs without a maxConnections setting can make either defaultMaxConnections simultaneous connections to a listener or, if no defaultMaxConnections is specified, an unlimited number of simultaneous connections to a listener. + * + */ + public Optional> maxConnections() { + return Optional.ofNullable(this.maxConnections); + } + + private RuleSetItemIpMaxConnectionArgs() {} + + private RuleSetItemIpMaxConnectionArgs(RuleSetItemIpMaxConnectionArgs $) { + this.ipAddresses = $.ipAddresses; + this.maxConnections = $.maxConnections; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RuleSetItemIpMaxConnectionArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RuleSetItemIpMaxConnectionArgs $; + + public Builder() { + $ = new RuleSetItemIpMaxConnectionArgs(); + } + + public Builder(RuleSetItemIpMaxConnectionArgs defaults) { + $ = new RuleSetItemIpMaxConnectionArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param ipAddresses (Updatable) Each element in the list should be valid IPv4 or IPv6 CIDR Block address. Example: '["129.213.176.0/24", "150.136.187.0/24", "2002::1234:abcd:ffff:c0a8:101/64"]' + * + * @return builder + * + */ + public Builder ipAddresses(@Nullable Output> ipAddresses) { + $.ipAddresses = ipAddresses; + return this; + } + + /** + * @param ipAddresses (Updatable) Each element in the list should be valid IPv4 or IPv6 CIDR Block address. Example: '["129.213.176.0/24", "150.136.187.0/24", "2002::1234:abcd:ffff:c0a8:101/64"]' + * + * @return builder + * + */ + public Builder ipAddresses(List ipAddresses) { + return ipAddresses(Output.of(ipAddresses)); + } + + /** + * @param ipAddresses (Updatable) Each element in the list should be valid IPv4 or IPv6 CIDR Block address. Example: '["129.213.176.0/24", "150.136.187.0/24", "2002::1234:abcd:ffff:c0a8:101/64"]' + * + * @return builder + * + */ + public Builder ipAddresses(String... ipAddresses) { + return ipAddresses(List.of(ipAddresses)); + } + + /** + * @param maxConnections (Updatable) The maximum number of simultaneous connections that the specified IPs can make to the Listener. IPs without a maxConnections setting can make either defaultMaxConnections simultaneous connections to a listener or, if no defaultMaxConnections is specified, an unlimited number of simultaneous connections to a listener. + * + * @return builder + * + */ + public Builder maxConnections(@Nullable Output maxConnections) { + $.maxConnections = maxConnections; + return this; + } + + /** + * @param maxConnections (Updatable) The maximum number of simultaneous connections that the specified IPs can make to the Listener. IPs without a maxConnections setting can make either defaultMaxConnections simultaneous connections to a listener or, if no defaultMaxConnections is specified, an unlimited number of simultaneous connections to a listener. + * + * @return builder + * + */ + public Builder maxConnections(Integer maxConnections) { + return maxConnections(Output.of(maxConnections)); + } + + public RuleSetItemIpMaxConnectionArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/BackendSetBackend.java b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/BackendSetBackend.java index e046dd4e2e..e5fec2a751 100644 --- a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/BackendSetBackend.java +++ b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/BackendSetBackend.java @@ -15,20 +15,29 @@ @CustomType public final class BackendSetBackend { /** - * @return Whether the load balancer should treat this server as a backup unit. If `true`, the load balancer forwards no ingress traffic to this backend server unless all other backend servers not marked as "backup" fail the health check policy. + * @return (Updatable) Whether the load balancer should treat this server as a backup unit. If `true`, the load balancer forwards no ingress traffic to this backend server unless all other backend servers not marked as "backup" fail the health check policy. + * + * **Note:** You cannot add a backend server marked as `backup` to a backend set that uses the IP Hash policy. + * + * Example: `false` * */ private @Nullable Boolean backup; /** - * @return Whether the load balancer should drain this server. Servers marked "drain" receive no new incoming traffic. Example: `false` + * @return (Updatable) Whether the load balancer should drain this server. Servers marked "drain" receive no new incoming traffic. Example: `false` * */ private @Nullable Boolean drain; /** - * @return The IP address of the backend server. Example: `10.0.0.3` + * @return (Updatable) The IP address of the backend server. Example: `10.0.0.3` * */ private String ipAddress; + /** + * @return (Updatable) The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then the maximum number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` + * + */ + private @Nullable Integer maxConnections; /** * @return A friendly name for the backend set. It must be unique and it cannot be changed. * @@ -39,7 +48,7 @@ public final class BackendSetBackend { */ private @Nullable String name; /** - * @return Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` + * @return (Updatable) Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` * */ private @Nullable Boolean offline; @@ -49,33 +58,44 @@ public final class BackendSetBackend { */ private Integer port; /** - * @return The load balancing policy weight assigned to the server. Backend servers with a higher weight receive a larger proportion of incoming traffic. For example, a server weighted '3' receives 3 times the number of new connections as a server weighted '1'. For more information on load balancing policies, see [How Load Balancing Policies Work](https://docs.cloud.oracle.com/iaas/Content/Balance/Reference/lbpolicies.htm). Example: `3` + * @return (Updatable) The load balancing policy weight assigned to the server. Backend servers with a higher weight receive a larger proportion of incoming traffic. For example, a server weighted '3' receives 3 times the number of new connections as a server weighted '1'. For more information on load balancing policies, see [How Load Balancing Policies Work](https://docs.cloud.oracle.com/iaas/Content/Balance/Reference/lbpolicies.htm). Example: `3` * */ private @Nullable Integer weight; private BackendSetBackend() {} /** - * @return Whether the load balancer should treat this server as a backup unit. If `true`, the load balancer forwards no ingress traffic to this backend server unless all other backend servers not marked as "backup" fail the health check policy. + * @return (Updatable) Whether the load balancer should treat this server as a backup unit. If `true`, the load balancer forwards no ingress traffic to this backend server unless all other backend servers not marked as "backup" fail the health check policy. + * + * **Note:** You cannot add a backend server marked as `backup` to a backend set that uses the IP Hash policy. + * + * Example: `false` * */ public Optional backup() { return Optional.ofNullable(this.backup); } /** - * @return Whether the load balancer should drain this server. Servers marked "drain" receive no new incoming traffic. Example: `false` + * @return (Updatable) Whether the load balancer should drain this server. Servers marked "drain" receive no new incoming traffic. Example: `false` * */ public Optional drain() { return Optional.ofNullable(this.drain); } /** - * @return The IP address of the backend server. Example: `10.0.0.3` + * @return (Updatable) The IP address of the backend server. Example: `10.0.0.3` * */ public String ipAddress() { return this.ipAddress; } + /** + * @return (Updatable) The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then the maximum number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` + * + */ + public Optional maxConnections() { + return Optional.ofNullable(this.maxConnections); + } /** * @return A friendly name for the backend set. It must be unique and it cannot be changed. * @@ -88,7 +108,7 @@ public Optional name() { return Optional.ofNullable(this.name); } /** - * @return Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` + * @return (Updatable) Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` * */ public Optional offline() { @@ -102,7 +122,7 @@ public Integer port() { return this.port; } /** - * @return The load balancing policy weight assigned to the server. Backend servers with a higher weight receive a larger proportion of incoming traffic. For example, a server weighted '3' receives 3 times the number of new connections as a server weighted '1'. For more information on load balancing policies, see [How Load Balancing Policies Work](https://docs.cloud.oracle.com/iaas/Content/Balance/Reference/lbpolicies.htm). Example: `3` + * @return (Updatable) The load balancing policy weight assigned to the server. Backend servers with a higher weight receive a larger proportion of incoming traffic. For example, a server weighted '3' receives 3 times the number of new connections as a server weighted '1'. For more information on load balancing policies, see [How Load Balancing Policies Work](https://docs.cloud.oracle.com/iaas/Content/Balance/Reference/lbpolicies.htm). Example: `3` * */ public Optional weight() { @@ -121,6 +141,7 @@ public static final class Builder { private @Nullable Boolean backup; private @Nullable Boolean drain; private String ipAddress; + private @Nullable Integer maxConnections; private @Nullable String name; private @Nullable Boolean offline; private Integer port; @@ -131,6 +152,7 @@ public Builder(BackendSetBackend defaults) { this.backup = defaults.backup; this.drain = defaults.drain; this.ipAddress = defaults.ipAddress; + this.maxConnections = defaults.maxConnections; this.name = defaults.name; this.offline = defaults.offline; this.port = defaults.port; @@ -158,6 +180,12 @@ public Builder ipAddress(String ipAddress) { return this; } @CustomType.Setter + public Builder maxConnections(@Nullable Integer maxConnections) { + + this.maxConnections = maxConnections; + return this; + } + @CustomType.Setter public Builder name(@Nullable String name) { this.name = name; @@ -188,6 +216,7 @@ public BackendSetBackend build() { _resultValue.backup = backup; _resultValue.drain = drain; _resultValue.ipAddress = ipAddress; + _resultValue.maxConnections = maxConnections; _resultValue.name = name; _resultValue.offline = offline; _resultValue.port = port; diff --git a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/GetBackendSetsBackendset.java b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/GetBackendSetsBackendset.java index 6054300402..71524c0a45 100644 --- a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/GetBackendSetsBackendset.java +++ b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/GetBackendSetsBackendset.java @@ -10,12 +10,18 @@ import com.pulumi.oci.LoadBalancer.outputs.GetBackendSetsBackendsetLbCookieSessionPersistenceConfiguration; import com.pulumi.oci.LoadBalancer.outputs.GetBackendSetsBackendsetSessionPersistenceConfiguration; import com.pulumi.oci.LoadBalancer.outputs.GetBackendSetsBackendsetSslConfiguration; +import java.lang.Integer; import java.lang.String; import java.util.List; import java.util.Objects; @CustomType public final class GetBackendSetsBackendset { + /** + * @return The maximum number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting. If this is not set then the number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting is unlimited. Example: `300` + * + */ + private Integer backendMaxConnections; private List backends; /** * @return The health check policy configuration. For more information, see [Editing Health Check Policies](https://docs.cloud.oracle.com/iaas/Content/Balance/Tasks/editinghealthcheck.htm). @@ -56,6 +62,13 @@ public final class GetBackendSetsBackendset { private String state; private GetBackendSetsBackendset() {} + /** + * @return The maximum number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting. If this is not set then the number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting is unlimited. Example: `300` + * + */ + public Integer backendMaxConnections() { + return this.backendMaxConnections; + } public List backends() { return this.backends; } @@ -124,6 +137,7 @@ public static Builder builder(GetBackendSetsBackendset defaults) { } @CustomType.Builder public static final class Builder { + private Integer backendMaxConnections; private List backends; private List healthCheckers; private String id; @@ -137,6 +151,7 @@ public static final class Builder { public Builder() {} public Builder(GetBackendSetsBackendset defaults) { Objects.requireNonNull(defaults); + this.backendMaxConnections = defaults.backendMaxConnections; this.backends = defaults.backends; this.healthCheckers = defaults.healthCheckers; this.id = defaults.id; @@ -149,6 +164,14 @@ public Builder(GetBackendSetsBackendset defaults) { this.state = defaults.state; } + @CustomType.Setter + public Builder backendMaxConnections(Integer backendMaxConnections) { + if (backendMaxConnections == null) { + throw new MissingRequiredPropertyException("GetBackendSetsBackendset", "backendMaxConnections"); + } + this.backendMaxConnections = backendMaxConnections; + return this; + } @CustomType.Setter public Builder backends(List backends) { if (backends == null) { @@ -246,6 +269,7 @@ public Builder state(String state) { } public GetBackendSetsBackendset build() { final var _resultValue = new GetBackendSetsBackendset(); + _resultValue.backendMaxConnections = backendMaxConnections; _resultValue.backends = backends; _resultValue.healthCheckers = healthCheckers; _resultValue.id = id; diff --git a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/GetBackendSetsBackendsetBackend.java b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/GetBackendSetsBackendsetBackend.java index 82dee9d6bb..6d5f60b957 100644 --- a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/GetBackendSetsBackendsetBackend.java +++ b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/GetBackendSetsBackendsetBackend.java @@ -27,6 +27,11 @@ public final class GetBackendSetsBackendsetBackend { * */ private String ipAddress; + /** + * @return The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then the maximum number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` + * + */ + private Integer maxConnections; /** * @return A friendly name for the backend set. It must be unique and it cannot be changed. * @@ -70,6 +75,13 @@ public Boolean drain() { public String ipAddress() { return this.ipAddress; } + /** + * @return The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then the maximum number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` + * + */ + public Integer maxConnections() { + return this.maxConnections; + } /** * @return A friendly name for the backend set. It must be unique and it cannot be changed. * @@ -111,6 +123,7 @@ public static final class Builder { private Boolean backup; private Boolean drain; private String ipAddress; + private Integer maxConnections; private String name; private Boolean offline; private Integer port; @@ -121,6 +134,7 @@ public Builder(GetBackendSetsBackendsetBackend defaults) { this.backup = defaults.backup; this.drain = defaults.drain; this.ipAddress = defaults.ipAddress; + this.maxConnections = defaults.maxConnections; this.name = defaults.name; this.offline = defaults.offline; this.port = defaults.port; @@ -152,6 +166,14 @@ public Builder ipAddress(String ipAddress) { return this; } @CustomType.Setter + public Builder maxConnections(Integer maxConnections) { + if (maxConnections == null) { + throw new MissingRequiredPropertyException("GetBackendSetsBackendsetBackend", "maxConnections"); + } + this.maxConnections = maxConnections; + return this; + } + @CustomType.Setter public Builder name(String name) { if (name == null) { throw new MissingRequiredPropertyException("GetBackendSetsBackendsetBackend", "name"); @@ -188,6 +210,7 @@ public GetBackendSetsBackendsetBackend build() { _resultValue.backup = backup; _resultValue.drain = drain; _resultValue.ipAddress = ipAddress; + _resultValue.maxConnections = maxConnections; _resultValue.name = name; _resultValue.offline = offline; _resultValue.port = port; diff --git a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/GetBackendsBackend.java b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/GetBackendsBackend.java index 82e98a2fe5..ab937d70ca 100644 --- a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/GetBackendsBackend.java +++ b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/GetBackendsBackend.java @@ -39,6 +39,11 @@ public final class GetBackendsBackend { * */ private String loadBalancerId; + /** + * @return The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then the maximum number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` + * + */ + private Integer maxConnections; /** * @return A read-only field showing the IP address and port that uniquely identify this backend server in the backend set. Example: `10.0.0.3:8080` * @@ -97,6 +102,13 @@ public String ipAddress() { public String loadBalancerId() { return this.loadBalancerId; } + /** + * @return The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then the maximum number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` + * + */ + public Integer maxConnections() { + return this.maxConnections; + } /** * @return A read-only field showing the IP address and port that uniquely identify this backend server in the backend set. Example: `10.0.0.3:8080` * @@ -143,6 +155,7 @@ public static final class Builder { private Boolean drain; private String ipAddress; private String loadBalancerId; + private Integer maxConnections; private String name; private Boolean offline; private Integer port; @@ -156,6 +169,7 @@ public Builder(GetBackendsBackend defaults) { this.drain = defaults.drain; this.ipAddress = defaults.ipAddress; this.loadBalancerId = defaults.loadBalancerId; + this.maxConnections = defaults.maxConnections; this.name = defaults.name; this.offline = defaults.offline; this.port = defaults.port; @@ -202,6 +216,14 @@ public Builder loadBalancerId(String loadBalancerId) { return this; } @CustomType.Setter + public Builder maxConnections(Integer maxConnections) { + if (maxConnections == null) { + throw new MissingRequiredPropertyException("GetBackendsBackend", "maxConnections"); + } + this.maxConnections = maxConnections; + return this; + } + @CustomType.Setter public Builder name(String name) { if (name == null) { throw new MissingRequiredPropertyException("GetBackendsBackend", "name"); @@ -248,6 +270,7 @@ public GetBackendsBackend build() { _resultValue.drain = drain; _resultValue.ipAddress = ipAddress; _resultValue.loadBalancerId = loadBalancerId; + _resultValue.maxConnections = maxConnections; _resultValue.name = name; _resultValue.offline = offline; _resultValue.port = port; diff --git a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/GetListenerRulesListenerRuleRule.java b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/GetListenerRulesListenerRuleRule.java index e8c8960139..7f5a608493 100644 --- a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/GetListenerRulesListenerRuleRule.java +++ b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/GetListenerRulesListenerRuleRule.java @@ -6,6 +6,7 @@ import com.pulumi.core.annotations.CustomType; import com.pulumi.exceptions.MissingRequiredPropertyException; import com.pulumi.oci.LoadBalancer.outputs.GetListenerRulesListenerRuleRuleCondition; +import com.pulumi.oci.LoadBalancer.outputs.GetListenerRulesListenerRuleRuleIpMaxConnection; import com.pulumi.oci.LoadBalancer.outputs.GetListenerRulesListenerRuleRuleRedirectUri; import java.lang.Boolean; import java.lang.Integer; @@ -16,7 +17,7 @@ @CustomType public final class GetListenerRulesListenerRuleRule { /** - * @return The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` + * @return The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `IP_BASED_MAX_CONNECTIONS`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` * */ private String action; @@ -31,6 +32,11 @@ public final class GetListenerRulesListenerRuleRule { */ private Boolean areInvalidCharactersAllowed; private List conditions; + /** + * @return The maximum number of connections that the any IP can make to a listener unless the IP is mentioned in maxConnections. If no defaultMaxConnections is specified the default is unlimited. + * + */ + private Integer defaultMaxConnections; /** * @return A brief description of the access control rule. Avoid entering confidential information. * @@ -46,6 +52,11 @@ public final class GetListenerRulesListenerRuleRule { * */ private Integer httpLargeHeaderSizeInKb; + /** + * @return An array of IPs that have a maxConnection setting different than the default and what that maxConnection setting is + * + */ + private List ipMaxConnections; /** * @return A string to prepend to the header value. The resulting header value must still conform to RFC 7230. With the following exceptions: * * value cannot contain `$` @@ -85,7 +96,7 @@ public final class GetListenerRulesListenerRuleRule { private GetListenerRulesListenerRuleRule() {} /** - * @return The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` + * @return The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `IP_BASED_MAX_CONNECTIONS`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` * */ public String action() { @@ -108,6 +119,13 @@ public Boolean areInvalidCharactersAllowed() { public List conditions() { return this.conditions; } + /** + * @return The maximum number of connections that the any IP can make to a listener unless the IP is mentioned in maxConnections. If no defaultMaxConnections is specified the default is unlimited. + * + */ + public Integer defaultMaxConnections() { + return this.defaultMaxConnections; + } /** * @return A brief description of the access control rule. Avoid entering confidential information. * @@ -129,6 +147,13 @@ public String header() { public Integer httpLargeHeaderSizeInKb() { return this.httpLargeHeaderSizeInKb; } + /** + * @return An array of IPs that have a maxConnection setting different than the default and what that maxConnection setting is + * + */ + public List ipMaxConnections() { + return this.ipMaxConnections; + } /** * @return A string to prepend to the header value. The resulting header value must still conform to RFC 7230. With the following exceptions: * * value cannot contain `$` @@ -191,9 +216,11 @@ public static final class Builder { private List allowedMethods; private Boolean areInvalidCharactersAllowed; private List conditions; + private Integer defaultMaxConnections; private String description; private String header; private Integer httpLargeHeaderSizeInKb; + private List ipMaxConnections; private String prefix; private List redirectUris; private Integer responseCode; @@ -207,9 +234,11 @@ public Builder(GetListenerRulesListenerRuleRule defaults) { this.allowedMethods = defaults.allowedMethods; this.areInvalidCharactersAllowed = defaults.areInvalidCharactersAllowed; this.conditions = defaults.conditions; + this.defaultMaxConnections = defaults.defaultMaxConnections; this.description = defaults.description; this.header = defaults.header; this.httpLargeHeaderSizeInKb = defaults.httpLargeHeaderSizeInKb; + this.ipMaxConnections = defaults.ipMaxConnections; this.prefix = defaults.prefix; this.redirectUris = defaults.redirectUris; this.responseCode = defaults.responseCode; @@ -257,6 +286,14 @@ public Builder conditions(GetListenerRulesListenerRuleRuleCondition... condition return conditions(List.of(conditions)); } @CustomType.Setter + public Builder defaultMaxConnections(Integer defaultMaxConnections) { + if (defaultMaxConnections == null) { + throw new MissingRequiredPropertyException("GetListenerRulesListenerRuleRule", "defaultMaxConnections"); + } + this.defaultMaxConnections = defaultMaxConnections; + return this; + } + @CustomType.Setter public Builder description(String description) { if (description == null) { throw new MissingRequiredPropertyException("GetListenerRulesListenerRuleRule", "description"); @@ -281,6 +318,17 @@ public Builder httpLargeHeaderSizeInKb(Integer httpLargeHeaderSizeInKb) { return this; } @CustomType.Setter + public Builder ipMaxConnections(List ipMaxConnections) { + if (ipMaxConnections == null) { + throw new MissingRequiredPropertyException("GetListenerRulesListenerRuleRule", "ipMaxConnections"); + } + this.ipMaxConnections = ipMaxConnections; + return this; + } + public Builder ipMaxConnections(GetListenerRulesListenerRuleRuleIpMaxConnection... ipMaxConnections) { + return ipMaxConnections(List.of(ipMaxConnections)); + } + @CustomType.Setter public Builder prefix(String prefix) { if (prefix == null) { throw new MissingRequiredPropertyException("GetListenerRulesListenerRuleRule", "prefix"); @@ -337,9 +385,11 @@ public GetListenerRulesListenerRuleRule build() { _resultValue.allowedMethods = allowedMethods; _resultValue.areInvalidCharactersAllowed = areInvalidCharactersAllowed; _resultValue.conditions = conditions; + _resultValue.defaultMaxConnections = defaultMaxConnections; _resultValue.description = description; _resultValue.header = header; _resultValue.httpLargeHeaderSizeInKb = httpLargeHeaderSizeInKb; + _resultValue.ipMaxConnections = ipMaxConnections; _resultValue.prefix = prefix; _resultValue.redirectUris = redirectUris; _resultValue.responseCode = responseCode; diff --git a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/GetListenerRulesListenerRuleRuleIpMaxConnection.java b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/GetListenerRulesListenerRuleRuleIpMaxConnection.java new file mode 100644 index 0000000000..2db27601f8 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/GetListenerRulesListenerRuleRuleIpMaxConnection.java @@ -0,0 +1,86 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.oci.LoadBalancer.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetListenerRulesListenerRuleRuleIpMaxConnection { + /** + * @return Each element in the list should be valid IPv4 or IPv6 CIDR Block address. Example: '["129.213.176.0/24", "150.136.187.0/24", "2002::1234:abcd:ffff:c0a8:101/64"]' + * + */ + private List ipAddresses; + /** + * @return The maximum number of simultaneous connections that the specified IPs can make to the Listener. IPs without a maxConnections setting can make either defaultMaxConnections simultaneous connections to a listener or, if no defaultMaxConnections is specified, an unlimited number of simultaneous connections to a listener. + * + */ + private Integer maxConnections; + + private GetListenerRulesListenerRuleRuleIpMaxConnection() {} + /** + * @return Each element in the list should be valid IPv4 or IPv6 CIDR Block address. Example: '["129.213.176.0/24", "150.136.187.0/24", "2002::1234:abcd:ffff:c0a8:101/64"]' + * + */ + public List ipAddresses() { + return this.ipAddresses; + } + /** + * @return The maximum number of simultaneous connections that the specified IPs can make to the Listener. IPs without a maxConnections setting can make either defaultMaxConnections simultaneous connections to a listener or, if no defaultMaxConnections is specified, an unlimited number of simultaneous connections to a listener. + * + */ + public Integer maxConnections() { + return this.maxConnections; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetListenerRulesListenerRuleRuleIpMaxConnection defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List ipAddresses; + private Integer maxConnections; + public Builder() {} + public Builder(GetListenerRulesListenerRuleRuleIpMaxConnection defaults) { + Objects.requireNonNull(defaults); + this.ipAddresses = defaults.ipAddresses; + this.maxConnections = defaults.maxConnections; + } + + @CustomType.Setter + public Builder ipAddresses(List ipAddresses) { + if (ipAddresses == null) { + throw new MissingRequiredPropertyException("GetListenerRulesListenerRuleRuleIpMaxConnection", "ipAddresses"); + } + this.ipAddresses = ipAddresses; + return this; + } + public Builder ipAddresses(String... ipAddresses) { + return ipAddresses(List.of(ipAddresses)); + } + @CustomType.Setter + public Builder maxConnections(Integer maxConnections) { + if (maxConnections == null) { + throw new MissingRequiredPropertyException("GetListenerRulesListenerRuleRuleIpMaxConnection", "maxConnections"); + } + this.maxConnections = maxConnections; + return this; + } + public GetListenerRulesListenerRuleRuleIpMaxConnection build() { + final var _resultValue = new GetListenerRulesListenerRuleRuleIpMaxConnection(); + _resultValue.ipAddresses = ipAddresses; + _resultValue.maxConnections = maxConnections; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/GetLoadBalancersLoadBalancer.java b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/GetLoadBalancersLoadBalancer.java index de43c304f6..ff36e21b43 100644 --- a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/GetLoadBalancersLoadBalancer.java +++ b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/GetLoadBalancersLoadBalancer.java @@ -38,7 +38,7 @@ public final class GetLoadBalancersLoadBalancer { */ private Map freeformTags; /** - * @return Ocid of the pre-created public IP. That should be attahed to this load balancer. + * @return Ocid of the Reserved IP/Public Ip created with VCN. * */ private String id; @@ -57,6 +57,11 @@ public final class GetLoadBalancersLoadBalancer { @Deprecated /* The 'ip_addresses' field has been deprecated. Please use 'ip_address_details' instead. */ private List ipAddresses; private String ipMode; + /** + * @return Whether or not the load balancer has delete protection enabled. + * + */ + private Boolean isDeleteProtectionEnabled; /** * @return Whether the load balancer has a VCN-local (private) IP address. * @@ -129,7 +134,7 @@ public Map freeformTags() { return this.freeformTags; } /** - * @return Ocid of the pre-created public IP. That should be attahed to this load balancer. + * @return Ocid of the Reserved IP/Public Ip created with VCN. * */ public String id() { @@ -156,6 +161,13 @@ public List ipAddresses() { public String ipMode() { return this.ipMode; } + /** + * @return Whether or not the load balancer has delete protection enabled. + * + */ + public Boolean isDeleteProtectionEnabled() { + return this.isDeleteProtectionEnabled; + } /** * @return Whether the load balancer has a VCN-local (private) IP address. * @@ -233,6 +245,7 @@ public static final class Builder { private List ipAddressDetails; private List ipAddresses; private String ipMode; + private Boolean isDeleteProtectionEnabled; private Boolean isPrivate; private List networkSecurityGroupIds; private List reservedIps; @@ -253,6 +266,7 @@ public Builder(GetLoadBalancersLoadBalancer defaults) { this.ipAddressDetails = defaults.ipAddressDetails; this.ipAddresses = defaults.ipAddresses; this.ipMode = defaults.ipMode; + this.isDeleteProtectionEnabled = defaults.isDeleteProtectionEnabled; this.isPrivate = defaults.isPrivate; this.networkSecurityGroupIds = defaults.networkSecurityGroupIds; this.reservedIps = defaults.reservedIps; @@ -335,6 +349,14 @@ public Builder ipMode(String ipMode) { return this; } @CustomType.Setter + public Builder isDeleteProtectionEnabled(Boolean isDeleteProtectionEnabled) { + if (isDeleteProtectionEnabled == null) { + throw new MissingRequiredPropertyException("GetLoadBalancersLoadBalancer", "isDeleteProtectionEnabled"); + } + this.isDeleteProtectionEnabled = isDeleteProtectionEnabled; + return this; + } + @CustomType.Setter public Builder isPrivate(Boolean isPrivate) { if (isPrivate == null) { throw new MissingRequiredPropertyException("GetLoadBalancersLoadBalancer", "isPrivate"); @@ -428,6 +450,7 @@ public GetLoadBalancersLoadBalancer build() { _resultValue.ipAddressDetails = ipAddressDetails; _resultValue.ipAddresses = ipAddresses; _resultValue.ipMode = ipMode; + _resultValue.isDeleteProtectionEnabled = isDeleteProtectionEnabled; _resultValue.isPrivate = isPrivate; _resultValue.networkSecurityGroupIds = networkSecurityGroupIds; _resultValue.reservedIps = reservedIps; diff --git a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/GetLoadBalancersLoadBalancerIpAddressDetail.java b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/GetLoadBalancersLoadBalancerIpAddressDetail.java index d097f8f2e6..21e7a075c1 100644 --- a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/GetLoadBalancersLoadBalancerIpAddressDetail.java +++ b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/GetLoadBalancersLoadBalancerIpAddressDetail.java @@ -23,10 +23,6 @@ public final class GetLoadBalancersLoadBalancerIpAddressDetail { * */ private Boolean isPublic; - /** - * @return Pre-created public IP that will be used as the IP of this load balancer. This reserved IP will not be deleted when load balancer is deleted. This ip should not be already mapped to any other resource. - * - */ private List reservedIps; private GetLoadBalancersLoadBalancerIpAddressDetail() {} @@ -44,10 +40,6 @@ public String ipAddress() { public Boolean isPublic() { return this.isPublic; } - /** - * @return Pre-created public IP that will be used as the IP of this load balancer. This reserved IP will not be deleted when load balancer is deleted. This ip should not be already mapped to any other resource. - * - */ public List reservedIps() { return this.reservedIps; } diff --git a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/GetLoadBalancersLoadBalancerIpAddressDetailReservedIp.java b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/GetLoadBalancersLoadBalancerIpAddressDetailReservedIp.java index 0cd14a37a0..ab43e9d248 100644 --- a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/GetLoadBalancersLoadBalancerIpAddressDetailReservedIp.java +++ b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/GetLoadBalancersLoadBalancerIpAddressDetailReservedIp.java @@ -11,14 +11,14 @@ @CustomType public final class GetLoadBalancersLoadBalancerIpAddressDetailReservedIp { /** - * @return Ocid of the pre-created public IP. That should be attahed to this load balancer. + * @return Ocid of the Reserved IP/Public Ip created with VCN. * */ private String id; private GetLoadBalancersLoadBalancerIpAddressDetailReservedIp() {} /** - * @return Ocid of the pre-created public IP. That should be attahed to this load balancer. + * @return Ocid of the Reserved IP/Public Ip created with VCN. * */ public String id() { diff --git a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/GetLoadBalancersLoadBalancerReservedIp.java b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/GetLoadBalancersLoadBalancerReservedIp.java index ca2d0620db..da273dd144 100644 --- a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/GetLoadBalancersLoadBalancerReservedIp.java +++ b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/GetLoadBalancersLoadBalancerReservedIp.java @@ -11,14 +11,14 @@ @CustomType public final class GetLoadBalancersLoadBalancerReservedIp { /** - * @return Ocid of the pre-created public IP. That should be attahed to this load balancer. + * @return Ocid of the Reserved IP/Public Ip created with VCN. * */ private String id; private GetLoadBalancersLoadBalancerReservedIp() {} /** - * @return Ocid of the pre-created public IP. That should be attahed to this load balancer. + * @return Ocid of the Reserved IP/Public Ip created with VCN. * */ public String id() { diff --git a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/GetRuleSetItem.java b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/GetRuleSetItem.java index e063d61936..19d0f6eee0 100644 --- a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/GetRuleSetItem.java +++ b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/GetRuleSetItem.java @@ -6,6 +6,7 @@ import com.pulumi.core.annotations.CustomType; import com.pulumi.exceptions.MissingRequiredPropertyException; import com.pulumi.oci.LoadBalancer.outputs.GetRuleSetItemCondition; +import com.pulumi.oci.LoadBalancer.outputs.GetRuleSetItemIpMaxConnection; import com.pulumi.oci.LoadBalancer.outputs.GetRuleSetItemRedirectUri; import java.lang.Boolean; import java.lang.Integer; @@ -16,7 +17,7 @@ @CustomType public final class GetRuleSetItem { /** - * @return The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` + * @return The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `IP_BASED_MAX_CONNECTIONS`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` * */ private String action; @@ -31,6 +32,11 @@ public final class GetRuleSetItem { */ private Boolean areInvalidCharactersAllowed; private List conditions; + /** + * @return The maximum number of connections that the any IP can make to a listener unless the IP is mentioned in maxConnections. If no defaultMaxConnections is specified the default is unlimited. + * + */ + private Integer defaultMaxConnections; /** * @return A brief description of the access control rule. Avoid entering confidential information. * @@ -46,6 +52,11 @@ public final class GetRuleSetItem { * */ private Integer httpLargeHeaderSizeInKb; + /** + * @return An array of IPs that have a maxConnection setting different than the default and what that maxConnection setting is + * + */ + private List ipMaxConnections; /** * @return A string to prepend to the header value. The resulting header value must still conform to RFC 7230. With the following exceptions: * * value cannot contain `$` @@ -85,7 +96,7 @@ public final class GetRuleSetItem { private GetRuleSetItem() {} /** - * @return The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` + * @return The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `IP_BASED_MAX_CONNECTIONS`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` * */ public String action() { @@ -108,6 +119,13 @@ public Boolean areInvalidCharactersAllowed() { public List conditions() { return this.conditions; } + /** + * @return The maximum number of connections that the any IP can make to a listener unless the IP is mentioned in maxConnections. If no defaultMaxConnections is specified the default is unlimited. + * + */ + public Integer defaultMaxConnections() { + return this.defaultMaxConnections; + } /** * @return A brief description of the access control rule. Avoid entering confidential information. * @@ -129,6 +147,13 @@ public String header() { public Integer httpLargeHeaderSizeInKb() { return this.httpLargeHeaderSizeInKb; } + /** + * @return An array of IPs that have a maxConnection setting different than the default and what that maxConnection setting is + * + */ + public List ipMaxConnections() { + return this.ipMaxConnections; + } /** * @return A string to prepend to the header value. The resulting header value must still conform to RFC 7230. With the following exceptions: * * value cannot contain `$` @@ -191,9 +216,11 @@ public static final class Builder { private List allowedMethods; private Boolean areInvalidCharactersAllowed; private List conditions; + private Integer defaultMaxConnections; private String description; private String header; private Integer httpLargeHeaderSizeInKb; + private List ipMaxConnections; private String prefix; private List redirectUris; private Integer responseCode; @@ -207,9 +234,11 @@ public Builder(GetRuleSetItem defaults) { this.allowedMethods = defaults.allowedMethods; this.areInvalidCharactersAllowed = defaults.areInvalidCharactersAllowed; this.conditions = defaults.conditions; + this.defaultMaxConnections = defaults.defaultMaxConnections; this.description = defaults.description; this.header = defaults.header; this.httpLargeHeaderSizeInKb = defaults.httpLargeHeaderSizeInKb; + this.ipMaxConnections = defaults.ipMaxConnections; this.prefix = defaults.prefix; this.redirectUris = defaults.redirectUris; this.responseCode = defaults.responseCode; @@ -257,6 +286,14 @@ public Builder conditions(GetRuleSetItemCondition... conditions) { return conditions(List.of(conditions)); } @CustomType.Setter + public Builder defaultMaxConnections(Integer defaultMaxConnections) { + if (defaultMaxConnections == null) { + throw new MissingRequiredPropertyException("GetRuleSetItem", "defaultMaxConnections"); + } + this.defaultMaxConnections = defaultMaxConnections; + return this; + } + @CustomType.Setter public Builder description(String description) { if (description == null) { throw new MissingRequiredPropertyException("GetRuleSetItem", "description"); @@ -281,6 +318,17 @@ public Builder httpLargeHeaderSizeInKb(Integer httpLargeHeaderSizeInKb) { return this; } @CustomType.Setter + public Builder ipMaxConnections(List ipMaxConnections) { + if (ipMaxConnections == null) { + throw new MissingRequiredPropertyException("GetRuleSetItem", "ipMaxConnections"); + } + this.ipMaxConnections = ipMaxConnections; + return this; + } + public Builder ipMaxConnections(GetRuleSetItemIpMaxConnection... ipMaxConnections) { + return ipMaxConnections(List.of(ipMaxConnections)); + } + @CustomType.Setter public Builder prefix(String prefix) { if (prefix == null) { throw new MissingRequiredPropertyException("GetRuleSetItem", "prefix"); @@ -337,9 +385,11 @@ public GetRuleSetItem build() { _resultValue.allowedMethods = allowedMethods; _resultValue.areInvalidCharactersAllowed = areInvalidCharactersAllowed; _resultValue.conditions = conditions; + _resultValue.defaultMaxConnections = defaultMaxConnections; _resultValue.description = description; _resultValue.header = header; _resultValue.httpLargeHeaderSizeInKb = httpLargeHeaderSizeInKb; + _resultValue.ipMaxConnections = ipMaxConnections; _resultValue.prefix = prefix; _resultValue.redirectUris = redirectUris; _resultValue.responseCode = responseCode; diff --git a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/GetRuleSetItemIpMaxConnection.java b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/GetRuleSetItemIpMaxConnection.java new file mode 100644 index 0000000000..7e04ed7319 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/GetRuleSetItemIpMaxConnection.java @@ -0,0 +1,86 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.oci.LoadBalancer.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetRuleSetItemIpMaxConnection { + /** + * @return Each element in the list should be valid IPv4 or IPv6 CIDR Block address. Example: '["129.213.176.0/24", "150.136.187.0/24", "2002::1234:abcd:ffff:c0a8:101/64"]' + * + */ + private List ipAddresses; + /** + * @return The maximum number of simultaneous connections that the specified IPs can make to the Listener. IPs without a maxConnections setting can make either defaultMaxConnections simultaneous connections to a listener or, if no defaultMaxConnections is specified, an unlimited number of simultaneous connections to a listener. + * + */ + private Integer maxConnections; + + private GetRuleSetItemIpMaxConnection() {} + /** + * @return Each element in the list should be valid IPv4 or IPv6 CIDR Block address. Example: '["129.213.176.0/24", "150.136.187.0/24", "2002::1234:abcd:ffff:c0a8:101/64"]' + * + */ + public List ipAddresses() { + return this.ipAddresses; + } + /** + * @return The maximum number of simultaneous connections that the specified IPs can make to the Listener. IPs without a maxConnections setting can make either defaultMaxConnections simultaneous connections to a listener or, if no defaultMaxConnections is specified, an unlimited number of simultaneous connections to a listener. + * + */ + public Integer maxConnections() { + return this.maxConnections; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetRuleSetItemIpMaxConnection defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List ipAddresses; + private Integer maxConnections; + public Builder() {} + public Builder(GetRuleSetItemIpMaxConnection defaults) { + Objects.requireNonNull(defaults); + this.ipAddresses = defaults.ipAddresses; + this.maxConnections = defaults.maxConnections; + } + + @CustomType.Setter + public Builder ipAddresses(List ipAddresses) { + if (ipAddresses == null) { + throw new MissingRequiredPropertyException("GetRuleSetItemIpMaxConnection", "ipAddresses"); + } + this.ipAddresses = ipAddresses; + return this; + } + public Builder ipAddresses(String... ipAddresses) { + return ipAddresses(List.of(ipAddresses)); + } + @CustomType.Setter + public Builder maxConnections(Integer maxConnections) { + if (maxConnections == null) { + throw new MissingRequiredPropertyException("GetRuleSetItemIpMaxConnection", "maxConnections"); + } + this.maxConnections = maxConnections; + return this; + } + public GetRuleSetItemIpMaxConnection build() { + final var _resultValue = new GetRuleSetItemIpMaxConnection(); + _resultValue.ipAddresses = ipAddresses; + _resultValue.maxConnections = maxConnections; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/GetRuleSetsRuleSetItem.java b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/GetRuleSetsRuleSetItem.java index 7221ab44de..ec405db7f6 100644 --- a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/GetRuleSetsRuleSetItem.java +++ b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/GetRuleSetsRuleSetItem.java @@ -6,6 +6,7 @@ import com.pulumi.core.annotations.CustomType; import com.pulumi.exceptions.MissingRequiredPropertyException; import com.pulumi.oci.LoadBalancer.outputs.GetRuleSetsRuleSetItemCondition; +import com.pulumi.oci.LoadBalancer.outputs.GetRuleSetsRuleSetItemIpMaxConnection; import com.pulumi.oci.LoadBalancer.outputs.GetRuleSetsRuleSetItemRedirectUri; import java.lang.Boolean; import java.lang.Integer; @@ -16,7 +17,7 @@ @CustomType public final class GetRuleSetsRuleSetItem { /** - * @return The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` + * @return The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `IP_BASED_MAX_CONNECTIONS`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` * */ private String action; @@ -31,6 +32,11 @@ public final class GetRuleSetsRuleSetItem { */ private Boolean areInvalidCharactersAllowed; private List conditions; + /** + * @return The maximum number of connections that the any IP can make to a listener unless the IP is mentioned in maxConnections. If no defaultMaxConnections is specified the default is unlimited. + * + */ + private Integer defaultMaxConnections; /** * @return A brief description of the access control rule. Avoid entering confidential information. * @@ -46,6 +52,11 @@ public final class GetRuleSetsRuleSetItem { * */ private Integer httpLargeHeaderSizeInKb; + /** + * @return An array of IPs that have a maxConnection setting different than the default and what that maxConnection setting is + * + */ + private List ipMaxConnections; /** * @return A string to prepend to the header value. The resulting header value must still conform to RFC 7230. With the following exceptions: * * value cannot contain `$` @@ -85,7 +96,7 @@ public final class GetRuleSetsRuleSetItem { private GetRuleSetsRuleSetItem() {} /** - * @return The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` + * @return The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `IP_BASED_MAX_CONNECTIONS`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` * */ public String action() { @@ -108,6 +119,13 @@ public Boolean areInvalidCharactersAllowed() { public List conditions() { return this.conditions; } + /** + * @return The maximum number of connections that the any IP can make to a listener unless the IP is mentioned in maxConnections. If no defaultMaxConnections is specified the default is unlimited. + * + */ + public Integer defaultMaxConnections() { + return this.defaultMaxConnections; + } /** * @return A brief description of the access control rule. Avoid entering confidential information. * @@ -129,6 +147,13 @@ public String header() { public Integer httpLargeHeaderSizeInKb() { return this.httpLargeHeaderSizeInKb; } + /** + * @return An array of IPs that have a maxConnection setting different than the default and what that maxConnection setting is + * + */ + public List ipMaxConnections() { + return this.ipMaxConnections; + } /** * @return A string to prepend to the header value. The resulting header value must still conform to RFC 7230. With the following exceptions: * * value cannot contain `$` @@ -191,9 +216,11 @@ public static final class Builder { private List allowedMethods; private Boolean areInvalidCharactersAllowed; private List conditions; + private Integer defaultMaxConnections; private String description; private String header; private Integer httpLargeHeaderSizeInKb; + private List ipMaxConnections; private String prefix; private List redirectUris; private Integer responseCode; @@ -207,9 +234,11 @@ public Builder(GetRuleSetsRuleSetItem defaults) { this.allowedMethods = defaults.allowedMethods; this.areInvalidCharactersAllowed = defaults.areInvalidCharactersAllowed; this.conditions = defaults.conditions; + this.defaultMaxConnections = defaults.defaultMaxConnections; this.description = defaults.description; this.header = defaults.header; this.httpLargeHeaderSizeInKb = defaults.httpLargeHeaderSizeInKb; + this.ipMaxConnections = defaults.ipMaxConnections; this.prefix = defaults.prefix; this.redirectUris = defaults.redirectUris; this.responseCode = defaults.responseCode; @@ -257,6 +286,14 @@ public Builder conditions(GetRuleSetsRuleSetItemCondition... conditions) { return conditions(List.of(conditions)); } @CustomType.Setter + public Builder defaultMaxConnections(Integer defaultMaxConnections) { + if (defaultMaxConnections == null) { + throw new MissingRequiredPropertyException("GetRuleSetsRuleSetItem", "defaultMaxConnections"); + } + this.defaultMaxConnections = defaultMaxConnections; + return this; + } + @CustomType.Setter public Builder description(String description) { if (description == null) { throw new MissingRequiredPropertyException("GetRuleSetsRuleSetItem", "description"); @@ -281,6 +318,17 @@ public Builder httpLargeHeaderSizeInKb(Integer httpLargeHeaderSizeInKb) { return this; } @CustomType.Setter + public Builder ipMaxConnections(List ipMaxConnections) { + if (ipMaxConnections == null) { + throw new MissingRequiredPropertyException("GetRuleSetsRuleSetItem", "ipMaxConnections"); + } + this.ipMaxConnections = ipMaxConnections; + return this; + } + public Builder ipMaxConnections(GetRuleSetsRuleSetItemIpMaxConnection... ipMaxConnections) { + return ipMaxConnections(List.of(ipMaxConnections)); + } + @CustomType.Setter public Builder prefix(String prefix) { if (prefix == null) { throw new MissingRequiredPropertyException("GetRuleSetsRuleSetItem", "prefix"); @@ -337,9 +385,11 @@ public GetRuleSetsRuleSetItem build() { _resultValue.allowedMethods = allowedMethods; _resultValue.areInvalidCharactersAllowed = areInvalidCharactersAllowed; _resultValue.conditions = conditions; + _resultValue.defaultMaxConnections = defaultMaxConnections; _resultValue.description = description; _resultValue.header = header; _resultValue.httpLargeHeaderSizeInKb = httpLargeHeaderSizeInKb; + _resultValue.ipMaxConnections = ipMaxConnections; _resultValue.prefix = prefix; _resultValue.redirectUris = redirectUris; _resultValue.responseCode = responseCode; diff --git a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/GetRuleSetsRuleSetItemIpMaxConnection.java b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/GetRuleSetsRuleSetItemIpMaxConnection.java new file mode 100644 index 0000000000..e80651091b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/GetRuleSetsRuleSetItemIpMaxConnection.java @@ -0,0 +1,86 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.oci.LoadBalancer.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetRuleSetsRuleSetItemIpMaxConnection { + /** + * @return Each element in the list should be valid IPv4 or IPv6 CIDR Block address. Example: '["129.213.176.0/24", "150.136.187.0/24", "2002::1234:abcd:ffff:c0a8:101/64"]' + * + */ + private List ipAddresses; + /** + * @return The maximum number of simultaneous connections that the specified IPs can make to the Listener. IPs without a maxConnections setting can make either defaultMaxConnections simultaneous connections to a listener or, if no defaultMaxConnections is specified, an unlimited number of simultaneous connections to a listener. + * + */ + private Integer maxConnections; + + private GetRuleSetsRuleSetItemIpMaxConnection() {} + /** + * @return Each element in the list should be valid IPv4 or IPv6 CIDR Block address. Example: '["129.213.176.0/24", "150.136.187.0/24", "2002::1234:abcd:ffff:c0a8:101/64"]' + * + */ + public List ipAddresses() { + return this.ipAddresses; + } + /** + * @return The maximum number of simultaneous connections that the specified IPs can make to the Listener. IPs without a maxConnections setting can make either defaultMaxConnections simultaneous connections to a listener or, if no defaultMaxConnections is specified, an unlimited number of simultaneous connections to a listener. + * + */ + public Integer maxConnections() { + return this.maxConnections; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetRuleSetsRuleSetItemIpMaxConnection defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List ipAddresses; + private Integer maxConnections; + public Builder() {} + public Builder(GetRuleSetsRuleSetItemIpMaxConnection defaults) { + Objects.requireNonNull(defaults); + this.ipAddresses = defaults.ipAddresses; + this.maxConnections = defaults.maxConnections; + } + + @CustomType.Setter + public Builder ipAddresses(List ipAddresses) { + if (ipAddresses == null) { + throw new MissingRequiredPropertyException("GetRuleSetsRuleSetItemIpMaxConnection", "ipAddresses"); + } + this.ipAddresses = ipAddresses; + return this; + } + public Builder ipAddresses(String... ipAddresses) { + return ipAddresses(List.of(ipAddresses)); + } + @CustomType.Setter + public Builder maxConnections(Integer maxConnections) { + if (maxConnections == null) { + throw new MissingRequiredPropertyException("GetRuleSetsRuleSetItemIpMaxConnection", "maxConnections"); + } + this.maxConnections = maxConnections; + return this; + } + public GetRuleSetsRuleSetItemIpMaxConnection build() { + final var _resultValue = new GetRuleSetsRuleSetItemIpMaxConnection(); + _resultValue.ipAddresses = ipAddresses; + _resultValue.maxConnections = maxConnections; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/LoadBalancerIpAddressDetail.java b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/LoadBalancerIpAddressDetail.java index dc491b5879..f3136f6d0a 100644 --- a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/LoadBalancerIpAddressDetail.java +++ b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/LoadBalancerIpAddressDetail.java @@ -24,10 +24,6 @@ public final class LoadBalancerIpAddressDetail { * */ private @Nullable Boolean isPublic; - /** - * @return Pre-created public IP that will be used as the IP of this load balancer. This reserved IP will not be deleted when load balancer is deleted. This ip should not be already mapped to any other resource. - * - */ private @Nullable List reservedIps; private LoadBalancerIpAddressDetail() {} @@ -45,10 +41,6 @@ public Optional ipAddress() { public Optional isPublic() { return Optional.ofNullable(this.isPublic); } - /** - * @return Pre-created public IP that will be used as the IP of this load balancer. This reserved IP will not be deleted when load balancer is deleted. This ip should not be already mapped to any other resource. - * - */ public List reservedIps() { return this.reservedIps == null ? List.of() : this.reservedIps; } diff --git a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/LoadBalancerIpAddressDetailReservedIp.java b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/LoadBalancerIpAddressDetailReservedIp.java index d5e9d0bcf2..80c900dfe0 100644 --- a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/LoadBalancerIpAddressDetailReservedIp.java +++ b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/LoadBalancerIpAddressDetailReservedIp.java @@ -12,14 +12,30 @@ @CustomType public final class LoadBalancerIpAddressDetailReservedIp { /** - * @return Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. + * @return Ocid of the Reserved IP/Public Ip created with VCN. + * + * Reserved IPs are IPs which already registered using VCN API. + * + * Create a reserved Public IP and then while creating the load balancer pass the ocid of the reserved IP in this field reservedIp to attach the Ip to Load balancer. Load balancer will be configured to listen to traffic on this IP. + * + * Reserved IPs will not be deleted when the Load balancer is deleted. They will be unattached from the Load balancer. + * + * Example: "ocid1.publicip.oc1.phx.unique_ID" Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. * */ private @Nullable String id; private LoadBalancerIpAddressDetailReservedIp() {} /** - * @return Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. + * @return Ocid of the Reserved IP/Public Ip created with VCN. + * + * Reserved IPs are IPs which already registered using VCN API. + * + * Create a reserved Public IP and then while creating the load balancer pass the ocid of the reserved IP in this field reservedIp to attach the Ip to Load balancer. Load balancer will be configured to listen to traffic on this IP. + * + * Reserved IPs will not be deleted when the Load balancer is deleted. They will be unattached from the Load balancer. + * + * Example: "ocid1.publicip.oc1.phx.unique_ID" Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. * */ public Optional id() { diff --git a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/LoadBalancerReservedIp.java b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/LoadBalancerReservedIp.java index 8535bf9aca..590eced7e3 100644 --- a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/LoadBalancerReservedIp.java +++ b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/LoadBalancerReservedIp.java @@ -12,14 +12,30 @@ @CustomType public final class LoadBalancerReservedIp { /** - * @return Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. + * @return Ocid of the Reserved IP/Public Ip created with VCN. + * + * Reserved IPs are IPs which already registered using VCN API. + * + * Create a reserved Public IP and then while creating the load balancer pass the ocid of the reserved IP in this field reservedIp to attach the Ip to Load balancer. Load balancer will be configured to listen to traffic on this IP. + * + * Reserved IPs will not be deleted when the Load balancer is deleted. They will be unattached from the Load balancer. + * + * Example: "ocid1.publicip.oc1.phx.unique_ID" Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. * */ private @Nullable String id; private LoadBalancerReservedIp() {} /** - * @return Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. + * @return Ocid of the Reserved IP/Public Ip created with VCN. + * + * Reserved IPs are IPs which already registered using VCN API. + * + * Create a reserved Public IP and then while creating the load balancer pass the ocid of the reserved IP in this field reservedIp to attach the Ip to Load balancer. Load balancer will be configured to listen to traffic on this IP. + * + * Reserved IPs will not be deleted when the Load balancer is deleted. They will be unattached from the Load balancer. + * + * Example: "ocid1.publicip.oc1.phx.unique_ID" Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. * */ public Optional id() { diff --git a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/RuleSetItem.java b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/RuleSetItem.java index b310e32305..ebda098e51 100644 --- a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/RuleSetItem.java +++ b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/RuleSetItem.java @@ -6,6 +6,7 @@ import com.pulumi.core.annotations.CustomType; import com.pulumi.exceptions.MissingRequiredPropertyException; import com.pulumi.oci.LoadBalancer.outputs.RuleSetItemCondition; +import com.pulumi.oci.LoadBalancer.outputs.RuleSetItemIpMaxConnection; import com.pulumi.oci.LoadBalancer.outputs.RuleSetItemRedirectUri; import java.lang.Boolean; import java.lang.Integer; @@ -18,7 +19,7 @@ @CustomType public final class RuleSetItem { /** - * @return (Updatable) The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` + * @return (Updatable) The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `IP_BASED_MAX_CONNECTIONS`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` * */ private String action; @@ -45,6 +46,11 @@ public final class RuleSetItem { * */ private @Nullable List conditions; + /** + * @return (Updatable) The maximum number of connections that the any IP can make to a listener unless the IP is mentioned in maxConnections. If no defaultMaxConnections is specified the default is unlimited. + * + */ + private @Nullable Integer defaultMaxConnections; /** * @return (Updatable) A brief description of the access control rule. Avoid entering confidential information. * @@ -62,6 +68,11 @@ public final class RuleSetItem { * */ private @Nullable Integer httpLargeHeaderSizeInKb; + /** + * @return (Updatable) An array of IPs that have a maxConnection setting different than the default and what that maxConnection setting is + * + */ + private @Nullable List ipMaxConnections; /** * @return (Updatable) A string to prepend to the header value. The resulting header value must still conform to RFC 7230. With the following exceptions: * * value cannot contain `$` @@ -141,7 +152,7 @@ public final class RuleSetItem { private RuleSetItem() {} /** - * @return (Updatable) The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` + * @return (Updatable) The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `IP_BASED_MAX_CONNECTIONS`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` * */ public String action() { @@ -176,6 +187,13 @@ public Optional areInvalidCharactersAllowed() { public List conditions() { return this.conditions == null ? List.of() : this.conditions; } + /** + * @return (Updatable) The maximum number of connections that the any IP can make to a listener unless the IP is mentioned in maxConnections. If no defaultMaxConnections is specified the default is unlimited. + * + */ + public Optional defaultMaxConnections() { + return Optional.ofNullable(this.defaultMaxConnections); + } /** * @return (Updatable) A brief description of the access control rule. Avoid entering confidential information. * @@ -199,6 +217,13 @@ public Optional header() { public Optional httpLargeHeaderSizeInKb() { return Optional.ofNullable(this.httpLargeHeaderSizeInKb); } + /** + * @return (Updatable) An array of IPs that have a maxConnection setting different than the default and what that maxConnection setting is + * + */ + public List ipMaxConnections() { + return this.ipMaxConnections == null ? List.of() : this.ipMaxConnections; + } /** * @return (Updatable) A string to prepend to the header value. The resulting header value must still conform to RFC 7230. With the following exceptions: * * value cannot contain `$` @@ -301,9 +326,11 @@ public static final class Builder { private @Nullable List allowedMethods; private @Nullable Boolean areInvalidCharactersAllowed; private @Nullable List conditions; + private @Nullable Integer defaultMaxConnections; private @Nullable String description; private @Nullable String header; private @Nullable Integer httpLargeHeaderSizeInKb; + private @Nullable List ipMaxConnections; private @Nullable String prefix; private @Nullable RuleSetItemRedirectUri redirectUri; private @Nullable Integer responseCode; @@ -317,9 +344,11 @@ public Builder(RuleSetItem defaults) { this.allowedMethods = defaults.allowedMethods; this.areInvalidCharactersAllowed = defaults.areInvalidCharactersAllowed; this.conditions = defaults.conditions; + this.defaultMaxConnections = defaults.defaultMaxConnections; this.description = defaults.description; this.header = defaults.header; this.httpLargeHeaderSizeInKb = defaults.httpLargeHeaderSizeInKb; + this.ipMaxConnections = defaults.ipMaxConnections; this.prefix = defaults.prefix; this.redirectUri = defaults.redirectUri; this.responseCode = defaults.responseCode; @@ -361,6 +390,12 @@ public Builder conditions(RuleSetItemCondition... conditions) { return conditions(List.of(conditions)); } @CustomType.Setter + public Builder defaultMaxConnections(@Nullable Integer defaultMaxConnections) { + + this.defaultMaxConnections = defaultMaxConnections; + return this; + } + @CustomType.Setter public Builder description(@Nullable String description) { this.description = description; @@ -379,6 +414,15 @@ public Builder httpLargeHeaderSizeInKb(@Nullable Integer httpLargeHeaderSizeInKb return this; } @CustomType.Setter + public Builder ipMaxConnections(@Nullable List ipMaxConnections) { + + this.ipMaxConnections = ipMaxConnections; + return this; + } + public Builder ipMaxConnections(RuleSetItemIpMaxConnection... ipMaxConnections) { + return ipMaxConnections(List.of(ipMaxConnections)); + } + @CustomType.Setter public Builder prefix(@Nullable String prefix) { this.prefix = prefix; @@ -420,9 +464,11 @@ public RuleSetItem build() { _resultValue.allowedMethods = allowedMethods; _resultValue.areInvalidCharactersAllowed = areInvalidCharactersAllowed; _resultValue.conditions = conditions; + _resultValue.defaultMaxConnections = defaultMaxConnections; _resultValue.description = description; _resultValue.header = header; _resultValue.httpLargeHeaderSizeInKb = httpLargeHeaderSizeInKb; + _resultValue.ipMaxConnections = ipMaxConnections; _resultValue.prefix = prefix; _resultValue.redirectUri = redirectUri; _resultValue.responseCode = responseCode; diff --git a/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/RuleSetItemIpMaxConnection.java b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/RuleSetItemIpMaxConnection.java new file mode 100644 index 0000000000..42421a7d13 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/oci/LoadBalancer/outputs/RuleSetItemIpMaxConnection.java @@ -0,0 +1,83 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.oci.LoadBalancer.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class RuleSetItemIpMaxConnection { + /** + * @return (Updatable) Each element in the list should be valid IPv4 or IPv6 CIDR Block address. Example: '["129.213.176.0/24", "150.136.187.0/24", "2002::1234:abcd:ffff:c0a8:101/64"]' + * + */ + private @Nullable List ipAddresses; + /** + * @return (Updatable) The maximum number of simultaneous connections that the specified IPs can make to the Listener. IPs without a maxConnections setting can make either defaultMaxConnections simultaneous connections to a listener or, if no defaultMaxConnections is specified, an unlimited number of simultaneous connections to a listener. + * + */ + private @Nullable Integer maxConnections; + + private RuleSetItemIpMaxConnection() {} + /** + * @return (Updatable) Each element in the list should be valid IPv4 or IPv6 CIDR Block address. Example: '["129.213.176.0/24", "150.136.187.0/24", "2002::1234:abcd:ffff:c0a8:101/64"]' + * + */ + public List ipAddresses() { + return this.ipAddresses == null ? List.of() : this.ipAddresses; + } + /** + * @return (Updatable) The maximum number of simultaneous connections that the specified IPs can make to the Listener. IPs without a maxConnections setting can make either defaultMaxConnections simultaneous connections to a listener or, if no defaultMaxConnections is specified, an unlimited number of simultaneous connections to a listener. + * + */ + public Optional maxConnections() { + return Optional.ofNullable(this.maxConnections); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RuleSetItemIpMaxConnection defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List ipAddresses; + private @Nullable Integer maxConnections; + public Builder() {} + public Builder(RuleSetItemIpMaxConnection defaults) { + Objects.requireNonNull(defaults); + this.ipAddresses = defaults.ipAddresses; + this.maxConnections = defaults.maxConnections; + } + + @CustomType.Setter + public Builder ipAddresses(@Nullable List ipAddresses) { + + this.ipAddresses = ipAddresses; + return this; + } + public Builder ipAddresses(String... ipAddresses) { + return ipAddresses(List.of(ipAddresses)); + } + @CustomType.Setter + public Builder maxConnections(@Nullable Integer maxConnections) { + + this.maxConnections = maxConnections; + return this; + } + public RuleSetItemIpMaxConnection build() { + final var _resultValue = new RuleSetItemIpMaxConnection(); + _resultValue.ipAddresses = ipAddresses; + _resultValue.maxConnections = maxConnections; + return _resultValue; + } + } +} diff --git a/sdk/nodejs/database/cloudExadataInfrastructure.ts b/sdk/nodejs/database/cloudExadataInfrastructure.ts index aa549c1ed9..b168e6be29 100644 --- a/sdk/nodejs/database/cloudExadataInfrastructure.ts +++ b/sdk/nodejs/database/cloudExadataInfrastructure.ts @@ -135,6 +135,10 @@ export class CloudExadataInfrastructure extends pulumi.CustomResource { * The software version of the database servers (dom0) in the cloud Exadata infrastructure. Example: 20.1.15 */ public /*out*/ readonly dbServerVersion!: pulumi.Output; + /** + * Details of the file system configuration of the Exadata infrastructure. + */ + public /*out*/ readonly definedFileSystemConfigurations!: pulumi.Output; /** * (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). */ @@ -249,6 +253,7 @@ export class CloudExadataInfrastructure extends pulumi.CustomResource { resourceInputs["dataStorageSizeInTbs"] = state ? state.dataStorageSizeInTbs : undefined; resourceInputs["dbNodeStorageSizeInGbs"] = state ? state.dbNodeStorageSizeInGbs : undefined; resourceInputs["dbServerVersion"] = state ? state.dbServerVersion : undefined; + resourceInputs["definedFileSystemConfigurations"] = state ? state.definedFileSystemConfigurations : undefined; resourceInputs["definedTags"] = state ? state.definedTags : undefined; resourceInputs["displayName"] = state ? state.displayName : undefined; resourceInputs["freeformTags"] = state ? state.freeformTags : undefined; @@ -302,6 +307,7 @@ export class CloudExadataInfrastructure extends pulumi.CustomResource { resourceInputs["dataStorageSizeInTbs"] = undefined /*out*/; resourceInputs["dbNodeStorageSizeInGbs"] = undefined /*out*/; resourceInputs["dbServerVersion"] = undefined /*out*/; + resourceInputs["definedFileSystemConfigurations"] = undefined /*out*/; resourceInputs["lastMaintenanceRunId"] = undefined /*out*/; resourceInputs["lifecycleDetails"] = undefined /*out*/; resourceInputs["maxCpuCount"] = undefined /*out*/; @@ -375,6 +381,10 @@ export interface CloudExadataInfrastructureState { * The software version of the database servers (dom0) in the cloud Exadata infrastructure. Example: 20.1.15 */ dbServerVersion?: pulumi.Input; + /** + * Details of the file system configuration of the Exadata infrastructure. + */ + definedFileSystemConfigurations?: pulumi.Input[]>; /** * (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). */ diff --git a/sdk/nodejs/database/cloudVmCluster.ts b/sdk/nodejs/database/cloudVmCluster.ts index fbe16be3c7..5e673a19bf 100644 --- a/sdk/nodejs/database/cloudVmCluster.ts +++ b/sdk/nodejs/database/cloudVmCluster.ts @@ -40,6 +40,10 @@ import * as utilities from "../utilities"; * dbServers: cloudVmClusterDbServers, * definedTags: cloudVmClusterDefinedTags, * domain: cloudVmClusterDomain, + * fileSystemConfigurationDetails: [{ + * fileSystemSizeGb: cloudVmClusterFileSystemConfigurationDetailsFileSystemSizeGb, + * mountPoint: cloudVmClusterFileSystemConfigurationDetailsMountPoint, + * }], * freeformTags: { * Department: "Finance", * }, @@ -165,6 +169,10 @@ export class CloudVmCluster extends pulumi.CustomResource { * A domain name used for the cloud VM cluster. If the Oracle-provided internet and VCN resolver is enabled for the specified subnet, the domain name for the subnet is used (do not provide one). Otherwise, provide a valid DNS domain name. Hyphens (-) are not permitted. Applies to Exadata Cloud Service instances only. */ public readonly domain!: pulumi.Output; + /** + * (Updatable) Details of the file system configuration of the VM cluster. + */ + public readonly fileSystemConfigurationDetails!: pulumi.Output; /** * (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` */ @@ -329,6 +337,7 @@ export class CloudVmCluster extends pulumi.CustomResource { resourceInputs["diskRedundancy"] = state ? state.diskRedundancy : undefined; resourceInputs["displayName"] = state ? state.displayName : undefined; resourceInputs["domain"] = state ? state.domain : undefined; + resourceInputs["fileSystemConfigurationDetails"] = state ? state.fileSystemConfigurationDetails : undefined; resourceInputs["freeformTags"] = state ? state.freeformTags : undefined; resourceInputs["giVersion"] = state ? state.giVersion : undefined; resourceInputs["hostname"] = state ? state.hostname : undefined; @@ -404,6 +413,7 @@ export class CloudVmCluster extends pulumi.CustomResource { resourceInputs["definedTags"] = args ? args.definedTags : undefined; resourceInputs["displayName"] = args ? args.displayName : undefined; resourceInputs["domain"] = args ? args.domain : undefined; + resourceInputs["fileSystemConfigurationDetails"] = args ? args.fileSystemConfigurationDetails : undefined; resourceInputs["freeformTags"] = args ? args.freeformTags : undefined; resourceInputs["giVersion"] = args ? args.giVersion : undefined; resourceInputs["hostname"] = args ? args.hostname : undefined; @@ -519,6 +529,10 @@ export interface CloudVmClusterState { * A domain name used for the cloud VM cluster. If the Oracle-provided internet and VCN resolver is enabled for the specified subnet, the domain name for the subnet is used (do not provide one). Otherwise, provide a valid DNS domain name. Hyphens (-) are not permitted. Applies to Exadata Cloud Service instances only. */ domain?: pulumi.Input; + /** + * (Updatable) Details of the file system configuration of the VM cluster. + */ + fileSystemConfigurationDetails?: pulumi.Input[]>; /** * (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` */ @@ -722,6 +736,10 @@ export interface CloudVmClusterArgs { * A domain name used for the cloud VM cluster. If the Oracle-provided internet and VCN resolver is enabled for the specified subnet, the domain name for the subnet is used (do not provide one). Otherwise, provide a valid DNS domain name. Hyphens (-) are not permitted. Applies to Exadata Cloud Service instances only. */ domain?: pulumi.Input; + /** + * (Updatable) Details of the file system configuration of the VM cluster. + */ + fileSystemConfigurationDetails?: pulumi.Input[]>; /** * (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` */ diff --git a/sdk/nodejs/database/getCloudExadataInfrastructure.ts b/sdk/nodejs/database/getCloudExadataInfrastructure.ts index d29d9ffc01..7bfe1d8cc6 100644 --- a/sdk/nodejs/database/getCloudExadataInfrastructure.ts +++ b/sdk/nodejs/database/getCloudExadataInfrastructure.ts @@ -93,6 +93,10 @@ export interface GetCloudExadataInfrastructureResult { * The software version of the database servers (dom0) in the cloud Exadata infrastructure. Example: 20.1.15 */ readonly dbServerVersion: string; + /** + * Details of the file system configuration of the Exadata infrastructure. + */ + readonly definedFileSystemConfigurations: outputs.Database.GetCloudExadataInfrastructureDefinedFileSystemConfiguration[]; /** * Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). */ diff --git a/sdk/nodejs/database/getCloudVmCluster.ts b/sdk/nodejs/database/getCloudVmCluster.ts index 2e9b54423e..6b75ae469c 100644 --- a/sdk/nodejs/database/getCloudVmCluster.ts +++ b/sdk/nodejs/database/getCloudVmCluster.ts @@ -110,6 +110,10 @@ export interface GetCloudVmClusterResult { * The domain name for the cloud VM cluster. */ readonly domain: string; + /** + * Details of the file system configuration of the VM cluster. + */ + readonly fileSystemConfigurationDetails: outputs.Database.GetCloudVmClusterFileSystemConfigurationDetail[]; /** * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` */ diff --git a/sdk/nodejs/loadbalancer/backend.ts b/sdk/nodejs/loadbalancer/backend.ts index 5561afeb60..b07624f3c0 100644 --- a/sdk/nodejs/loadbalancer/backend.ts +++ b/sdk/nodejs/loadbalancer/backend.ts @@ -22,6 +22,7 @@ import * as utilities from "../utilities"; * port: backendPort, * backup: backendBackup, * drain: backendDrain, + * maxConnections: backendMaxConnections, * offline: backendOffline, * weight: backendWeight, * }); @@ -87,6 +88,10 @@ export class Backend extends pulumi.CustomResource { * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the load balancer associated with the backend set and servers. */ public readonly loadBalancerId!: pulumi.Output; + /** + * (Updatable) The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` + */ + public readonly maxConnections!: pulumi.Output; /** * A read-only field showing the IP address and port that uniquely identify this backend server in the backend set. Example: `10.0.0.3:8080` */ @@ -127,6 +132,7 @@ export class Backend extends pulumi.CustomResource { resourceInputs["drain"] = state ? state.drain : undefined; resourceInputs["ipAddress"] = state ? state.ipAddress : undefined; resourceInputs["loadBalancerId"] = state ? state.loadBalancerId : undefined; + resourceInputs["maxConnections"] = state ? state.maxConnections : undefined; resourceInputs["name"] = state ? state.name : undefined; resourceInputs["offline"] = state ? state.offline : undefined; resourceInputs["port"] = state ? state.port : undefined; @@ -151,6 +157,7 @@ export class Backend extends pulumi.CustomResource { resourceInputs["drain"] = args ? args.drain : undefined; resourceInputs["ipAddress"] = args ? args.ipAddress : undefined; resourceInputs["loadBalancerId"] = args ? args.loadBalancerId : undefined; + resourceInputs["maxConnections"] = args ? args.maxConnections : undefined; resourceInputs["offline"] = args ? args.offline : undefined; resourceInputs["port"] = args ? args.port : undefined; resourceInputs["weight"] = args ? args.weight : undefined; @@ -190,6 +197,10 @@ export interface BackendState { * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the load balancer associated with the backend set and servers. */ loadBalancerId?: pulumi.Input; + /** + * (Updatable) The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` + */ + maxConnections?: pulumi.Input; /** * A read-only field showing the IP address and port that uniquely identify this backend server in the backend set. Example: `10.0.0.3:8080` */ @@ -241,6 +252,10 @@ export interface BackendArgs { * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the load balancer associated with the backend set and servers. */ loadBalancerId: pulumi.Input; + /** + * (Updatable) The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` + */ + maxConnections?: pulumi.Input; /** * (Updatable) Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` */ diff --git a/sdk/nodejs/loadbalancer/backendSet.ts b/sdk/nodejs/loadbalancer/backendSet.ts index f1e763e777..54f6cfb6dd 100644 --- a/sdk/nodejs/loadbalancer/backendSet.ts +++ b/sdk/nodejs/loadbalancer/backendSet.ts @@ -36,6 +36,7 @@ import * as utilities from "../utilities"; * loadBalancerId: testLoadBalancer.id, * name: backendSetName, * policy: backendSetPolicy, + * backendMaxConnections: backendSetBackendMaxConnections, * lbCookieSessionPersistenceConfiguration: { * cookieName: backendSetLbCookieSessionPersistenceConfigurationCookieName, * disableFallback: backendSetLbCookieSessionPersistenceConfigurationDisableFallback, @@ -101,6 +102,13 @@ export class BackendSet extends pulumi.CustomResource { return obj['__pulumiType'] === BackendSet.__pulumiType; } + /** + * (Updatable) The maximum number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting. If this is not set then the number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting is unlimited. Example: `300` + */ + public readonly backendMaxConnections!: pulumi.Output; + /** + * (Updatable) + */ public /*out*/ readonly backends!: pulumi.Output; /** * (Updatable) The health check policy's configuration details. @@ -177,6 +185,7 @@ export class BackendSet extends pulumi.CustomResource { opts = opts || {}; if (opts.id) { const state = argsOrState as BackendSetState | undefined; + resourceInputs["backendMaxConnections"] = state ? state.backendMaxConnections : undefined; resourceInputs["backends"] = state ? state.backends : undefined; resourceInputs["healthChecker"] = state ? state.healthChecker : undefined; resourceInputs["lbCookieSessionPersistenceConfiguration"] = state ? state.lbCookieSessionPersistenceConfiguration : undefined; @@ -197,6 +206,7 @@ export class BackendSet extends pulumi.CustomResource { if ((!args || args.policy === undefined) && !opts.urn) { throw new Error("Missing required property 'policy'"); } + resourceInputs["backendMaxConnections"] = args ? args.backendMaxConnections : undefined; resourceInputs["healthChecker"] = args ? args.healthChecker : undefined; resourceInputs["lbCookieSessionPersistenceConfiguration"] = args ? args.lbCookieSessionPersistenceConfiguration : undefined; resourceInputs["loadBalancerId"] = args ? args.loadBalancerId : undefined; @@ -216,6 +226,13 @@ export class BackendSet extends pulumi.CustomResource { * Input properties used for looking up and filtering BackendSet resources. */ export interface BackendSetState { + /** + * (Updatable) The maximum number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting. If this is not set then the number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting is unlimited. Example: `300` + */ + backendMaxConnections?: pulumi.Input; + /** + * (Updatable) + */ backends?: pulumi.Input[]>; /** * (Updatable) The health check policy's configuration details. @@ -284,6 +301,10 @@ export interface BackendSetState { * The set of arguments for constructing a BackendSet resource. */ export interface BackendSetArgs { + /** + * (Updatable) The maximum number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting. If this is not set then the number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting is unlimited. Example: `300` + */ + backendMaxConnections?: pulumi.Input; /** * (Updatable) The health check policy's configuration details. */ diff --git a/sdk/nodejs/loadbalancer/getListenerRules.ts b/sdk/nodejs/loadbalancer/getListenerRules.ts index 703dbc4496..e3e4e71e78 100644 --- a/sdk/nodejs/loadbalancer/getListenerRules.ts +++ b/sdk/nodejs/loadbalancer/getListenerRules.ts @@ -45,7 +45,7 @@ export function getListenerRules(args: GetListenerRulesArgs, opts?: pulumi.Invok export interface GetListenerRulesArgs { filters?: inputs.LoadBalancer.GetListenerRulesFilter[]; /** - * The name of the listener the rules are associated with. + * The name of the listener the rules are associated with. Example: `exampleListener` */ listenerName: string; /** @@ -103,7 +103,7 @@ export function getListenerRulesOutput(args: GetListenerRulesOutputArgs, opts?: export interface GetListenerRulesOutputArgs { filters?: pulumi.Input[]>; /** - * The name of the listener the rules are associated with. + * The name of the listener the rules are associated with. Example: `exampleListener` */ listenerName: pulumi.Input; /** diff --git a/sdk/nodejs/loadbalancer/loadBalancer.ts b/sdk/nodejs/loadbalancer/loadBalancer.ts index 370845b258..40069264fd 100644 --- a/sdk/nodejs/loadbalancer/loadBalancer.ts +++ b/sdk/nodejs/loadbalancer/loadBalancer.ts @@ -56,6 +56,7 @@ import * as utilities from "../utilities"; * Department: "Finance", * }, * ipMode: loadBalancerIpMode, + * isDeleteProtectionEnabled: loadBalancerIsDeleteProtectionEnabled, * isPrivate: loadBalancerIsPrivate, * networkSecurityGroupIds: loadBalancerNetworkSecurityGroupIds, * reservedIps: [{ @@ -140,6 +141,16 @@ export class LoadBalancer extends pulumi.CustomResource { * Example: "ipMode":"IPV6" */ public readonly ipMode!: pulumi.Output; + /** + * (Updatable) Whether or not the load balancer has delete protection enabled. + * + * If "true", the loadbalancer will be protected against deletion if configured to accept traffic. + * + * If "false", the loadbalancer will not be protected against deletion. + * + * Delete protection will not be enabled unless a value of "true" is provided. Example: `true` + */ + public readonly isDeleteProtectionEnabled!: pulumi.Output; /** * Whether the load balancer has a VCN-local (private) IP address. * @@ -169,7 +180,7 @@ export class LoadBalancer extends pulumi.CustomResource { */ public readonly reservedIps!: pulumi.Output; /** - * (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: Starting May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. + * (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: After May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. */ public readonly shape!: pulumi.Output; /** @@ -217,6 +228,7 @@ export class LoadBalancer extends pulumi.CustomResource { resourceInputs["ipAddressDetails"] = state ? state.ipAddressDetails : undefined; resourceInputs["ipAddresses"] = state ? state.ipAddresses : undefined; resourceInputs["ipMode"] = state ? state.ipMode : undefined; + resourceInputs["isDeleteProtectionEnabled"] = state ? state.isDeleteProtectionEnabled : undefined; resourceInputs["isPrivate"] = state ? state.isPrivate : undefined; resourceInputs["networkSecurityGroupIds"] = state ? state.networkSecurityGroupIds : undefined; resourceInputs["reservedIps"] = state ? state.reservedIps : undefined; @@ -245,6 +257,7 @@ export class LoadBalancer extends pulumi.CustomResource { resourceInputs["displayName"] = args ? args.displayName : undefined; resourceInputs["freeformTags"] = args ? args.freeformTags : undefined; resourceInputs["ipMode"] = args ? args.ipMode : undefined; + resourceInputs["isDeleteProtectionEnabled"] = args ? args.isDeleteProtectionEnabled : undefined; resourceInputs["isPrivate"] = args ? args.isPrivate : undefined; resourceInputs["networkSecurityGroupIds"] = args ? args.networkSecurityGroupIds : undefined; resourceInputs["reservedIps"] = args ? args.reservedIps : undefined; @@ -302,6 +315,16 @@ export interface LoadBalancerState { * Example: "ipMode":"IPV6" */ ipMode?: pulumi.Input; + /** + * (Updatable) Whether or not the load balancer has delete protection enabled. + * + * If "true", the loadbalancer will be protected against deletion if configured to accept traffic. + * + * If "false", the loadbalancer will not be protected against deletion. + * + * Delete protection will not be enabled unless a value of "true" is provided. Example: `true` + */ + isDeleteProtectionEnabled?: pulumi.Input; /** * Whether the load balancer has a VCN-local (private) IP address. * @@ -331,7 +354,7 @@ export interface LoadBalancerState { */ reservedIps?: pulumi.Input[]>; /** - * (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: Starting May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. + * (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: After May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. */ shape?: pulumi.Input; /** @@ -390,6 +413,16 @@ export interface LoadBalancerArgs { * Example: "ipMode":"IPV6" */ ipMode?: pulumi.Input; + /** + * (Updatable) Whether or not the load balancer has delete protection enabled. + * + * If "true", the loadbalancer will be protected against deletion if configured to accept traffic. + * + * If "false", the loadbalancer will not be protected against deletion. + * + * Delete protection will not be enabled unless a value of "true" is provided. Example: `true` + */ + isDeleteProtectionEnabled?: pulumi.Input; /** * Whether the load balancer has a VCN-local (private) IP address. * @@ -419,7 +452,7 @@ export interface LoadBalancerArgs { */ reservedIps?: pulumi.Input[]>; /** - * (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: Starting May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. + * (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: After May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. */ shape: pulumi.Input; /** diff --git a/sdk/nodejs/loadbalancer/ruleSet.ts b/sdk/nodejs/loadbalancer/ruleSet.ts index 882b67e772..de79d3a1df 100644 --- a/sdk/nodejs/loadbalancer/ruleSet.ts +++ b/sdk/nodejs/loadbalancer/ruleSet.ts @@ -28,9 +28,14 @@ import * as utilities from "../utilities"; * attributeValue: ruleSetItemsConditionsAttributeValue, * operator: ruleSetItemsConditionsOperator, * }], + * defaultMaxConnections: ruleSetItemsDefaultMaxConnections, * description: ruleSetItemsDescription, * header: ruleSetItemsHeader, * httpLargeHeaderSizeInKb: ruleSetItemsHttpLargeHeaderSizeInKb, + * ipMaxConnections: [{ + * ipAddresses: ruleSetItemsIpMaxConnectionsIpAddresses, + * maxConnections: ruleSetItemsIpMaxConnectionsMaxConnections, + * }], * prefix: ruleSetItemsPrefix, * redirectUri: { * host: ruleSetItemsRedirectUriHost, diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index 378cde1150..17f045b956 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -24223,6 +24223,25 @@ export namespace Database { email?: pulumi.Input; } + export interface CloudExadataInfrastructureDefinedFileSystemConfiguration { + /** + * If true, the file system is used to create a backup prior to Exadata VM OS update. + */ + isBackupPartition?: pulumi.Input; + /** + * If true, the file system resize is allowed for the Exadata Infrastructure cluster. If false, the file system resize is not allowed. + */ + isResizable?: pulumi.Input; + /** + * The minimum size of file system. + */ + minSizeGb?: pulumi.Input; + /** + * The mount point of file system. + */ + mountPoint?: pulumi.Input; + } + export interface CloudExadataInfrastructureMaintenanceWindow { /** * (Updatable) Determines the amount of time the system will wait before the start of each database server patching operation. Custom action timeout is in minutes and valid value is between 15 to 120 (inclusive). @@ -24299,6 +24318,17 @@ export namespace Database { isIncidentLogsEnabled?: pulumi.Input; } + export interface CloudVmClusterFileSystemConfigurationDetail { + /** + * (Updatable) The file system size to be allocated in GBs. + */ + fileSystemSizeGb?: pulumi.Input; + /** + * (Updatable) The mount point of file system. + */ + mountPoint?: pulumi.Input; + } + export interface CloudVmClusterIormConfigCach { /** * An array of IORM settings for all the database in the Exadata DB system. @@ -32352,6 +32382,10 @@ export namespace DisasterRecovery { * The unique id of the step. Must not be modified by the user. Example: `sgid1.step..uniqueID` */ id?: pulumi.Input; + /** + * A flag indicating whether this group should be enabled for execution. This flag is only applicable to the `USER_DEFINED_PAUSE` group. The flag should be null for the remaining group types. Example: `true` + */ + isPauseEnabled?: pulumi.Input; /** * The list of steps in the group. */ @@ -63286,17 +63320,25 @@ export namespace Limits { export namespace LoadBalancer { export interface BackendSetBackend { /** - * Whether the load balancer should treat this server as a backup unit. If `true`, the load balancer forwards no ingress traffic to this backend server unless all other backend servers not marked as "backup" fail the health check policy. + * (Updatable) Whether the load balancer should treat this server as a backup unit. If `true`, the load balancer forwards no ingress traffic to this backend server unless all other backend servers not marked as "backup" fail the health check policy. + * + * **Note:** You cannot add a backend server marked as `backup` to a backend set that uses the IP Hash policy. + * + * Example: `false` */ backup?: pulumi.Input; /** - * Whether the load balancer should drain this server. Servers marked "drain" receive no new incoming traffic. Example: `false` + * (Updatable) Whether the load balancer should drain this server. Servers marked "drain" receive no new incoming traffic. Example: `false` */ drain?: pulumi.Input; /** - * The IP address of the backend server. Example: `10.0.0.3` + * (Updatable) The IP address of the backend server. Example: `10.0.0.3` */ ipAddress: pulumi.Input; + /** + * (Updatable) The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then the maximum number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` + */ + maxConnections?: pulumi.Input; /** * A friendly name for the backend set. It must be unique and it cannot be changed. * @@ -63306,7 +63348,7 @@ export namespace LoadBalancer { */ name?: pulumi.Input; /** - * Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` + * (Updatable) Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` */ offline?: pulumi.Input; /** @@ -63314,7 +63356,7 @@ export namespace LoadBalancer { */ port: pulumi.Input; /** - * The load balancing policy weight assigned to the server. Backend servers with a higher weight receive a larger proportion of incoming traffic. For example, a server weighted '3' receives 3 times the number of new connections as a server weighted '1'. For more information on load balancing policies, see [How Load Balancing Policies Work](https://docs.cloud.oracle.com/iaas/Content/Balance/Reference/lbpolicies.htm). Example: `3` + * (Updatable) The load balancing policy weight assigned to the server. Backend servers with a higher weight receive a larger proportion of incoming traffic. For example, a server weighted '3' receives 3 times the number of new connections as a server weighted '1'. For more information on load balancing policies, see [How Load Balancing Policies Work](https://docs.cloud.oracle.com/iaas/Content/Balance/Reference/lbpolicies.htm). Example: `3` */ weight?: pulumi.Input; } @@ -63825,22 +63867,35 @@ export namespace LoadBalancer { * Whether the IP address is public or private. */ isPublic?: pulumi.Input; - /** - * Pre-created public IP that will be used as the IP of this load balancer. This reserved IP will not be deleted when load balancer is deleted. This ip should not be already mapped to any other resource. - */ reservedIps?: pulumi.Input[]>; } export interface LoadBalancerIpAddressDetailReservedIp { /** - * Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `privateIpId` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. + * Ocid of the Reserved IP/Public Ip created with VCN. + * + * Reserved IPs are IPs which already registered using VCN API. + * + * Create a reserved Public IP and then while creating the load balancer pass the ocid of the reserved IP in this field reservedIp to attach the Ip to Load balancer. Load balancer will be configured to listen to traffic on this IP. + * + * Reserved IPs will not be deleted when the Load balancer is deleted. They will be unattached from the Load balancer. + * + * Example: "ocid1.publicip.oc1.phx.unique_ID" Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `privateIpId` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. */ id?: pulumi.Input; } export interface LoadBalancerReservedIp { /** - * Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `privateIpId` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. + * Ocid of the Reserved IP/Public Ip created with VCN. + * + * Reserved IPs are IPs which already registered using VCN API. + * + * Create a reserved Public IP and then while creating the load balancer pass the ocid of the reserved IP in this field reservedIp to attach the Ip to Load balancer. Load balancer will be configured to listen to traffic on this IP. + * + * Reserved IPs will not be deleted when the Load balancer is deleted. They will be unattached from the Load balancer. + * + * Example: "ocid1.publicip.oc1.phx.unique_ID" Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `privateIpId` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. */ id?: pulumi.Input; } @@ -63933,7 +63988,7 @@ export namespace LoadBalancer { export interface RuleSetItem { /** - * (Updatable) The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` + * (Updatable) The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `IP_BASED_MAX_CONNECTIONS`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` */ action: pulumi.Input; /** @@ -63956,6 +64011,10 @@ export namespace LoadBalancer { * (Updatable) */ conditions?: pulumi.Input[]>; + /** + * (Updatable) The maximum number of connections that the any IP can make to a listener unless the IP is mentioned in maxConnections. If no defaultMaxConnections is specified the default is unlimited. + */ + defaultMaxConnections?: pulumi.Input; /** * (Updatable) A brief description of the access control rule. Avoid entering confidential information. * @@ -63970,6 +64029,10 @@ export namespace LoadBalancer { * (Updatable) The maximum size of each buffer used for reading http client request header. This value indicates the maximum size allowed for each buffer. The allowed values for buffer size are 8, 16, 32 and 64. */ httpLargeHeaderSizeInKb?: pulumi.Input; + /** + * (Updatable) An array of IPs that have a maxConnection setting different than the default and what that maxConnection setting is + */ + ipMaxConnections?: pulumi.Input[]>; /** * (Updatable) A string to prepend to the header value. The resulting header value must still conform to RFC 7230. With the following exceptions: * * value cannot contain `$` @@ -64064,6 +64127,17 @@ export namespace LoadBalancer { operator?: pulumi.Input; } + export interface RuleSetItemIpMaxConnection { + /** + * (Updatable) Each element in the list should be valid IPv4 or IPv6 CIDR Block address. Example: '["129.213.176.0/24", "150.136.187.0/24", "2002::1234:abcd:ffff:c0a8:101/64"]' + */ + ipAddresses?: pulumi.Input[]>; + /** + * (Updatable) The maximum number of simultaneous connections that the specified IPs can make to the Listener. IPs without a maxConnections setting can make either defaultMaxConnections simultaneous connections to a listener or, if no defaultMaxConnections is specified, an unlimited number of simultaneous connections to a listener. + */ + maxConnections?: pulumi.Input; + } + export interface RuleSetItemRedirectUri { /** * (Updatable) The valid domain name (hostname) or IP address to use in the redirect URI. diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index e85bcc2aea..f46c23ed25 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -78441,6 +78441,25 @@ export namespace Database { email: string; } + export interface CloudExadataInfrastructureDefinedFileSystemConfiguration { + /** + * If true, the file system is used to create a backup prior to Exadata VM OS update. + */ + isBackupPartition: boolean; + /** + * If true, the file system resize is allowed for the Exadata Infrastructure cluster. If false, the file system resize is not allowed. + */ + isResizable: boolean; + /** + * The minimum size of file system. + */ + minSizeGb: number; + /** + * The mount point of file system. + */ + mountPoint: string; + } + export interface CloudExadataInfrastructureMaintenanceWindow { /** * (Updatable) Determines the amount of time the system will wait before the start of each database server patching operation. Custom action timeout is in minutes and valid value is between 15 to 120 (inclusive). @@ -78517,6 +78536,17 @@ export namespace Database { isIncidentLogsEnabled: boolean; } + export interface CloudVmClusterFileSystemConfigurationDetail { + /** + * (Updatable) The file system size to be allocated in GBs. + */ + fileSystemSizeGb: number; + /** + * (Updatable) The mount point of file system. + */ + mountPoint: string; + } + export interface CloudVmClusterIormConfigCach { /** * An array of IORM settings for all the database in the Exadata DB system. @@ -80496,13 +80526,10 @@ export namespace Database { maintenanceWindows: outputs.Database.GetAutonomousContainerDatabasesAutonomousContainerDatabaseMaintenanceWindow[]; /** * The amount of memory (in GBs) enabled per ECPU or OCPU in the Autonomous VM Cluster. - * <<<<<<< HEAD */ memoryPerOracleComputeUnitInGbs: number; /** * Enabling SHARED server architecture enables a database server to allow many client processes to share very few server processes, thereby increasing the number of supported users. - * ======= - * >>>>>>> 22609d6059 (Added - Support for Oracle Home Version Control - Phase 2 | ADB-D and ADB-C@C) */ netServicesArchitecture: string; /** @@ -84846,6 +84873,25 @@ export namespace Database { email: string; } + export interface GetCloudExadataInfrastructureDefinedFileSystemConfiguration { + /** + * If true, the file system is used to create a backup prior to Exadata VM OS update. + */ + isBackupPartition: boolean; + /** + * If true, the file system resize is allowed for the Exadata Infrastructure cluster. If false, the file system resize is not allowed. + */ + isResizable: boolean; + /** + * The minimum size of file system. + */ + minSizeGb: number; + /** + * The mount point of file system. + */ + mountPoint: string; + } + export interface GetCloudExadataInfrastructureMaintenanceWindow { /** * Determines the amount of time the system will wait before the start of each database server patching operation. Custom action timeout is in minutes and valid value is between 15 to 120 (inclusive). @@ -84965,6 +85011,10 @@ export namespace Database { * The software version of the database servers (dom0) in the cloud Exadata infrastructure. Example: 20.1.15 */ dbServerVersion: string; + /** + * Details of the file system configuration of the Exadata infrastructure. + */ + definedFileSystemConfigurations: outputs.Database.GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfiguration[]; /** * Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). */ @@ -85062,6 +85112,25 @@ export namespace Database { email: string; } + export interface GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfiguration { + /** + * If true, the file system is used to create a backup prior to Exadata VM OS update. + */ + isBackupPartition: boolean; + /** + * If true, the file system resize is allowed for the Exadata Infrastructure cluster. If false, the file system resize is not allowed. + */ + isResizable: boolean; + /** + * The minimum size of file system. + */ + minSizeGb: number; + /** + * The mount point of file system. + */ + mountPoint: string; + } + export interface GetCloudExadataInfrastructuresCloudExadataInfrastructureMaintenanceWindow { /** * Determines the amount of time the system will wait before the start of each database server patching operation. Custom action timeout is in minutes and valid value is between 15 to 120 (inclusive). @@ -85145,6 +85214,17 @@ export namespace Database { isIncidentLogsEnabled: boolean; } + export interface GetCloudVmClusterFileSystemConfigurationDetail { + /** + * The file system size to be allocated in GBs. + */ + fileSystemSizeGb: number; + /** + * The mount point of file system. + */ + mountPoint: string; + } + export interface GetCloudVmClusterIormConfigCach { /** * An array of IORM settings for all the database in the Exadata DB system. @@ -85260,6 +85340,10 @@ export namespace Database { * The domain name for the cloud VM cluster. */ domain: string; + /** + * Details of the file system configuration of the VM cluster. + */ + fileSystemConfigurationDetails: outputs.Database.GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetail[]; /** * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` */ @@ -85400,6 +85484,17 @@ export namespace Database { isIncidentLogsEnabled: boolean; } + export interface GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetail { + /** + * The file system size to be allocated in GBs. + */ + fileSystemSizeGb: number; + /** + * The mount point of file system. + */ + mountPoint: string; + } + export interface GetCloudVmClustersCloudVmClusterIormConfigCach { dbPlans: outputs.Database.GetCloudVmClustersCloudVmClusterIormConfigCachDbPlan[]; /** @@ -108819,6 +108914,10 @@ export namespace DisasterRecovery { * The unique id of the step. Must not be modified by the user. Example: `sgid1.step..uniqueID` */ id: string; + /** + * A flag indicating whether this group should be enabled for execution. This flag is only applicable to the `USER_DEFINED_PAUSE` group. The flag should be null for the remaining group types. Example: `true` + */ + isPauseEnabled: boolean; /** * The list of steps in the group. */ @@ -109510,6 +109609,10 @@ export namespace DisasterRecovery { * The unique id of the step. Must not be modified by the user. Example: `sgid1.step..uniqueID` */ id: string; + /** + * A flag indicating whether this group should be enabled for execution. This flag is only applicable to the `USER_DEFINED_PAUSE` group. The flag should be null for the remaining group types. Example: `true` + */ + isPauseEnabled: boolean; /** * The list of steps in the group. */ @@ -109689,6 +109792,10 @@ export namespace DisasterRecovery { * The unique id of the step. Must not be modified by the user. Example: `sgid1.step..uniqueID` */ id: string; + /** + * A flag indicating whether this group should be enabled for execution. This flag is only applicable to the `USER_DEFINED_PAUSE` group. The flag should be null for the remaining group types. Example: `true` + */ + isPauseEnabled: boolean; /** * The list of steps in the group. */ @@ -177022,17 +177129,25 @@ export namespace Limits { export namespace LoadBalancer { export interface BackendSetBackend { /** - * Whether the load balancer should treat this server as a backup unit. If `true`, the load balancer forwards no ingress traffic to this backend server unless all other backend servers not marked as "backup" fail the health check policy. + * (Updatable) Whether the load balancer should treat this server as a backup unit. If `true`, the load balancer forwards no ingress traffic to this backend server unless all other backend servers not marked as "backup" fail the health check policy. + * + * **Note:** You cannot add a backend server marked as `backup` to a backend set that uses the IP Hash policy. + * + * Example: `false` */ backup?: boolean; /** - * Whether the load balancer should drain this server. Servers marked "drain" receive no new incoming traffic. Example: `false` + * (Updatable) Whether the load balancer should drain this server. Servers marked "drain" receive no new incoming traffic. Example: `false` */ drain?: boolean; /** - * The IP address of the backend server. Example: `10.0.0.3` + * (Updatable) The IP address of the backend server. Example: `10.0.0.3` */ ipAddress: string; + /** + * (Updatable) The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then the maximum number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` + */ + maxConnections: number; /** * A friendly name for the backend set. It must be unique and it cannot be changed. * @@ -177042,7 +177157,7 @@ export namespace LoadBalancer { */ name: string; /** - * Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` + * (Updatable) Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` */ offline?: boolean; /** @@ -177050,7 +177165,7 @@ export namespace LoadBalancer { */ port: number; /** - * The load balancing policy weight assigned to the server. Backend servers with a higher weight receive a larger proportion of incoming traffic. For example, a server weighted '3' receives 3 times the number of new connections as a server weighted '1'. For more information on load balancing policies, see [How Load Balancing Policies Work](https://docs.cloud.oracle.com/iaas/Content/Balance/Reference/lbpolicies.htm). Example: `3` + * (Updatable) The load balancing policy weight assigned to the server. Backend servers with a higher weight receive a larger proportion of incoming traffic. For example, a server weighted '3' receives 3 times the number of new connections as a server weighted '1'. For more information on load balancing policies, see [How Load Balancing Policies Work](https://docs.cloud.oracle.com/iaas/Content/Balance/Reference/lbpolicies.htm). Example: `3` */ weight: number; } @@ -177257,6 +177372,10 @@ export namespace LoadBalancer { } export interface GetBackendSetsBackendset { + /** + * The maximum number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting. If this is not set then the number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting is unlimited. Example: `300` + */ + backendMaxConnections: number; backends: outputs.LoadBalancer.GetBackendSetsBackendsetBackend[]; /** * The health check policy configuration. For more information, see [Editing Health Check Policies](https://docs.cloud.oracle.com/iaas/Content/Balance/Tasks/editinghealthcheck.htm). @@ -177303,6 +177422,10 @@ export namespace LoadBalancer { * The IP address of the backend server. Example: `10.0.0.3` */ ipAddress: string; + /** + * The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then the maximum number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` + */ + maxConnections: number; /** * A friendly name for the backend set. It must be unique and it cannot be changed. */ @@ -177467,6 +177590,10 @@ export namespace LoadBalancer { * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the load balancer associated with the backend set and servers. */ loadBalancerId: string; + /** + * The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then the maximum number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` + */ + maxConnections: number; /** * A read-only field showing the IP address and port that uniquely identify this backend server in the backend set. Example: `10.0.0.3:8080` */ @@ -177571,7 +177698,7 @@ export namespace LoadBalancer { export interface GetListenerRulesListenerRuleRule { /** - * The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` + * The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `IP_BASED_MAX_CONNECTIONS`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` */ action: string; /** @@ -177583,6 +177710,10 @@ export namespace LoadBalancer { */ areInvalidCharactersAllowed: boolean; conditions: outputs.LoadBalancer.GetListenerRulesListenerRuleRuleCondition[]; + /** + * The maximum number of connections that the any IP can make to a listener unless the IP is mentioned in maxConnections. If no defaultMaxConnections is specified the default is unlimited. + */ + defaultMaxConnections: number; /** * A brief description of the access control rule. Avoid entering confidential information. */ @@ -177595,6 +177726,10 @@ export namespace LoadBalancer { * The maximum size of each buffer used for reading http client request header. This value indicates the maximum size allowed for each buffer. The allowed values for buffer size are 8, 16, 32 and 64. */ httpLargeHeaderSizeInKb: number; + /** + * An array of IPs that have a maxConnection setting different than the default and what that maxConnection setting is + */ + ipMaxConnections: outputs.LoadBalancer.GetListenerRulesListenerRuleRuleIpMaxConnection[]; /** * A string to prepend to the header value. The resulting header value must still conform to RFC 7230. With the following exceptions: * * value cannot contain `$` @@ -177646,6 +177781,17 @@ export namespace LoadBalancer { operator: string; } + export interface GetListenerRulesListenerRuleRuleIpMaxConnection { + /** + * Each element in the list should be valid IPv4 or IPv6 CIDR Block address. Example: '["129.213.176.0/24", "150.136.187.0/24", "2002::1234:abcd:ffff:c0a8:101/64"]' + */ + ipAddresses: string[]; + /** + * The maximum number of simultaneous connections that the specified IPs can make to the Listener. IPs without a maxConnections setting can make either defaultMaxConnections simultaneous connections to a listener or, if no defaultMaxConnections is specified, an unlimited number of simultaneous connections to a listener. + */ + maxConnections: number; + } + export interface GetListenerRulesListenerRuleRuleRedirectUri { /** * The valid domain name (hostname) or IP address to use in the redirect URI. @@ -177777,7 +177923,7 @@ export namespace LoadBalancer { */ freeformTags: {[key: string]: any}; /** - * Ocid of the pre-created public IP. That should be attahed to this load balancer. + * Ocid of the Reserved IP/Public Ip created with VCN. */ id: string; /** @@ -177791,6 +177937,10 @@ export namespace LoadBalancer { */ ipAddresses: string[]; ipMode: string; + /** + * Whether or not the load balancer has delete protection enabled. + */ + isDeleteProtectionEnabled: boolean; /** * Whether the load balancer has a VCN-local (private) IP address. */ @@ -177835,22 +177985,19 @@ export namespace LoadBalancer { * Whether the IP address is public or private. */ isPublic: boolean; - /** - * Pre-created public IP that will be used as the IP of this load balancer. This reserved IP will not be deleted when load balancer is deleted. This ip should not be already mapped to any other resource. - */ reservedIps: outputs.LoadBalancer.GetLoadBalancersLoadBalancerIpAddressDetailReservedIp[]; } export interface GetLoadBalancersLoadBalancerIpAddressDetailReservedIp { /** - * Ocid of the pre-created public IP. That should be attahed to this load balancer. + * Ocid of the Reserved IP/Public Ip created with VCN. */ id: string; } export interface GetLoadBalancersLoadBalancerReservedIp { /** - * Ocid of the pre-created public IP. That should be attahed to this load balancer. + * Ocid of the Reserved IP/Public Ip created with VCN. */ id: string; } @@ -177954,7 +178101,7 @@ export namespace LoadBalancer { export interface GetRuleSetItem { /** - * The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` + * The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `IP_BASED_MAX_CONNECTIONS`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` */ action: string; /** @@ -177966,6 +178113,10 @@ export namespace LoadBalancer { */ areInvalidCharactersAllowed: boolean; conditions: outputs.LoadBalancer.GetRuleSetItemCondition[]; + /** + * The maximum number of connections that the any IP can make to a listener unless the IP is mentioned in maxConnections. If no defaultMaxConnections is specified the default is unlimited. + */ + defaultMaxConnections: number; /** * A brief description of the access control rule. Avoid entering confidential information. */ @@ -177978,6 +178129,10 @@ export namespace LoadBalancer { * The maximum size of each buffer used for reading http client request header. This value indicates the maximum size allowed for each buffer. The allowed values for buffer size are 8, 16, 32 and 64. */ httpLargeHeaderSizeInKb: number; + /** + * An array of IPs that have a maxConnection setting different than the default and what that maxConnection setting is + */ + ipMaxConnections: outputs.LoadBalancer.GetRuleSetItemIpMaxConnection[]; /** * A string to prepend to the header value. The resulting header value must still conform to RFC 7230. With the following exceptions: * * value cannot contain `$` @@ -178032,6 +178187,17 @@ export namespace LoadBalancer { operator: string; } + export interface GetRuleSetItemIpMaxConnection { + /** + * Each element in the list should be valid IPv4 or IPv6 CIDR Block address. Example: '["129.213.176.0/24", "150.136.187.0/24", "2002::1234:abcd:ffff:c0a8:101/64"]' + */ + ipAddresses: string[]; + /** + * The maximum number of simultaneous connections that the specified IPs can make to the Listener. IPs without a maxConnections setting can make either defaultMaxConnections simultaneous connections to a listener or, if no defaultMaxConnections is specified, an unlimited number of simultaneous connections to a listener. + */ + maxConnections: number; + } + export interface GetRuleSetItemRedirectUri { /** * The valid domain name (hostname) or IP address to use in the redirect URI. @@ -178083,7 +178249,7 @@ export namespace LoadBalancer { export interface GetRuleSetsRuleSetItem { /** - * The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` + * The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `IP_BASED_MAX_CONNECTIONS`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` */ action: string; /** @@ -178095,6 +178261,10 @@ export namespace LoadBalancer { */ areInvalidCharactersAllowed: boolean; conditions: outputs.LoadBalancer.GetRuleSetsRuleSetItemCondition[]; + /** + * The maximum number of connections that the any IP can make to a listener unless the IP is mentioned in maxConnections. If no defaultMaxConnections is specified the default is unlimited. + */ + defaultMaxConnections: number; /** * A brief description of the access control rule. Avoid entering confidential information. */ @@ -178107,6 +178277,10 @@ export namespace LoadBalancer { * The maximum size of each buffer used for reading http client request header. This value indicates the maximum size allowed for each buffer. The allowed values for buffer size are 8, 16, 32 and 64. */ httpLargeHeaderSizeInKb: number; + /** + * An array of IPs that have a maxConnection setting different than the default and what that maxConnection setting is + */ + ipMaxConnections: outputs.LoadBalancer.GetRuleSetsRuleSetItemIpMaxConnection[]; /** * A string to prepend to the header value. The resulting header value must still conform to RFC 7230. With the following exceptions: * * value cannot contain `$` @@ -178161,6 +178335,17 @@ export namespace LoadBalancer { operator: string; } + export interface GetRuleSetsRuleSetItemIpMaxConnection { + /** + * Each element in the list should be valid IPv4 or IPv6 CIDR Block address. Example: '["129.213.176.0/24", "150.136.187.0/24", "2002::1234:abcd:ffff:c0a8:101/64"]' + */ + ipAddresses: string[]; + /** + * The maximum number of simultaneous connections that the specified IPs can make to the Listener. IPs without a maxConnections setting can make either defaultMaxConnections simultaneous connections to a listener or, if no defaultMaxConnections is specified, an unlimited number of simultaneous connections to a listener. + */ + maxConnections: number; + } + export interface GetRuleSetsRuleSetItemRedirectUri { /** * The valid domain name (hostname) or IP address to use in the redirect URI. @@ -178321,22 +178506,35 @@ export namespace LoadBalancer { * Whether the IP address is public or private. */ isPublic: boolean; - /** - * Pre-created public IP that will be used as the IP of this load balancer. This reserved IP will not be deleted when load balancer is deleted. This ip should not be already mapped to any other resource. - */ reservedIps: outputs.LoadBalancer.LoadBalancerIpAddressDetailReservedIp[]; } export interface LoadBalancerIpAddressDetailReservedIp { /** - * Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `privateIpId` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. + * Ocid of the Reserved IP/Public Ip created with VCN. + * + * Reserved IPs are IPs which already registered using VCN API. + * + * Create a reserved Public IP and then while creating the load balancer pass the ocid of the reserved IP in this field reservedIp to attach the Ip to Load balancer. Load balancer will be configured to listen to traffic on this IP. + * + * Reserved IPs will not be deleted when the Load balancer is deleted. They will be unattached from the Load balancer. + * + * Example: "ocid1.publicip.oc1.phx.unique_ID" Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `privateIpId` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. */ id: string; } export interface LoadBalancerReservedIp { /** - * Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `privateIpId` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. + * Ocid of the Reserved IP/Public Ip created with VCN. + * + * Reserved IPs are IPs which already registered using VCN API. + * + * Create a reserved Public IP and then while creating the load balancer pass the ocid of the reserved IP in this field reservedIp to attach the Ip to Load balancer. Load balancer will be configured to listen to traffic on this IP. + * + * Reserved IPs will not be deleted when the Load balancer is deleted. They will be unattached from the Load balancer. + * + * Example: "ocid1.publicip.oc1.phx.unique_ID" Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `privateIpId` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. */ id: string; } @@ -178429,7 +178627,7 @@ export namespace LoadBalancer { export interface RuleSetItem { /** - * (Updatable) The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` + * (Updatable) The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `IP_BASED_MAX_CONNECTIONS`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` */ action: string; /** @@ -178452,6 +178650,10 @@ export namespace LoadBalancer { * (Updatable) */ conditions: outputs.LoadBalancer.RuleSetItemCondition[]; + /** + * (Updatable) The maximum number of connections that the any IP can make to a listener unless the IP is mentioned in maxConnections. If no defaultMaxConnections is specified the default is unlimited. + */ + defaultMaxConnections: number; /** * (Updatable) A brief description of the access control rule. Avoid entering confidential information. * @@ -178466,6 +178668,10 @@ export namespace LoadBalancer { * (Updatable) The maximum size of each buffer used for reading http client request header. This value indicates the maximum size allowed for each buffer. The allowed values for buffer size are 8, 16, 32 and 64. */ httpLargeHeaderSizeInKb: number; + /** + * (Updatable) An array of IPs that have a maxConnection setting different than the default and what that maxConnection setting is + */ + ipMaxConnections: outputs.LoadBalancer.RuleSetItemIpMaxConnection[]; /** * (Updatable) A string to prepend to the header value. The resulting header value must still conform to RFC 7230. With the following exceptions: * * value cannot contain `$` @@ -178560,6 +178766,17 @@ export namespace LoadBalancer { operator: string; } + export interface RuleSetItemIpMaxConnection { + /** + * (Updatable) Each element in the list should be valid IPv4 or IPv6 CIDR Block address. Example: '["129.213.176.0/24", "150.136.187.0/24", "2002::1234:abcd:ffff:c0a8:101/64"]' + */ + ipAddresses: string[]; + /** + * (Updatable) The maximum number of simultaneous connections that the specified IPs can make to the Listener. IPs without a maxConnections setting can make either defaultMaxConnections simultaneous connections to a listener or, if no defaultMaxConnections is specified, an unlimited number of simultaneous connections to a listener. + */ + maxConnections: number; + } + export interface RuleSetItemRedirectUri { /** * (Updatable) The valid domain name (hostname) or IP address to use in the redirect URI. diff --git a/sdk/python/pulumi_oci/database/_inputs.py b/sdk/python/pulumi_oci/database/_inputs.py index ed083a688c..2d11f1541e 100644 --- a/sdk/python/pulumi_oci/database/_inputs.py +++ b/sdk/python/pulumi_oci/database/_inputs.py @@ -61,10 +61,12 @@ 'CloudAutonomousVmClusterMaintenanceWindowMonthArgs', 'CloudDatabaseManagementCredentialdetailsArgs', 'CloudExadataInfrastructureCustomerContactArgs', + 'CloudExadataInfrastructureDefinedFileSystemConfigurationArgs', 'CloudExadataInfrastructureMaintenanceWindowArgs', 'CloudExadataInfrastructureMaintenanceWindowDaysOfWeekArgs', 'CloudExadataInfrastructureMaintenanceWindowMonthArgs', 'CloudVmClusterDataCollectionOptionsArgs', + 'CloudVmClusterFileSystemConfigurationDetailArgs', 'CloudVmClusterIormConfigCachArgs', 'CloudVmClusterIormConfigCachDbPlanArgs', 'CloudVmClusterIormConfigDbPlanArgs', @@ -3815,6 +3817,77 @@ def email(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "email", value) +@pulumi.input_type +class CloudExadataInfrastructureDefinedFileSystemConfigurationArgs: + def __init__(__self__, *, + is_backup_partition: Optional[pulumi.Input[bool]] = None, + is_resizable: Optional[pulumi.Input[bool]] = None, + min_size_gb: Optional[pulumi.Input[int]] = None, + mount_point: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[bool] is_backup_partition: If true, the file system is used to create a backup prior to Exadata VM OS update. + :param pulumi.Input[bool] is_resizable: If true, the file system resize is allowed for the Exadata Infrastructure cluster. If false, the file system resize is not allowed. + :param pulumi.Input[int] min_size_gb: The minimum size of file system. + :param pulumi.Input[str] mount_point: The mount point of file system. + """ + if is_backup_partition is not None: + pulumi.set(__self__, "is_backup_partition", is_backup_partition) + if is_resizable is not None: + pulumi.set(__self__, "is_resizable", is_resizable) + if min_size_gb is not None: + pulumi.set(__self__, "min_size_gb", min_size_gb) + if mount_point is not None: + pulumi.set(__self__, "mount_point", mount_point) + + @property + @pulumi.getter(name="isBackupPartition") + def is_backup_partition(self) -> Optional[pulumi.Input[bool]]: + """ + If true, the file system is used to create a backup prior to Exadata VM OS update. + """ + return pulumi.get(self, "is_backup_partition") + + @is_backup_partition.setter + def is_backup_partition(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_backup_partition", value) + + @property + @pulumi.getter(name="isResizable") + def is_resizable(self) -> Optional[pulumi.Input[bool]]: + """ + If true, the file system resize is allowed for the Exadata Infrastructure cluster. If false, the file system resize is not allowed. + """ + return pulumi.get(self, "is_resizable") + + @is_resizable.setter + def is_resizable(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_resizable", value) + + @property + @pulumi.getter(name="minSizeGb") + def min_size_gb(self) -> Optional[pulumi.Input[int]]: + """ + The minimum size of file system. + """ + return pulumi.get(self, "min_size_gb") + + @min_size_gb.setter + def min_size_gb(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "min_size_gb", value) + + @property + @pulumi.getter(name="mountPoint") + def mount_point(self) -> Optional[pulumi.Input[str]]: + """ + The mount point of file system. + """ + return pulumi.get(self, "mount_point") + + @mount_point.setter + def mount_point(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "mount_point", value) + + @pulumi.input_type class CloudExadataInfrastructureMaintenanceWindowArgs: def __init__(__self__, *, @@ -4099,6 +4172,45 @@ def is_incident_logs_enabled(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "is_incident_logs_enabled", value) +@pulumi.input_type +class CloudVmClusterFileSystemConfigurationDetailArgs: + def __init__(__self__, *, + file_system_size_gb: Optional[pulumi.Input[int]] = None, + mount_point: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[int] file_system_size_gb: (Updatable) The file system size to be allocated in GBs. + :param pulumi.Input[str] mount_point: (Updatable) The mount point of file system. + """ + if file_system_size_gb is not None: + pulumi.set(__self__, "file_system_size_gb", file_system_size_gb) + if mount_point is not None: + pulumi.set(__self__, "mount_point", mount_point) + + @property + @pulumi.getter(name="fileSystemSizeGb") + def file_system_size_gb(self) -> Optional[pulumi.Input[int]]: + """ + (Updatable) The file system size to be allocated in GBs. + """ + return pulumi.get(self, "file_system_size_gb") + + @file_system_size_gb.setter + def file_system_size_gb(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "file_system_size_gb", value) + + @property + @pulumi.getter(name="mountPoint") + def mount_point(self) -> Optional[pulumi.Input[str]]: + """ + (Updatable) The mount point of file system. + """ + return pulumi.get(self, "mount_point") + + @mount_point.setter + def mount_point(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "mount_point", value) + + @pulumi.input_type class CloudVmClusterIormConfigCachArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_oci/database/cloud_exadata_infrastructure.py b/sdk/python/pulumi_oci/database/cloud_exadata_infrastructure.py index ceb788985d..72fee6a9b8 100644 --- a/sdk/python/pulumi_oci/database/cloud_exadata_infrastructure.py +++ b/sdk/python/pulumi_oci/database/cloud_exadata_infrastructure.py @@ -216,6 +216,7 @@ def __init__(__self__, *, data_storage_size_in_tbs: Optional[pulumi.Input[float]] = None, db_node_storage_size_in_gbs: Optional[pulumi.Input[int]] = None, db_server_version: Optional[pulumi.Input[str]] = None, + defined_file_system_configurations: Optional[pulumi.Input[Sequence[pulumi.Input['CloudExadataInfrastructureDefinedFileSystemConfigurationArgs']]]] = None, defined_tags: Optional[pulumi.Input[Mapping[str, Any]]] = None, display_name: Optional[pulumi.Input[str]] = None, freeform_tags: Optional[pulumi.Input[Mapping[str, Any]]] = None, @@ -251,6 +252,7 @@ def __init__(__self__, *, :param pulumi.Input[float] data_storage_size_in_tbs: Size, in terabytes, of the DATA disk group. :param pulumi.Input[int] db_node_storage_size_in_gbs: The local node storage allocated in GBs. :param pulumi.Input[str] db_server_version: The software version of the database servers (dom0) in the cloud Exadata infrastructure. Example: 20.1.15 + :param pulumi.Input[Sequence[pulumi.Input['CloudExadataInfrastructureDefinedFileSystemConfigurationArgs']]] defined_file_system_configurations: Details of the file system configuration of the Exadata infrastructure. :param pulumi.Input[Mapping[str, Any]] defined_tags: (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). :param pulumi.Input[str] display_name: (Updatable) The user-friendly name for the cloud Exadata infrastructure resource. The name does not need to be unique. :param pulumi.Input[Mapping[str, Any]] freeform_tags: (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` @@ -301,6 +303,8 @@ def __init__(__self__, *, pulumi.set(__self__, "db_node_storage_size_in_gbs", db_node_storage_size_in_gbs) if db_server_version is not None: pulumi.set(__self__, "db_server_version", db_server_version) + if defined_file_system_configurations is not None: + pulumi.set(__self__, "defined_file_system_configurations", defined_file_system_configurations) if defined_tags is not None: pulumi.set(__self__, "defined_tags", defined_tags) if display_name is not None: @@ -488,6 +492,18 @@ def db_server_version(self) -> Optional[pulumi.Input[str]]: def db_server_version(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "db_server_version", value) + @property + @pulumi.getter(name="definedFileSystemConfigurations") + def defined_file_system_configurations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CloudExadataInfrastructureDefinedFileSystemConfigurationArgs']]]]: + """ + Details of the file system configuration of the Exadata infrastructure. + """ + return pulumi.get(self, "defined_file_system_configurations") + + @defined_file_system_configurations.setter + def defined_file_system_configurations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['CloudExadataInfrastructureDefinedFileSystemConfigurationArgs']]]]): + pulumi.set(self, "defined_file_system_configurations", value) + @property @pulumi.getter(name="definedTags") def defined_tags(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: @@ -951,6 +967,7 @@ def _internal_init(__self__, __props__.__dict__["data_storage_size_in_tbs"] = None __props__.__dict__["db_node_storage_size_in_gbs"] = None __props__.__dict__["db_server_version"] = None + __props__.__dict__["defined_file_system_configurations"] = None __props__.__dict__["last_maintenance_run_id"] = None __props__.__dict__["lifecycle_details"] = None __props__.__dict__["max_cpu_count"] = None @@ -988,6 +1005,7 @@ def get(resource_name: str, data_storage_size_in_tbs: Optional[pulumi.Input[float]] = None, db_node_storage_size_in_gbs: Optional[pulumi.Input[int]] = None, db_server_version: Optional[pulumi.Input[str]] = None, + defined_file_system_configurations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CloudExadataInfrastructureDefinedFileSystemConfigurationArgs']]]]] = None, defined_tags: Optional[pulumi.Input[Mapping[str, Any]]] = None, display_name: Optional[pulumi.Input[str]] = None, freeform_tags: Optional[pulumi.Input[Mapping[str, Any]]] = None, @@ -1028,6 +1046,7 @@ def get(resource_name: str, :param pulumi.Input[float] data_storage_size_in_tbs: Size, in terabytes, of the DATA disk group. :param pulumi.Input[int] db_node_storage_size_in_gbs: The local node storage allocated in GBs. :param pulumi.Input[str] db_server_version: The software version of the database servers (dom0) in the cloud Exadata infrastructure. Example: 20.1.15 + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CloudExadataInfrastructureDefinedFileSystemConfigurationArgs']]]] defined_file_system_configurations: Details of the file system configuration of the Exadata infrastructure. :param pulumi.Input[Mapping[str, Any]] defined_tags: (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). :param pulumi.Input[str] display_name: (Updatable) The user-friendly name for the cloud Exadata infrastructure resource. The name does not need to be unique. :param pulumi.Input[Mapping[str, Any]] freeform_tags: (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` @@ -1070,6 +1089,7 @@ def get(resource_name: str, __props__.__dict__["data_storage_size_in_tbs"] = data_storage_size_in_tbs __props__.__dict__["db_node_storage_size_in_gbs"] = db_node_storage_size_in_gbs __props__.__dict__["db_server_version"] = db_server_version + __props__.__dict__["defined_file_system_configurations"] = defined_file_system_configurations __props__.__dict__["defined_tags"] = defined_tags __props__.__dict__["display_name"] = display_name __props__.__dict__["freeform_tags"] = freeform_tags @@ -1189,6 +1209,14 @@ def db_server_version(self) -> pulumi.Output[str]: """ return pulumi.get(self, "db_server_version") + @property + @pulumi.getter(name="definedFileSystemConfigurations") + def defined_file_system_configurations(self) -> pulumi.Output[Sequence['outputs.CloudExadataInfrastructureDefinedFileSystemConfiguration']]: + """ + Details of the file system configuration of the Exadata infrastructure. + """ + return pulumi.get(self, "defined_file_system_configurations") + @property @pulumi.getter(name="definedTags") def defined_tags(self) -> pulumi.Output[Mapping[str, Any]]: diff --git a/sdk/python/pulumi_oci/database/cloud_vm_cluster.py b/sdk/python/pulumi_oci/database/cloud_vm_cluster.py index 0809c68f8f..454a4274f7 100644 --- a/sdk/python/pulumi_oci/database/cloud_vm_cluster.py +++ b/sdk/python/pulumi_oci/database/cloud_vm_cluster.py @@ -35,6 +35,7 @@ def __init__(__self__, *, db_servers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, defined_tags: Optional[pulumi.Input[Mapping[str, Any]]] = None, domain: Optional[pulumi.Input[str]] = None, + file_system_configuration_details: Optional[pulumi.Input[Sequence[pulumi.Input['CloudVmClusterFileSystemConfigurationDetailArgs']]]] = None, freeform_tags: Optional[pulumi.Input[Mapping[str, Any]]] = None, is_local_backup_enabled: Optional[pulumi.Input[bool]] = None, is_sparse_diskgroup_enabled: Optional[pulumi.Input[bool]] = None, @@ -78,6 +79,7 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[str]]] db_servers: The list of DB servers. :param pulumi.Input[Mapping[str, Any]] defined_tags: (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). :param pulumi.Input[str] domain: A domain name used for the cloud VM cluster. If the Oracle-provided internet and VCN resolver is enabled for the specified subnet, the domain name for the subnet is used (do not provide one). Otherwise, provide a valid DNS domain name. Hyphens (-) are not permitted. Applies to Exadata Cloud Service instances only. + :param pulumi.Input[Sequence[pulumi.Input['CloudVmClusterFileSystemConfigurationDetailArgs']]] file_system_configuration_details: (Updatable) Details of the file system configuration of the VM cluster. :param pulumi.Input[Mapping[str, Any]] freeform_tags: (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` :param pulumi.Input[bool] is_local_backup_enabled: If true, database backup on local Exadata storage is configured for the cloud VM cluster. If false, database backup on local Exadata storage is not available in the cloud VM cluster. :param pulumi.Input[bool] is_sparse_diskgroup_enabled: If true, the sparse disk group is configured for the cloud VM cluster. If false, the sparse disk group is not created. @@ -125,6 +127,8 @@ def __init__(__self__, *, pulumi.set(__self__, "defined_tags", defined_tags) if domain is not None: pulumi.set(__self__, "domain", domain) + if file_system_configuration_details is not None: + pulumi.set(__self__, "file_system_configuration_details", file_system_configuration_details) if freeform_tags is not None: pulumi.set(__self__, "freeform_tags", freeform_tags) if is_local_backup_enabled is not None: @@ -386,6 +390,18 @@ def domain(self) -> Optional[pulumi.Input[str]]: def domain(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "domain", value) + @property + @pulumi.getter(name="fileSystemConfigurationDetails") + def file_system_configuration_details(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CloudVmClusterFileSystemConfigurationDetailArgs']]]]: + """ + (Updatable) Details of the file system configuration of the VM cluster. + """ + return pulumi.get(self, "file_system_configuration_details") + + @file_system_configuration_details.setter + def file_system_configuration_details(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['CloudVmClusterFileSystemConfigurationDetailArgs']]]]): + pulumi.set(self, "file_system_configuration_details", value) + @property @pulumi.getter(name="freeformTags") def freeform_tags(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: @@ -556,6 +572,7 @@ def __init__(__self__, *, disk_redundancy: Optional[pulumi.Input[str]] = None, display_name: Optional[pulumi.Input[str]] = None, domain: Optional[pulumi.Input[str]] = None, + file_system_configuration_details: Optional[pulumi.Input[Sequence[pulumi.Input['CloudVmClusterFileSystemConfigurationDetailArgs']]]] = None, freeform_tags: Optional[pulumi.Input[Mapping[str, Any]]] = None, gi_version: Optional[pulumi.Input[str]] = None, hostname: Optional[pulumi.Input[str]] = None, @@ -612,6 +629,7 @@ def __init__(__self__, *, :param pulumi.Input[str] disk_redundancy: The type of redundancy configured for the cloud Vm cluster. NORMAL is 2-way redundancy. HIGH is 3-way redundancy. :param pulumi.Input[str] display_name: (Updatable) The user-friendly name for the cloud VM cluster. The name does not need to be unique. :param pulumi.Input[str] domain: A domain name used for the cloud VM cluster. If the Oracle-provided internet and VCN resolver is enabled for the specified subnet, the domain name for the subnet is used (do not provide one). Otherwise, provide a valid DNS domain name. Hyphens (-) are not permitted. Applies to Exadata Cloud Service instances only. + :param pulumi.Input[Sequence[pulumi.Input['CloudVmClusterFileSystemConfigurationDetailArgs']]] file_system_configuration_details: (Updatable) Details of the file system configuration of the VM cluster. :param pulumi.Input[Mapping[str, Any]] freeform_tags: (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` :param pulumi.Input[str] gi_version: A valid Oracle Grid Infrastructure (GI) software version. :param pulumi.Input[str] hostname: The hostname for the cloud VM cluster. The hostname must begin with an alphabetic character, and can contain alphanumeric characters and hyphens (-). The maximum length of the hostname is 16 characters for bare metal and virtual machine DB systems, and 12 characters for Exadata systems. @@ -687,6 +705,8 @@ def __init__(__self__, *, pulumi.set(__self__, "display_name", display_name) if domain is not None: pulumi.set(__self__, "domain", domain) + if file_system_configuration_details is not None: + pulumi.set(__self__, "file_system_configuration_details", file_system_configuration_details) if freeform_tags is not None: pulumi.set(__self__, "freeform_tags", freeform_tags) if gi_version is not None: @@ -958,6 +978,18 @@ def domain(self) -> Optional[pulumi.Input[str]]: def domain(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "domain", value) + @property + @pulumi.getter(name="fileSystemConfigurationDetails") + def file_system_configuration_details(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CloudVmClusterFileSystemConfigurationDetailArgs']]]]: + """ + (Updatable) Details of the file system configuration of the VM cluster. + """ + return pulumi.get(self, "file_system_configuration_details") + + @file_system_configuration_details.setter + def file_system_configuration_details(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['CloudVmClusterFileSystemConfigurationDetailArgs']]]]): + pulumi.set(self, "file_system_configuration_details", value) + @property @pulumi.getter(name="freeformTags") def freeform_tags(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: @@ -1360,6 +1392,7 @@ def __init__(__self__, defined_tags: Optional[pulumi.Input[Mapping[str, Any]]] = None, display_name: Optional[pulumi.Input[str]] = None, domain: Optional[pulumi.Input[str]] = None, + file_system_configuration_details: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CloudVmClusterFileSystemConfigurationDetailArgs']]]]] = None, freeform_tags: Optional[pulumi.Input[Mapping[str, Any]]] = None, gi_version: Optional[pulumi.Input[str]] = None, hostname: Optional[pulumi.Input[str]] = None, @@ -1411,6 +1444,10 @@ def __init__(__self__, db_servers=cloud_vm_cluster_db_servers, defined_tags=cloud_vm_cluster_defined_tags, domain=cloud_vm_cluster_domain, + file_system_configuration_details=[oci.database.CloudVmClusterFileSystemConfigurationDetailArgs( + file_system_size_gb=cloud_vm_cluster_file_system_configuration_details_file_system_size_gb, + mount_point=cloud_vm_cluster_file_system_configuration_details_mount_point, + )], freeform_tags={ "Department": "Finance", }, @@ -1458,6 +1495,7 @@ def __init__(__self__, :param pulumi.Input[Mapping[str, Any]] defined_tags: (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). :param pulumi.Input[str] display_name: (Updatable) The user-friendly name for the cloud VM cluster. The name does not need to be unique. :param pulumi.Input[str] domain: A domain name used for the cloud VM cluster. If the Oracle-provided internet and VCN resolver is enabled for the specified subnet, the domain name for the subnet is used (do not provide one). Otherwise, provide a valid DNS domain name. Hyphens (-) are not permitted. Applies to Exadata Cloud Service instances only. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CloudVmClusterFileSystemConfigurationDetailArgs']]]] file_system_configuration_details: (Updatable) Details of the file system configuration of the VM cluster. :param pulumi.Input[Mapping[str, Any]] freeform_tags: (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` :param pulumi.Input[str] gi_version: A valid Oracle Grid Infrastructure (GI) software version. :param pulumi.Input[str] hostname: The hostname for the cloud VM cluster. The hostname must begin with an alphabetic character, and can contain alphanumeric characters and hyphens (-). The maximum length of the hostname is 16 characters for bare metal and virtual machine DB systems, and 12 characters for Exadata systems. @@ -1524,6 +1562,10 @@ def __init__(__self__, db_servers=cloud_vm_cluster_db_servers, defined_tags=cloud_vm_cluster_defined_tags, domain=cloud_vm_cluster_domain, + file_system_configuration_details=[oci.database.CloudVmClusterFileSystemConfigurationDetailArgs( + file_system_size_gb=cloud_vm_cluster_file_system_configuration_details_file_system_size_gb, + mount_point=cloud_vm_cluster_file_system_configuration_details_mount_point, + )], freeform_tags={ "Department": "Finance", }, @@ -1578,6 +1620,7 @@ def _internal_init(__self__, defined_tags: Optional[pulumi.Input[Mapping[str, Any]]] = None, display_name: Optional[pulumi.Input[str]] = None, domain: Optional[pulumi.Input[str]] = None, + file_system_configuration_details: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CloudVmClusterFileSystemConfigurationDetailArgs']]]]] = None, freeform_tags: Optional[pulumi.Input[Mapping[str, Any]]] = None, gi_version: Optional[pulumi.Input[str]] = None, hostname: Optional[pulumi.Input[str]] = None, @@ -1628,6 +1671,7 @@ def _internal_init(__self__, raise TypeError("Missing required property 'display_name'") __props__.__dict__["display_name"] = display_name __props__.__dict__["domain"] = domain + __props__.__dict__["file_system_configuration_details"] = file_system_configuration_details __props__.__dict__["freeform_tags"] = freeform_tags if gi_version is None and not opts.urn: raise TypeError("Missing required property 'gi_version'") @@ -1696,6 +1740,7 @@ def get(resource_name: str, disk_redundancy: Optional[pulumi.Input[str]] = None, display_name: Optional[pulumi.Input[str]] = None, domain: Optional[pulumi.Input[str]] = None, + file_system_configuration_details: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CloudVmClusterFileSystemConfigurationDetailArgs']]]]] = None, freeform_tags: Optional[pulumi.Input[Mapping[str, Any]]] = None, gi_version: Optional[pulumi.Input[str]] = None, hostname: Optional[pulumi.Input[str]] = None, @@ -1757,6 +1802,7 @@ def get(resource_name: str, :param pulumi.Input[str] disk_redundancy: The type of redundancy configured for the cloud Vm cluster. NORMAL is 2-way redundancy. HIGH is 3-way redundancy. :param pulumi.Input[str] display_name: (Updatable) The user-friendly name for the cloud VM cluster. The name does not need to be unique. :param pulumi.Input[str] domain: A domain name used for the cloud VM cluster. If the Oracle-provided internet and VCN resolver is enabled for the specified subnet, the domain name for the subnet is used (do not provide one). Otherwise, provide a valid DNS domain name. Hyphens (-) are not permitted. Applies to Exadata Cloud Service instances only. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CloudVmClusterFileSystemConfigurationDetailArgs']]]] file_system_configuration_details: (Updatable) Details of the file system configuration of the VM cluster. :param pulumi.Input[Mapping[str, Any]] freeform_tags: (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` :param pulumi.Input[str] gi_version: A valid Oracle Grid Infrastructure (GI) software version. :param pulumi.Input[str] hostname: The hostname for the cloud VM cluster. The hostname must begin with an alphabetic character, and can contain alphanumeric characters and hyphens (-). The maximum length of the hostname is 16 characters for bare metal and virtual machine DB systems, and 12 characters for Exadata systems. @@ -1819,6 +1865,7 @@ def get(resource_name: str, __props__.__dict__["disk_redundancy"] = disk_redundancy __props__.__dict__["display_name"] = display_name __props__.__dict__["domain"] = domain + __props__.__dict__["file_system_configuration_details"] = file_system_configuration_details __props__.__dict__["freeform_tags"] = freeform_tags __props__.__dict__["gi_version"] = gi_version __props__.__dict__["hostname"] = hostname @@ -1992,6 +2039,14 @@ def domain(self) -> pulumi.Output[str]: """ return pulumi.get(self, "domain") + @property + @pulumi.getter(name="fileSystemConfigurationDetails") + def file_system_configuration_details(self) -> pulumi.Output[Sequence['outputs.CloudVmClusterFileSystemConfigurationDetail']]: + """ + (Updatable) Details of the file system configuration of the VM cluster. + """ + return pulumi.get(self, "file_system_configuration_details") + @property @pulumi.getter(name="freeformTags") def freeform_tags(self) -> pulumi.Output[Mapping[str, Any]]: diff --git a/sdk/python/pulumi_oci/database/get_cloud_exadata_infrastructure.py b/sdk/python/pulumi_oci/database/get_cloud_exadata_infrastructure.py index 2029ebf027..13ed3546a8 100644 --- a/sdk/python/pulumi_oci/database/get_cloud_exadata_infrastructure.py +++ b/sdk/python/pulumi_oci/database/get_cloud_exadata_infrastructure.py @@ -22,7 +22,7 @@ class GetCloudExadataInfrastructureResult: """ A collection of values returned by getCloudExadataInfrastructure. """ - def __init__(__self__, activated_storage_count=None, additional_storage_count=None, availability_domain=None, available_storage_size_in_gbs=None, cloud_exadata_infrastructure_id=None, cluster_placement_group_id=None, compartment_id=None, compute_count=None, cpu_count=None, customer_contacts=None, data_storage_size_in_tbs=None, db_node_storage_size_in_gbs=None, db_server_version=None, defined_tags=None, display_name=None, freeform_tags=None, id=None, last_maintenance_run_id=None, lifecycle_details=None, maintenance_windows=None, max_cpu_count=None, max_data_storage_in_tbs=None, max_db_node_storage_in_gbs=None, max_memory_in_gbs=None, memory_size_in_gbs=None, monthly_db_server_version=None, monthly_storage_server_version=None, next_maintenance_run_id=None, shape=None, state=None, storage_count=None, storage_server_version=None, system_tags=None, time_created=None, total_storage_size_in_gbs=None): + def __init__(__self__, activated_storage_count=None, additional_storage_count=None, availability_domain=None, available_storage_size_in_gbs=None, cloud_exadata_infrastructure_id=None, cluster_placement_group_id=None, compartment_id=None, compute_count=None, cpu_count=None, customer_contacts=None, data_storage_size_in_tbs=None, db_node_storage_size_in_gbs=None, db_server_version=None, defined_file_system_configurations=None, defined_tags=None, display_name=None, freeform_tags=None, id=None, last_maintenance_run_id=None, lifecycle_details=None, maintenance_windows=None, max_cpu_count=None, max_data_storage_in_tbs=None, max_db_node_storage_in_gbs=None, max_memory_in_gbs=None, memory_size_in_gbs=None, monthly_db_server_version=None, monthly_storage_server_version=None, next_maintenance_run_id=None, shape=None, state=None, storage_count=None, storage_server_version=None, system_tags=None, time_created=None, total_storage_size_in_gbs=None): if activated_storage_count and not isinstance(activated_storage_count, int): raise TypeError("Expected argument 'activated_storage_count' to be a int") pulumi.set(__self__, "activated_storage_count", activated_storage_count) @@ -62,6 +62,9 @@ def __init__(__self__, activated_storage_count=None, additional_storage_count=No if db_server_version and not isinstance(db_server_version, str): raise TypeError("Expected argument 'db_server_version' to be a str") pulumi.set(__self__, "db_server_version", db_server_version) + if defined_file_system_configurations and not isinstance(defined_file_system_configurations, list): + raise TypeError("Expected argument 'defined_file_system_configurations' to be a list") + pulumi.set(__self__, "defined_file_system_configurations", defined_file_system_configurations) if defined_tags and not isinstance(defined_tags, dict): raise TypeError("Expected argument 'defined_tags' to be a dict") pulumi.set(__self__, "defined_tags", defined_tags) @@ -230,6 +233,14 @@ def db_server_version(self) -> str: """ return pulumi.get(self, "db_server_version") + @property + @pulumi.getter(name="definedFileSystemConfigurations") + def defined_file_system_configurations(self) -> Sequence['outputs.GetCloudExadataInfrastructureDefinedFileSystemConfigurationResult']: + """ + Details of the file system configuration of the Exadata infrastructure. + """ + return pulumi.get(self, "defined_file_system_configurations") + @property @pulumi.getter(name="definedTags") def defined_tags(self) -> Mapping[str, Any]: @@ -426,6 +437,7 @@ def __await__(self): data_storage_size_in_tbs=self.data_storage_size_in_tbs, db_node_storage_size_in_gbs=self.db_node_storage_size_in_gbs, db_server_version=self.db_server_version, + defined_file_system_configurations=self.defined_file_system_configurations, defined_tags=self.defined_tags, display_name=self.display_name, freeform_tags=self.freeform_tags, @@ -488,6 +500,7 @@ def get_cloud_exadata_infrastructure(cloud_exadata_infrastructure_id: Optional[s data_storage_size_in_tbs=pulumi.get(__ret__, 'data_storage_size_in_tbs'), db_node_storage_size_in_gbs=pulumi.get(__ret__, 'db_node_storage_size_in_gbs'), db_server_version=pulumi.get(__ret__, 'db_server_version'), + defined_file_system_configurations=pulumi.get(__ret__, 'defined_file_system_configurations'), defined_tags=pulumi.get(__ret__, 'defined_tags'), display_name=pulumi.get(__ret__, 'display_name'), freeform_tags=pulumi.get(__ret__, 'freeform_tags'), diff --git a/sdk/python/pulumi_oci/database/get_cloud_vm_cluster.py b/sdk/python/pulumi_oci/database/get_cloud_vm_cluster.py index f7e654f1f1..8c611a3cea 100644 --- a/sdk/python/pulumi_oci/database/get_cloud_vm_cluster.py +++ b/sdk/python/pulumi_oci/database/get_cloud_vm_cluster.py @@ -22,7 +22,7 @@ class GetCloudVmClusterResult: """ A collection of values returned by getCloudVmCluster. """ - def __init__(__self__, availability_domain=None, backup_network_nsg_ids=None, backup_subnet_id=None, cloud_exadata_infrastructure_id=None, cloud_vm_cluster_id=None, cluster_name=None, compartment_id=None, cpu_core_count=None, create_async=None, data_collection_options=None, data_storage_percentage=None, data_storage_size_in_tbs=None, db_node_storage_size_in_gbs=None, db_servers=None, defined_tags=None, disk_redundancy=None, display_name=None, domain=None, freeform_tags=None, gi_version=None, hostname=None, id=None, iorm_config_caches=None, is_local_backup_enabled=None, is_sparse_diskgroup_enabled=None, last_update_history_entry_id=None, license_model=None, lifecycle_details=None, listener_port=None, memory_size_in_gbs=None, node_count=None, nsg_ids=None, ocpu_count=None, private_zone_id=None, scan_dns_name=None, scan_dns_record_id=None, scan_ip_ids=None, scan_listener_port_tcp=None, scan_listener_port_tcp_ssl=None, shape=None, ssh_public_keys=None, state=None, storage_size_in_gbs=None, subnet_id=None, system_tags=None, system_version=None, time_created=None, time_zone=None, vip_ids=None, zone_id=None): + def __init__(__self__, availability_domain=None, backup_network_nsg_ids=None, backup_subnet_id=None, cloud_exadata_infrastructure_id=None, cloud_vm_cluster_id=None, cluster_name=None, compartment_id=None, cpu_core_count=None, create_async=None, data_collection_options=None, data_storage_percentage=None, data_storage_size_in_tbs=None, db_node_storage_size_in_gbs=None, db_servers=None, defined_tags=None, disk_redundancy=None, display_name=None, domain=None, file_system_configuration_details=None, freeform_tags=None, gi_version=None, hostname=None, id=None, iorm_config_caches=None, is_local_backup_enabled=None, is_sparse_diskgroup_enabled=None, last_update_history_entry_id=None, license_model=None, lifecycle_details=None, listener_port=None, memory_size_in_gbs=None, node_count=None, nsg_ids=None, ocpu_count=None, private_zone_id=None, scan_dns_name=None, scan_dns_record_id=None, scan_ip_ids=None, scan_listener_port_tcp=None, scan_listener_port_tcp_ssl=None, shape=None, ssh_public_keys=None, state=None, storage_size_in_gbs=None, subnet_id=None, system_tags=None, system_version=None, time_created=None, time_zone=None, vip_ids=None, zone_id=None): if availability_domain and not isinstance(availability_domain, str): raise TypeError("Expected argument 'availability_domain' to be a str") pulumi.set(__self__, "availability_domain", availability_domain) @@ -77,6 +77,9 @@ def __init__(__self__, availability_domain=None, backup_network_nsg_ids=None, ba if domain and not isinstance(domain, str): raise TypeError("Expected argument 'domain' to be a str") pulumi.set(__self__, "domain", domain) + if file_system_configuration_details and not isinstance(file_system_configuration_details, list): + raise TypeError("Expected argument 'file_system_configuration_details' to be a list") + pulumi.set(__self__, "file_system_configuration_details", file_system_configuration_details) if freeform_tags and not isinstance(freeform_tags, dict): raise TypeError("Expected argument 'freeform_tags' to be a dict") pulumi.set(__self__, "freeform_tags", freeform_tags) @@ -312,6 +315,14 @@ def domain(self) -> str: """ return pulumi.get(self, "domain") + @property + @pulumi.getter(name="fileSystemConfigurationDetails") + def file_system_configuration_details(self) -> Sequence['outputs.GetCloudVmClusterFileSystemConfigurationDetailResult']: + """ + Details of the file system configuration of the VM cluster. + """ + return pulumi.get(self, "file_system_configuration_details") + @property @pulumi.getter(name="freeformTags") def freeform_tags(self) -> Mapping[str, Any]: @@ -591,6 +602,7 @@ def __await__(self): disk_redundancy=self.disk_redundancy, display_name=self.display_name, domain=self.domain, + file_system_configuration_details=self.file_system_configuration_details, freeform_tags=self.freeform_tags, gi_version=self.gi_version, hostname=self.hostname, @@ -668,6 +680,7 @@ def get_cloud_vm_cluster(cloud_vm_cluster_id: Optional[str] = None, disk_redundancy=pulumi.get(__ret__, 'disk_redundancy'), display_name=pulumi.get(__ret__, 'display_name'), domain=pulumi.get(__ret__, 'domain'), + file_system_configuration_details=pulumi.get(__ret__, 'file_system_configuration_details'), freeform_tags=pulumi.get(__ret__, 'freeform_tags'), gi_version=pulumi.get(__ret__, 'gi_version'), hostname=pulumi.get(__ret__, 'hostname'), diff --git a/sdk/python/pulumi_oci/database/outputs.py b/sdk/python/pulumi_oci/database/outputs.py index e963a01e72..24afbbbd54 100644 --- a/sdk/python/pulumi_oci/database/outputs.py +++ b/sdk/python/pulumi_oci/database/outputs.py @@ -62,10 +62,12 @@ 'CloudAutonomousVmClusterMaintenanceWindowMonth', 'CloudDatabaseManagementCredentialdetails', 'CloudExadataInfrastructureCustomerContact', + 'CloudExadataInfrastructureDefinedFileSystemConfiguration', 'CloudExadataInfrastructureMaintenanceWindow', 'CloudExadataInfrastructureMaintenanceWindowDaysOfWeek', 'CloudExadataInfrastructureMaintenanceWindowMonth', 'CloudVmClusterDataCollectionOptions', + 'CloudVmClusterFileSystemConfigurationDetail', 'CloudVmClusterIormConfigCach', 'CloudVmClusterIormConfigCachDbPlan', 'CloudVmClusterIormConfigDbPlan', @@ -330,22 +332,26 @@ 'GetCloudAutonomousVmClustersCloudAutonomousVmClusterMaintenanceWindowMonthResult', 'GetCloudAutonomousVmClustersFilterResult', 'GetCloudExadataInfrastructureCustomerContactResult', + 'GetCloudExadataInfrastructureDefinedFileSystemConfigurationResult', 'GetCloudExadataInfrastructureMaintenanceWindowResult', 'GetCloudExadataInfrastructureMaintenanceWindowDaysOfWeekResult', 'GetCloudExadataInfrastructureMaintenanceWindowMonthResult', 'GetCloudExadataInfrastructureUnAllocatedResourceCloudAutonomousVmClusterResult', 'GetCloudExadataInfrastructuresCloudExadataInfrastructureResult', 'GetCloudExadataInfrastructuresCloudExadataInfrastructureCustomerContactResult', + 'GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationResult', 'GetCloudExadataInfrastructuresCloudExadataInfrastructureMaintenanceWindowResult', 'GetCloudExadataInfrastructuresCloudExadataInfrastructureMaintenanceWindowDaysOfWeekResult', 'GetCloudExadataInfrastructuresCloudExadataInfrastructureMaintenanceWindowMonthResult', 'GetCloudExadataInfrastructuresFilterResult', 'GetCloudVmClusterDataCollectionOptionResult', + 'GetCloudVmClusterFileSystemConfigurationDetailResult', 'GetCloudVmClusterIormConfigCachResult', 'GetCloudVmClusterIormConfigCachDbPlanResult', 'GetCloudVmClusterIormConfigDbPlanResult', 'GetCloudVmClustersCloudVmClusterResult', 'GetCloudVmClustersCloudVmClusterDataCollectionOptionResult', + 'GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailResult', 'GetCloudVmClustersCloudVmClusterIormConfigCachResult', 'GetCloudVmClustersCloudVmClusterIormConfigCachDbPlanResult', 'GetCloudVmClustersFilterResult', @@ -4105,6 +4111,84 @@ def email(self) -> Optional[str]: return pulumi.get(self, "email") +@pulumi.output_type +class CloudExadataInfrastructureDefinedFileSystemConfiguration(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "isBackupPartition": + suggest = "is_backup_partition" + elif key == "isResizable": + suggest = "is_resizable" + elif key == "minSizeGb": + suggest = "min_size_gb" + elif key == "mountPoint": + suggest = "mount_point" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CloudExadataInfrastructureDefinedFileSystemConfiguration. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CloudExadataInfrastructureDefinedFileSystemConfiguration.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CloudExadataInfrastructureDefinedFileSystemConfiguration.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + is_backup_partition: Optional[bool] = None, + is_resizable: Optional[bool] = None, + min_size_gb: Optional[int] = None, + mount_point: Optional[str] = None): + """ + :param bool is_backup_partition: If true, the file system is used to create a backup prior to Exadata VM OS update. + :param bool is_resizable: If true, the file system resize is allowed for the Exadata Infrastructure cluster. If false, the file system resize is not allowed. + :param int min_size_gb: The minimum size of file system. + :param str mount_point: The mount point of file system. + """ + if is_backup_partition is not None: + pulumi.set(__self__, "is_backup_partition", is_backup_partition) + if is_resizable is not None: + pulumi.set(__self__, "is_resizable", is_resizable) + if min_size_gb is not None: + pulumi.set(__self__, "min_size_gb", min_size_gb) + if mount_point is not None: + pulumi.set(__self__, "mount_point", mount_point) + + @property + @pulumi.getter(name="isBackupPartition") + def is_backup_partition(self) -> Optional[bool]: + """ + If true, the file system is used to create a backup prior to Exadata VM OS update. + """ + return pulumi.get(self, "is_backup_partition") + + @property + @pulumi.getter(name="isResizable") + def is_resizable(self) -> Optional[bool]: + """ + If true, the file system resize is allowed for the Exadata Infrastructure cluster. If false, the file system resize is not allowed. + """ + return pulumi.get(self, "is_resizable") + + @property + @pulumi.getter(name="minSizeGb") + def min_size_gb(self) -> Optional[int]: + """ + The minimum size of file system. + """ + return pulumi.get(self, "min_size_gb") + + @property + @pulumi.getter(name="mountPoint") + def mount_point(self) -> Optional[str]: + """ + The mount point of file system. + """ + return pulumi.get(self, "mount_point") + + @pulumi.output_type class CloudExadataInfrastructureMaintenanceWindow(dict): @staticmethod @@ -4379,6 +4463,56 @@ def is_incident_logs_enabled(self) -> Optional[bool]: return pulumi.get(self, "is_incident_logs_enabled") +@pulumi.output_type +class CloudVmClusterFileSystemConfigurationDetail(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "fileSystemSizeGb": + suggest = "file_system_size_gb" + elif key == "mountPoint": + suggest = "mount_point" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CloudVmClusterFileSystemConfigurationDetail. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CloudVmClusterFileSystemConfigurationDetail.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CloudVmClusterFileSystemConfigurationDetail.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + file_system_size_gb: Optional[int] = None, + mount_point: Optional[str] = None): + """ + :param int file_system_size_gb: (Updatable) The file system size to be allocated in GBs. + :param str mount_point: (Updatable) The mount point of file system. + """ + if file_system_size_gb is not None: + pulumi.set(__self__, "file_system_size_gb", file_system_size_gb) + if mount_point is not None: + pulumi.set(__self__, "mount_point", mount_point) + + @property + @pulumi.getter(name="fileSystemSizeGb") + def file_system_size_gb(self) -> Optional[int]: + """ + (Updatable) The file system size to be allocated in GBs. + """ + return pulumi.get(self, "file_system_size_gb") + + @property + @pulumi.getter(name="mountPoint") + def mount_point(self) -> Optional[str]: + """ + (Updatable) The mount point of file system. + """ + return pulumi.get(self, "mount_point") + + @pulumi.output_type class CloudVmClusterIormConfigCach(dict): @staticmethod @@ -12962,10 +13096,7 @@ def __init__(__self__, *, :param Sequence[str] list_one_off_patches: List of One-Off patches that has been successfully applied to Autonomous Container Database :param Sequence['GetAutonomousContainerDatabasesAutonomousContainerDatabaseMaintenanceWindowArgs'] maintenance_windows: The scheduling details for the quarterly maintenance window. Patching and system updates take place during the maintenance window. :param int memory_per_oracle_compute_unit_in_gbs: The amount of memory (in GBs) enabled per ECPU or OCPU in the Autonomous VM Cluster. - <<<<<<< HEAD :param str net_services_architecture: Enabling SHARED server architecture enables a database server to allow many client processes to share very few server processes, thereby increasing the number of supported users. - ======= - >>>>>>> 22609d6059 (Added - Support for Oracle Home Version Control - Phase 2 | ADB-D and ADB-C@C) :param str next_maintenance_run_id: The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the next maintenance run. :param str patch_id: The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the last patch applied on the system. :param str patch_model: Database patch model preference. @@ -13302,7 +13433,6 @@ def maintenance_windows(self) -> Sequence['outputs.GetAutonomousContainerDatabas def memory_per_oracle_compute_unit_in_gbs(self) -> int: """ The amount of memory (in GBs) enabled per ECPU or OCPU in the Autonomous VM Cluster. - <<<<<<< HEAD """ return pulumi.get(self, "memory_per_oracle_compute_unit_in_gbs") @@ -13311,8 +13441,6 @@ def memory_per_oracle_compute_unit_in_gbs(self) -> int: def net_services_architecture(self) -> str: """ Enabling SHARED server architecture enables a database server to allow many client processes to share very few server processes, thereby increasing the number of supported users. - ======= - >>>>>>> 22609d6059 (Added - Support for Oracle Home Version Control - Phase 2 | ADB-D and ADB-C@C) """ return pulumi.get(self, "net_services_architecture") @@ -25494,6 +25622,57 @@ def email(self) -> str: return pulumi.get(self, "email") +@pulumi.output_type +class GetCloudExadataInfrastructureDefinedFileSystemConfigurationResult(dict): + def __init__(__self__, *, + is_backup_partition: bool, + is_resizable: bool, + min_size_gb: int, + mount_point: str): + """ + :param bool is_backup_partition: If true, the file system is used to create a backup prior to Exadata VM OS update. + :param bool is_resizable: If true, the file system resize is allowed for the Exadata Infrastructure cluster. If false, the file system resize is not allowed. + :param int min_size_gb: The minimum size of file system. + :param str mount_point: The mount point of file system. + """ + pulumi.set(__self__, "is_backup_partition", is_backup_partition) + pulumi.set(__self__, "is_resizable", is_resizable) + pulumi.set(__self__, "min_size_gb", min_size_gb) + pulumi.set(__self__, "mount_point", mount_point) + + @property + @pulumi.getter(name="isBackupPartition") + def is_backup_partition(self) -> bool: + """ + If true, the file system is used to create a backup prior to Exadata VM OS update. + """ + return pulumi.get(self, "is_backup_partition") + + @property + @pulumi.getter(name="isResizable") + def is_resizable(self) -> bool: + """ + If true, the file system resize is allowed for the Exadata Infrastructure cluster. If false, the file system resize is not allowed. + """ + return pulumi.get(self, "is_resizable") + + @property + @pulumi.getter(name="minSizeGb") + def min_size_gb(self) -> int: + """ + The minimum size of file system. + """ + return pulumi.get(self, "min_size_gb") + + @property + @pulumi.getter(name="mountPoint") + def mount_point(self) -> str: + """ + The mount point of file system. + """ + return pulumi.get(self, "mount_point") + + @pulumi.output_type class GetCloudExadataInfrastructureMaintenanceWindowResult(dict): def __init__(__self__, *, @@ -25700,6 +25879,7 @@ def __init__(__self__, *, data_storage_size_in_tbs: float, db_node_storage_size_in_gbs: int, db_server_version: str, + defined_file_system_configurations: Sequence['outputs.GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationResult'], defined_tags: Mapping[str, Any], display_name: str, freeform_tags: Mapping[str, Any], @@ -25735,6 +25915,7 @@ def __init__(__self__, *, :param float data_storage_size_in_tbs: Size, in terabytes, of the DATA disk group. :param int db_node_storage_size_in_gbs: The local node storage allocated in GBs. :param str db_server_version: The software version of the database servers (dom0) in the cloud Exadata infrastructure. Example: 20.1.15 + :param Sequence['GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationArgs'] defined_file_system_configurations: Details of the file system configuration of the Exadata infrastructure. :param Mapping[str, Any] defined_tags: Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). :param str display_name: A filter to return only resources that match the entire display name given. The match is not case sensitive. :param Mapping[str, Any] freeform_tags: Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` @@ -25770,6 +25951,7 @@ def __init__(__self__, *, pulumi.set(__self__, "data_storage_size_in_tbs", data_storage_size_in_tbs) pulumi.set(__self__, "db_node_storage_size_in_gbs", db_node_storage_size_in_gbs) pulumi.set(__self__, "db_server_version", db_server_version) + pulumi.set(__self__, "defined_file_system_configurations", defined_file_system_configurations) pulumi.set(__self__, "defined_tags", defined_tags) pulumi.set(__self__, "display_name", display_name) pulumi.set(__self__, "freeform_tags", freeform_tags) @@ -25889,6 +26071,14 @@ def db_server_version(self) -> str: """ return pulumi.get(self, "db_server_version") + @property + @pulumi.getter(name="definedFileSystemConfigurations") + def defined_file_system_configurations(self) -> Sequence['outputs.GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationResult']: + """ + Details of the file system configuration of the Exadata infrastructure. + """ + return pulumi.get(self, "defined_file_system_configurations") + @property @pulumi.getter(name="definedTags") def defined_tags(self) -> Mapping[str, Any]: @@ -26084,6 +26274,57 @@ def email(self) -> str: return pulumi.get(self, "email") +@pulumi.output_type +class GetCloudExadataInfrastructuresCloudExadataInfrastructureDefinedFileSystemConfigurationResult(dict): + def __init__(__self__, *, + is_backup_partition: bool, + is_resizable: bool, + min_size_gb: int, + mount_point: str): + """ + :param bool is_backup_partition: If true, the file system is used to create a backup prior to Exadata VM OS update. + :param bool is_resizable: If true, the file system resize is allowed for the Exadata Infrastructure cluster. If false, the file system resize is not allowed. + :param int min_size_gb: The minimum size of file system. + :param str mount_point: The mount point of file system. + """ + pulumi.set(__self__, "is_backup_partition", is_backup_partition) + pulumi.set(__self__, "is_resizable", is_resizable) + pulumi.set(__self__, "min_size_gb", min_size_gb) + pulumi.set(__self__, "mount_point", mount_point) + + @property + @pulumi.getter(name="isBackupPartition") + def is_backup_partition(self) -> bool: + """ + If true, the file system is used to create a backup prior to Exadata VM OS update. + """ + return pulumi.get(self, "is_backup_partition") + + @property + @pulumi.getter(name="isResizable") + def is_resizable(self) -> bool: + """ + If true, the file system resize is allowed for the Exadata Infrastructure cluster. If false, the file system resize is not allowed. + """ + return pulumi.get(self, "is_resizable") + + @property + @pulumi.getter(name="minSizeGb") + def min_size_gb(self) -> int: + """ + The minimum size of file system. + """ + return pulumi.get(self, "min_size_gb") + + @property + @pulumi.getter(name="mountPoint") + def mount_point(self) -> str: + """ + The mount point of file system. + """ + return pulumi.get(self, "mount_point") + + @pulumi.output_type class GetCloudExadataInfrastructuresCloudExadataInfrastructureMaintenanceWindowResult(dict): def __init__(__self__, *, @@ -26319,6 +26560,35 @@ def is_incident_logs_enabled(self) -> bool: return pulumi.get(self, "is_incident_logs_enabled") +@pulumi.output_type +class GetCloudVmClusterFileSystemConfigurationDetailResult(dict): + def __init__(__self__, *, + file_system_size_gb: int, + mount_point: str): + """ + :param int file_system_size_gb: The file system size to be allocated in GBs. + :param str mount_point: The mount point of file system. + """ + pulumi.set(__self__, "file_system_size_gb", file_system_size_gb) + pulumi.set(__self__, "mount_point", mount_point) + + @property + @pulumi.getter(name="fileSystemSizeGb") + def file_system_size_gb(self) -> int: + """ + The file system size to be allocated in GBs. + """ + return pulumi.get(self, "file_system_size_gb") + + @property + @pulumi.getter(name="mountPoint") + def mount_point(self) -> str: + """ + The mount point of file system. + """ + return pulumi.get(self, "mount_point") + + @pulumi.output_type class GetCloudVmClusterIormConfigCachResult(dict): def __init__(__self__, *, @@ -26470,6 +26740,7 @@ def __init__(__self__, *, disk_redundancy: str, display_name: str, domain: str, + file_system_configuration_details: Sequence['outputs.GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailResult'], freeform_tags: Mapping[str, Any], gi_version: str, hostname: str, @@ -26519,6 +26790,7 @@ def __init__(__self__, *, :param str disk_redundancy: The type of redundancy configured for the cloud Vm cluster. NORMAL is 2-way redundancy. HIGH is 3-way redundancy. :param str display_name: A filter to return only resources that match the entire display name given. The match is not case sensitive. :param str domain: The domain name for the cloud VM cluster. + :param Sequence['GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailArgs'] file_system_configuration_details: Details of the file system configuration of the VM cluster. :param Mapping[str, Any] freeform_tags: Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` :param str gi_version: A valid Oracle Grid Infrastructure (GI) software version. :param str hostname: The hostname for the cloud VM cluster. @@ -26568,6 +26840,7 @@ def __init__(__self__, *, pulumi.set(__self__, "disk_redundancy", disk_redundancy) pulumi.set(__self__, "display_name", display_name) pulumi.set(__self__, "domain", domain) + pulumi.set(__self__, "file_system_configuration_details", file_system_configuration_details) pulumi.set(__self__, "freeform_tags", freeform_tags) pulumi.set(__self__, "gi_version", gi_version) pulumi.set(__self__, "hostname", hostname) @@ -26734,6 +27007,14 @@ def domain(self) -> str: """ return pulumi.get(self, "domain") + @property + @pulumi.getter(name="fileSystemConfigurationDetails") + def file_system_configuration_details(self) -> Sequence['outputs.GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailResult']: + """ + Details of the file system configuration of the VM cluster. + """ + return pulumi.get(self, "file_system_configuration_details") + @property @pulumi.getter(name="freeformTags") def freeform_tags(self) -> Mapping[str, Any]: @@ -27026,6 +27307,35 @@ def is_incident_logs_enabled(self) -> bool: return pulumi.get(self, "is_incident_logs_enabled") +@pulumi.output_type +class GetCloudVmClustersCloudVmClusterFileSystemConfigurationDetailResult(dict): + def __init__(__self__, *, + file_system_size_gb: int, + mount_point: str): + """ + :param int file_system_size_gb: The file system size to be allocated in GBs. + :param str mount_point: The mount point of file system. + """ + pulumi.set(__self__, "file_system_size_gb", file_system_size_gb) + pulumi.set(__self__, "mount_point", mount_point) + + @property + @pulumi.getter(name="fileSystemSizeGb") + def file_system_size_gb(self) -> int: + """ + The file system size to be allocated in GBs. + """ + return pulumi.get(self, "file_system_size_gb") + + @property + @pulumi.getter(name="mountPoint") + def mount_point(self) -> str: + """ + The mount point of file system. + """ + return pulumi.get(self, "mount_point") + + @pulumi.output_type class GetCloudVmClustersCloudVmClusterIormConfigCachResult(dict): def __init__(__self__, *, diff --git a/sdk/python/pulumi_oci/disasterrecovery/_inputs.py b/sdk/python/pulumi_oci/disasterrecovery/_inputs.py index d06dbb9312..9c11de61be 100644 --- a/sdk/python/pulumi_oci/disasterrecovery/_inputs.py +++ b/sdk/python/pulumi_oci/disasterrecovery/_inputs.py @@ -523,11 +523,13 @@ class DrPlanPlanGroupArgs: def __init__(__self__, *, display_name: Optional[pulumi.Input[str]] = None, id: Optional[pulumi.Input[str]] = None, + is_pause_enabled: Optional[pulumi.Input[bool]] = None, steps: Optional[pulumi.Input[Sequence[pulumi.Input['DrPlanPlanGroupStepArgs']]]] = None, type: Optional[pulumi.Input[str]] = None): """ :param pulumi.Input[str] display_name: (Updatable) The display name of the DR plan being created. Example: `EBS Switchover PHX to IAD` :param pulumi.Input[str] id: The unique id of the step. Must not be modified by the user. Example: `sgid1.step..uniqueID` + :param pulumi.Input[bool] is_pause_enabled: A flag indicating whether this group should be enabled for execution. This flag is only applicable to the `USER_DEFINED_PAUSE` group. The flag should be null for the remaining group types. Example: `true` :param pulumi.Input[Sequence[pulumi.Input['DrPlanPlanGroupStepArgs']]] steps: The list of steps in the group. :param pulumi.Input[str] type: The type of DR plan to be created. @@ -539,6 +541,8 @@ def __init__(__self__, *, pulumi.set(__self__, "display_name", display_name) if id is not None: pulumi.set(__self__, "id", id) + if is_pause_enabled is not None: + pulumi.set(__self__, "is_pause_enabled", is_pause_enabled) if steps is not None: pulumi.set(__self__, "steps", steps) if type is not None: @@ -568,6 +572,18 @@ def id(self) -> Optional[pulumi.Input[str]]: def id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "id", value) + @property + @pulumi.getter(name="isPauseEnabled") + def is_pause_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + A flag indicating whether this group should be enabled for execution. This flag is only applicable to the `USER_DEFINED_PAUSE` group. The flag should be null for the remaining group types. Example: `true` + """ + return pulumi.get(self, "is_pause_enabled") + + @is_pause_enabled.setter + def is_pause_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_pause_enabled", value) + @property @pulumi.getter def steps(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DrPlanPlanGroupStepArgs']]]]: diff --git a/sdk/python/pulumi_oci/disasterrecovery/outputs.py b/sdk/python/pulumi_oci/disasterrecovery/outputs.py index f949253943..33dc37900b 100644 --- a/sdk/python/pulumi_oci/disasterrecovery/outputs.py +++ b/sdk/python/pulumi_oci/disasterrecovery/outputs.py @@ -543,6 +543,8 @@ def __key_warning(key: str): suggest = None if key == "displayName": suggest = "display_name" + elif key == "isPauseEnabled": + suggest = "is_pause_enabled" if suggest: pulumi.log.warn(f"Key '{key}' not found in DrPlanPlanGroup. Access the value via the '{suggest}' property getter instead.") @@ -558,11 +560,13 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, display_name: Optional[str] = None, id: Optional[str] = None, + is_pause_enabled: Optional[bool] = None, steps: Optional[Sequence['outputs.DrPlanPlanGroupStep']] = None, type: Optional[str] = None): """ :param str display_name: (Updatable) The display name of the DR plan being created. Example: `EBS Switchover PHX to IAD` :param str id: The unique id of the step. Must not be modified by the user. Example: `sgid1.step..uniqueID` + :param bool is_pause_enabled: A flag indicating whether this group should be enabled for execution. This flag is only applicable to the `USER_DEFINED_PAUSE` group. The flag should be null for the remaining group types. Example: `true` :param Sequence['DrPlanPlanGroupStepArgs'] steps: The list of steps in the group. :param str type: The type of DR plan to be created. @@ -574,6 +578,8 @@ def __init__(__self__, *, pulumi.set(__self__, "display_name", display_name) if id is not None: pulumi.set(__self__, "id", id) + if is_pause_enabled is not None: + pulumi.set(__self__, "is_pause_enabled", is_pause_enabled) if steps is not None: pulumi.set(__self__, "steps", steps) if type is not None: @@ -595,6 +601,14 @@ def id(self) -> Optional[str]: """ return pulumi.get(self, "id") + @property + @pulumi.getter(name="isPauseEnabled") + def is_pause_enabled(self) -> Optional[bool]: + """ + A flag indicating whether this group should be enabled for execution. This flag is only applicable to the `USER_DEFINED_PAUSE` group. The flag should be null for the remaining group types. Example: `true` + """ + return pulumi.get(self, "is_pause_enabled") + @property @pulumi.getter def steps(self) -> Optional[Sequence['outputs.DrPlanPlanGroupStep']]: @@ -2805,16 +2819,19 @@ class GetDrPlanPlanGroupResult(dict): def __init__(__self__, *, display_name: str, id: str, + is_pause_enabled: bool, steps: Sequence['outputs.GetDrPlanPlanGroupStepResult'], type: str): """ :param str display_name: The display name of the group. Example: `DATABASE_SWITCHOVER` :param str id: The unique id of the step. Must not be modified by the user. Example: `sgid1.step..uniqueID` + :param bool is_pause_enabled: A flag indicating whether this group should be enabled for execution. This flag is only applicable to the `USER_DEFINED_PAUSE` group. The flag should be null for the remaining group types. Example: `true` :param Sequence['GetDrPlanPlanGroupStepArgs'] steps: The list of steps in the group. :param str type: The type of the DR plan. """ pulumi.set(__self__, "display_name", display_name) pulumi.set(__self__, "id", id) + pulumi.set(__self__, "is_pause_enabled", is_pause_enabled) pulumi.set(__self__, "steps", steps) pulumi.set(__self__, "type", type) @@ -2834,6 +2851,14 @@ def id(self) -> str: """ return pulumi.get(self, "id") + @property + @pulumi.getter(name="isPauseEnabled") + def is_pause_enabled(self) -> bool: + """ + A flag indicating whether this group should be enabled for execution. This flag is only applicable to the `USER_DEFINED_PAUSE` group. The flag should be null for the remaining group types. Example: `true` + """ + return pulumi.get(self, "is_pause_enabled") + @property @pulumi.getter def steps(self) -> Sequence['outputs.GetDrPlanPlanGroupStepResult']: @@ -3292,16 +3317,19 @@ class GetDrPlansDrPlanCollectionItemPlanGroupResult(dict): def __init__(__self__, *, display_name: str, id: str, + is_pause_enabled: bool, steps: Sequence['outputs.GetDrPlansDrPlanCollectionItemPlanGroupStepResult'], type: str): """ :param str display_name: A filter to return only resources that match the given display name. Example: `MyResourceDisplayName` :param str id: The unique id of the step. Must not be modified by the user. Example: `sgid1.step..uniqueID` + :param bool is_pause_enabled: A flag indicating whether this group should be enabled for execution. This flag is only applicable to the `USER_DEFINED_PAUSE` group. The flag should be null for the remaining group types. Example: `true` :param Sequence['GetDrPlansDrPlanCollectionItemPlanGroupStepArgs'] steps: The list of steps in the group. :param str type: The type of the DR plan. """ pulumi.set(__self__, "display_name", display_name) pulumi.set(__self__, "id", id) + pulumi.set(__self__, "is_pause_enabled", is_pause_enabled) pulumi.set(__self__, "steps", steps) pulumi.set(__self__, "type", type) @@ -3321,6 +3349,14 @@ def id(self) -> str: """ return pulumi.get(self, "id") + @property + @pulumi.getter(name="isPauseEnabled") + def is_pause_enabled(self) -> bool: + """ + A flag indicating whether this group should be enabled for execution. This flag is only applicable to the `USER_DEFINED_PAUSE` group. The flag should be null for the remaining group types. Example: `true` + """ + return pulumi.get(self, "is_pause_enabled") + @property @pulumi.getter def steps(self) -> Sequence['outputs.GetDrPlansDrPlanCollectionItemPlanGroupStepResult']: diff --git a/sdk/python/pulumi_oci/loadbalancer/_inputs.py b/sdk/python/pulumi_oci/loadbalancer/_inputs.py index 5cf1e03e6d..2c0cd8f12e 100644 --- a/sdk/python/pulumi_oci/loadbalancer/_inputs.py +++ b/sdk/python/pulumi_oci/loadbalancer/_inputs.py @@ -27,6 +27,7 @@ 'PathRouteSetPathRoutePathMatchTypeArgs', 'RuleSetItemArgs', 'RuleSetItemConditionArgs', + 'RuleSetItemIpMaxConnectionArgs', 'RuleSetItemRedirectUriArgs', 'GetBackendSetsFilterArgs', 'GetBackendsFilterArgs', @@ -50,21 +51,27 @@ def __init__(__self__, *, port: pulumi.Input[int], backup: Optional[pulumi.Input[bool]] = None, drain: Optional[pulumi.Input[bool]] = None, + max_connections: Optional[pulumi.Input[int]] = None, name: Optional[pulumi.Input[str]] = None, offline: Optional[pulumi.Input[bool]] = None, weight: Optional[pulumi.Input[int]] = None): """ - :param pulumi.Input[str] ip_address: The IP address of the backend server. Example: `10.0.0.3` + :param pulumi.Input[str] ip_address: (Updatable) The IP address of the backend server. Example: `10.0.0.3` :param pulumi.Input[int] port: (Updatable) The backend server port against which to run the health check. If the port is not specified, the load balancer uses the port information from the `Backend` object. Example: `8080` - :param pulumi.Input[bool] backup: Whether the load balancer should treat this server as a backup unit. If `true`, the load balancer forwards no ingress traffic to this backend server unless all other backend servers not marked as "backup" fail the health check policy. - :param pulumi.Input[bool] drain: Whether the load balancer should drain this server. Servers marked "drain" receive no new incoming traffic. Example: `false` + :param pulumi.Input[bool] backup: (Updatable) Whether the load balancer should treat this server as a backup unit. If `true`, the load balancer forwards no ingress traffic to this backend server unless all other backend servers not marked as "backup" fail the health check policy. + + **Note:** You cannot add a backend server marked as `backup` to a backend set that uses the IP Hash policy. + + Example: `false` + :param pulumi.Input[bool] drain: (Updatable) Whether the load balancer should drain this server. Servers marked "drain" receive no new incoming traffic. Example: `false` + :param pulumi.Input[int] max_connections: (Updatable) The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then the maximum number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` :param pulumi.Input[str] name: A friendly name for the backend set. It must be unique and it cannot be changed. Valid backend set names include only alphanumeric characters, dashes, and underscores. Backend set names cannot contain spaces. Avoid entering confidential information. Example: `example_backend_set` - :param pulumi.Input[bool] offline: Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` - :param pulumi.Input[int] weight: The load balancing policy weight assigned to the server. Backend servers with a higher weight receive a larger proportion of incoming traffic. For example, a server weighted '3' receives 3 times the number of new connections as a server weighted '1'. For more information on load balancing policies, see [How Load Balancing Policies Work](https://docs.cloud.oracle.com/iaas/Content/Balance/Reference/lbpolicies.htm). Example: `3` + :param pulumi.Input[bool] offline: (Updatable) Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` + :param pulumi.Input[int] weight: (Updatable) The load balancing policy weight assigned to the server. Backend servers with a higher weight receive a larger proportion of incoming traffic. For example, a server weighted '3' receives 3 times the number of new connections as a server weighted '1'. For more information on load balancing policies, see [How Load Balancing Policies Work](https://docs.cloud.oracle.com/iaas/Content/Balance/Reference/lbpolicies.htm). Example: `3` """ pulumi.set(__self__, "ip_address", ip_address) pulumi.set(__self__, "port", port) @@ -72,6 +79,8 @@ def __init__(__self__, *, pulumi.set(__self__, "backup", backup) if drain is not None: pulumi.set(__self__, "drain", drain) + if max_connections is not None: + pulumi.set(__self__, "max_connections", max_connections) if name is not None: pulumi.set(__self__, "name", name) if offline is not None: @@ -83,7 +92,7 @@ def __init__(__self__, *, @pulumi.getter(name="ipAddress") def ip_address(self) -> pulumi.Input[str]: """ - The IP address of the backend server. Example: `10.0.0.3` + (Updatable) The IP address of the backend server. Example: `10.0.0.3` """ return pulumi.get(self, "ip_address") @@ -107,7 +116,11 @@ def port(self, value: pulumi.Input[int]): @pulumi.getter def backup(self) -> Optional[pulumi.Input[bool]]: """ - Whether the load balancer should treat this server as a backup unit. If `true`, the load balancer forwards no ingress traffic to this backend server unless all other backend servers not marked as "backup" fail the health check policy. + (Updatable) Whether the load balancer should treat this server as a backup unit. If `true`, the load balancer forwards no ingress traffic to this backend server unless all other backend servers not marked as "backup" fail the health check policy. + + **Note:** You cannot add a backend server marked as `backup` to a backend set that uses the IP Hash policy. + + Example: `false` """ return pulumi.get(self, "backup") @@ -119,7 +132,7 @@ def backup(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter def drain(self) -> Optional[pulumi.Input[bool]]: """ - Whether the load balancer should drain this server. Servers marked "drain" receive no new incoming traffic. Example: `false` + (Updatable) Whether the load balancer should drain this server. Servers marked "drain" receive no new incoming traffic. Example: `false` """ return pulumi.get(self, "drain") @@ -127,6 +140,18 @@ def drain(self) -> Optional[pulumi.Input[bool]]: def drain(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "drain", value) + @property + @pulumi.getter(name="maxConnections") + def max_connections(self) -> Optional[pulumi.Input[int]]: + """ + (Updatable) The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then the maximum number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` + """ + return pulumi.get(self, "max_connections") + + @max_connections.setter + def max_connections(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "max_connections", value) + @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: @@ -147,7 +172,7 @@ def name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def offline(self) -> Optional[pulumi.Input[bool]]: """ - Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` + (Updatable) Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` """ return pulumi.get(self, "offline") @@ -159,7 +184,7 @@ def offline(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter def weight(self) -> Optional[pulumi.Input[int]]: """ - The load balancing policy weight assigned to the server. Backend servers with a higher weight receive a larger proportion of incoming traffic. For example, a server weighted '3' receives 3 times the number of new connections as a server weighted '1'. For more information on load balancing policies, see [How Load Balancing Policies Work](https://docs.cloud.oracle.com/iaas/Content/Balance/Reference/lbpolicies.htm). Example: `3` + (Updatable) The load balancing policy weight assigned to the server. Backend servers with a higher weight receive a larger proportion of incoming traffic. For example, a server weighted '3' receives 3 times the number of new connections as a server weighted '1'. For more information on load balancing policies, see [How Load Balancing Policies Work](https://docs.cloud.oracle.com/iaas/Content/Balance/Reference/lbpolicies.htm). Example: `3` """ return pulumi.get(self, "weight") @@ -1006,7 +1031,6 @@ def __init__(__self__, *, """ :param pulumi.Input[str] ip_address: An IP address. Example: `192.168.0.3` :param pulumi.Input[bool] is_public: Whether the IP address is public or private. - :param pulumi.Input[Sequence[pulumi.Input['LoadBalancerIpAddressDetailReservedIpArgs']]] reserved_ips: Pre-created public IP that will be used as the IP of this load balancer. This reserved IP will not be deleted when load balancer is deleted. This ip should not be already mapped to any other resource. """ if ip_address is not None: pulumi.set(__self__, "ip_address", ip_address) @@ -1042,9 +1066,6 @@ def is_public(self, value: Optional[pulumi.Input[bool]]): @property @pulumi.getter(name="reservedIps") def reserved_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['LoadBalancerIpAddressDetailReservedIpArgs']]]]: - """ - Pre-created public IP that will be used as the IP of this load balancer. This reserved IP will not be deleted when load balancer is deleted. This ip should not be already mapped to any other resource. - """ return pulumi.get(self, "reserved_ips") @reserved_ips.setter @@ -1057,7 +1078,15 @@ class LoadBalancerIpAddressDetailReservedIpArgs: def __init__(__self__, *, id: Optional[pulumi.Input[str]] = None): """ - :param pulumi.Input[str] id: Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. + :param pulumi.Input[str] id: Ocid of the Reserved IP/Public Ip created with VCN. + + Reserved IPs are IPs which already registered using VCN API. + + Create a reserved Public IP and then while creating the load balancer pass the ocid of the reserved IP in this field reservedIp to attach the Ip to Load balancer. Load balancer will be configured to listen to traffic on this IP. + + Reserved IPs will not be deleted when the Load balancer is deleted. They will be unattached from the Load balancer. + + Example: "ocid1.publicip.oc1.phx.unique_ID" Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. """ if id is not None: pulumi.set(__self__, "id", id) @@ -1066,7 +1095,15 @@ def __init__(__self__, *, @pulumi.getter def id(self) -> Optional[pulumi.Input[str]]: """ - Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. + Ocid of the Reserved IP/Public Ip created with VCN. + + Reserved IPs are IPs which already registered using VCN API. + + Create a reserved Public IP and then while creating the load balancer pass the ocid of the reserved IP in this field reservedIp to attach the Ip to Load balancer. Load balancer will be configured to listen to traffic on this IP. + + Reserved IPs will not be deleted when the Load balancer is deleted. They will be unattached from the Load balancer. + + Example: "ocid1.publicip.oc1.phx.unique_ID" Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. """ return pulumi.get(self, "id") @@ -1080,7 +1117,15 @@ class LoadBalancerReservedIpArgs: def __init__(__self__, *, id: Optional[pulumi.Input[str]] = None): """ - :param pulumi.Input[str] id: Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. + :param pulumi.Input[str] id: Ocid of the Reserved IP/Public Ip created with VCN. + + Reserved IPs are IPs which already registered using VCN API. + + Create a reserved Public IP and then while creating the load balancer pass the ocid of the reserved IP in this field reservedIp to attach the Ip to Load balancer. Load balancer will be configured to listen to traffic on this IP. + + Reserved IPs will not be deleted when the Load balancer is deleted. They will be unattached from the Load balancer. + + Example: "ocid1.publicip.oc1.phx.unique_ID" Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. """ if id is not None: pulumi.set(__self__, "id", id) @@ -1089,7 +1134,15 @@ def __init__(__self__, *, @pulumi.getter def id(self) -> Optional[pulumi.Input[str]]: """ - Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. + Ocid of the Reserved IP/Public Ip created with VCN. + + Reserved IPs are IPs which already registered using VCN API. + + Create a reserved Public IP and then while creating the load balancer pass the ocid of the reserved IP in this field reservedIp to attach the Ip to Load balancer. Load balancer will be configured to listen to traffic on this IP. + + Reserved IPs will not be deleted when the Load balancer is deleted. They will be unattached from the Load balancer. + + Example: "ocid1.publicip.oc1.phx.unique_ID" Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. """ return pulumi.get(self, "id") @@ -1359,9 +1412,11 @@ def __init__(__self__, *, allowed_methods: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, are_invalid_characters_allowed: Optional[pulumi.Input[bool]] = None, conditions: Optional[pulumi.Input[Sequence[pulumi.Input['RuleSetItemConditionArgs']]]] = None, + default_max_connections: Optional[pulumi.Input[int]] = None, description: Optional[pulumi.Input[str]] = None, header: Optional[pulumi.Input[str]] = None, http_large_header_size_in_kb: Optional[pulumi.Input[int]] = None, + ip_max_connections: Optional[pulumi.Input[Sequence[pulumi.Input['RuleSetItemIpMaxConnectionArgs']]]] = None, prefix: Optional[pulumi.Input[str]] = None, redirect_uri: Optional[pulumi.Input['RuleSetItemRedirectUriArgs']] = None, response_code: Optional[pulumi.Input[int]] = None, @@ -1369,7 +1424,7 @@ def __init__(__self__, *, suffix: Optional[pulumi.Input[str]] = None, value: Optional[pulumi.Input[str]] = None): """ - :param pulumi.Input[str] action: (Updatable) The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` + :param pulumi.Input[str] action: (Updatable) The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `IP_BASED_MAX_CONNECTIONS`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_methods: (Updatable) The list of HTTP methods allowed for this listener. By default, you can specify only the standard HTTP methods defined in the [HTTP Method Registry](http://www.iana.org/assignments/http-methods/http-methods.xhtml). You can also see a list of supported standard HTTP methods in the Load Balancing service documentation at [Managing Rule Sets](https://docs.cloud.oracle.com/iaas/Content/Balance/Tasks/managingrulesets.htm). @@ -1381,11 +1436,13 @@ def __init__(__self__, *, Example: ["GET", "PUT", "POST", "PROPFIND"] :param pulumi.Input[bool] are_invalid_characters_allowed: (Updatable) Indicates whether or not invalid characters in client header fields will be allowed. Valid names are composed of English letters, digits, hyphens and underscores. If "true", invalid characters are allowed in the HTTP header. If "false", invalid characters are not allowed in the HTTP header :param pulumi.Input[Sequence[pulumi.Input['RuleSetItemConditionArgs']]] conditions: (Updatable) + :param pulumi.Input[int] default_max_connections: (Updatable) The maximum number of connections that the any IP can make to a listener unless the IP is mentioned in maxConnections. If no defaultMaxConnections is specified the default is unlimited. :param pulumi.Input[str] description: (Updatable) A brief description of the access control rule. Avoid entering confidential information. example: `192.168.0.0/16 and 2001:db8::/32 are trusted clients. Whitelist them.` :param pulumi.Input[str] header: (Updatable) A header name that conforms to RFC 7230. Example: `example_header_name` :param pulumi.Input[int] http_large_header_size_in_kb: (Updatable) The maximum size of each buffer used for reading http client request header. This value indicates the maximum size allowed for each buffer. The allowed values for buffer size are 8, 16, 32 and 64. + :param pulumi.Input[Sequence[pulumi.Input['RuleSetItemIpMaxConnectionArgs']]] ip_max_connections: (Updatable) An array of IPs that have a maxConnection setting different than the default and what that maxConnection setting is :param pulumi.Input[str] prefix: (Updatable) A string to prepend to the header value. The resulting header value must still conform to RFC 7230. With the following exceptions: * value cannot contain `$` * value cannot contain patterns like `{variable_name}`. They are reserved for future extensions. Currently, such values are invalid. @@ -1446,12 +1503,16 @@ def __init__(__self__, *, pulumi.set(__self__, "are_invalid_characters_allowed", are_invalid_characters_allowed) if conditions is not None: pulumi.set(__self__, "conditions", conditions) + if default_max_connections is not None: + pulumi.set(__self__, "default_max_connections", default_max_connections) if description is not None: pulumi.set(__self__, "description", description) if header is not None: pulumi.set(__self__, "header", header) if http_large_header_size_in_kb is not None: pulumi.set(__self__, "http_large_header_size_in_kb", http_large_header_size_in_kb) + if ip_max_connections is not None: + pulumi.set(__self__, "ip_max_connections", ip_max_connections) if prefix is not None: pulumi.set(__self__, "prefix", prefix) if redirect_uri is not None: @@ -1469,7 +1530,7 @@ def __init__(__self__, *, @pulumi.getter def action(self) -> pulumi.Input[str]: """ - (Updatable) The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` + (Updatable) The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `IP_BASED_MAX_CONNECTIONS`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` """ return pulumi.get(self, "action") @@ -1521,6 +1582,18 @@ def conditions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RuleSetItem def conditions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RuleSetItemConditionArgs']]]]): pulumi.set(self, "conditions", value) + @property + @pulumi.getter(name="defaultMaxConnections") + def default_max_connections(self) -> Optional[pulumi.Input[int]]: + """ + (Updatable) The maximum number of connections that the any IP can make to a listener unless the IP is mentioned in maxConnections. If no defaultMaxConnections is specified the default is unlimited. + """ + return pulumi.get(self, "default_max_connections") + + @default_max_connections.setter + def default_max_connections(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "default_max_connections", value) + @property @pulumi.getter def description(self) -> Optional[pulumi.Input[str]]: @@ -1559,6 +1632,18 @@ def http_large_header_size_in_kb(self) -> Optional[pulumi.Input[int]]: def http_large_header_size_in_kb(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "http_large_header_size_in_kb", value) + @property + @pulumi.getter(name="ipMaxConnections") + def ip_max_connections(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RuleSetItemIpMaxConnectionArgs']]]]: + """ + (Updatable) An array of IPs that have a maxConnection setting different than the default and what that maxConnection setting is + """ + return pulumi.get(self, "ip_max_connections") + + @ip_max_connections.setter + def ip_max_connections(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RuleSetItemIpMaxConnectionArgs']]]]): + pulumi.set(self, "ip_max_connections", value) + @property @pulumi.getter def prefix(self) -> Optional[pulumi.Input[str]]: @@ -1745,6 +1830,45 @@ def operator(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "operator", value) +@pulumi.input_type +class RuleSetItemIpMaxConnectionArgs: + def __init__(__self__, *, + ip_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + max_connections: Optional[pulumi.Input[int]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input[str]]] ip_addresses: (Updatable) Each element in the list should be valid IPv4 or IPv6 CIDR Block address. Example: '["129.213.176.0/24", "150.136.187.0/24", "2002::1234:abcd:ffff:c0a8:101/64"]' + :param pulumi.Input[int] max_connections: (Updatable) The maximum number of simultaneous connections that the specified IPs can make to the Listener. IPs without a maxConnections setting can make either defaultMaxConnections simultaneous connections to a listener or, if no defaultMaxConnections is specified, an unlimited number of simultaneous connections to a listener. + """ + if ip_addresses is not None: + pulumi.set(__self__, "ip_addresses", ip_addresses) + if max_connections is not None: + pulumi.set(__self__, "max_connections", max_connections) + + @property + @pulumi.getter(name="ipAddresses") + def ip_addresses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + (Updatable) Each element in the list should be valid IPv4 or IPv6 CIDR Block address. Example: '["129.213.176.0/24", "150.136.187.0/24", "2002::1234:abcd:ffff:c0a8:101/64"]' + """ + return pulumi.get(self, "ip_addresses") + + @ip_addresses.setter + def ip_addresses(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "ip_addresses", value) + + @property + @pulumi.getter(name="maxConnections") + def max_connections(self) -> Optional[pulumi.Input[int]]: + """ + (Updatable) The maximum number of simultaneous connections that the specified IPs can make to the Listener. IPs without a maxConnections setting can make either defaultMaxConnections simultaneous connections to a listener or, if no defaultMaxConnections is specified, an unlimited number of simultaneous connections to a listener. + """ + return pulumi.get(self, "max_connections") + + @max_connections.setter + def max_connections(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "max_connections", value) + + @pulumi.input_type class RuleSetItemRedirectUriArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_oci/loadbalancer/backend.py b/sdk/python/pulumi_oci/loadbalancer/backend.py index b0b8d306f3..e4abde60cd 100644 --- a/sdk/python/pulumi_oci/loadbalancer/backend.py +++ b/sdk/python/pulumi_oci/loadbalancer/backend.py @@ -20,6 +20,7 @@ def __init__(__self__, *, port: pulumi.Input[int], backup: Optional[pulumi.Input[bool]] = None, drain: Optional[pulumi.Input[bool]] = None, + max_connections: Optional[pulumi.Input[int]] = None, offline: Optional[pulumi.Input[bool]] = None, weight: Optional[pulumi.Input[int]] = None): """ @@ -34,6 +35,7 @@ def __init__(__self__, *, Example: `false` :param pulumi.Input[bool] drain: (Updatable) Whether the load balancer should drain this server. Servers marked "drain" receive no new incoming traffic. Example: `false` + :param pulumi.Input[int] max_connections: (Updatable) The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` :param pulumi.Input[bool] offline: (Updatable) Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` :param pulumi.Input[int] weight: (Updatable) The load balancing policy weight assigned to the server. Backend servers with a higher weight receive a larger proportion of incoming traffic. For example, a server weighted '3' receives 3 times the number of new connections as a server weighted '1'. For more information on load balancing policies, see [How Load Balancing Policies Work](https://docs.cloud.oracle.com/iaas/Content/Balance/Reference/lbpolicies.htm). Example: `3` @@ -49,6 +51,8 @@ def __init__(__self__, *, pulumi.set(__self__, "backup", backup) if drain is not None: pulumi.set(__self__, "drain", drain) + if max_connections is not None: + pulumi.set(__self__, "max_connections", max_connections) if offline is not None: pulumi.set(__self__, "offline", offline) if weight is not None: @@ -130,6 +134,18 @@ def drain(self) -> Optional[pulumi.Input[bool]]: def drain(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "drain", value) + @property + @pulumi.getter(name="maxConnections") + def max_connections(self) -> Optional[pulumi.Input[int]]: + """ + (Updatable) The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` + """ + return pulumi.get(self, "max_connections") + + @max_connections.setter + def max_connections(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "max_connections", value) + @property @pulumi.getter def offline(self) -> Optional[pulumi.Input[bool]]: @@ -167,6 +183,7 @@ def __init__(__self__, *, drain: Optional[pulumi.Input[bool]] = None, ip_address: Optional[pulumi.Input[str]] = None, load_balancer_id: Optional[pulumi.Input[str]] = None, + max_connections: Optional[pulumi.Input[int]] = None, name: Optional[pulumi.Input[str]] = None, offline: Optional[pulumi.Input[bool]] = None, port: Optional[pulumi.Input[int]] = None, @@ -183,6 +200,7 @@ def __init__(__self__, *, :param pulumi.Input[bool] drain: (Updatable) Whether the load balancer should drain this server. Servers marked "drain" receive no new incoming traffic. Example: `false` :param pulumi.Input[str] ip_address: The IP address of the backend server. Example: `10.0.0.3` :param pulumi.Input[str] load_balancer_id: The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the load balancer associated with the backend set and servers. + :param pulumi.Input[int] max_connections: (Updatable) The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` :param pulumi.Input[str] name: A read-only field showing the IP address and port that uniquely identify this backend server in the backend set. Example: `10.0.0.3:8080` :param pulumi.Input[bool] offline: (Updatable) Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` :param pulumi.Input[int] port: The communication port for the backend server. Example: `8080` @@ -202,6 +220,8 @@ def __init__(__self__, *, pulumi.set(__self__, "ip_address", ip_address) if load_balancer_id is not None: pulumi.set(__self__, "load_balancer_id", load_balancer_id) + if max_connections is not None: + pulumi.set(__self__, "max_connections", max_connections) if name is not None: pulumi.set(__self__, "name", name) if offline is not None: @@ -277,6 +297,18 @@ def load_balancer_id(self) -> Optional[pulumi.Input[str]]: def load_balancer_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "load_balancer_id", value) + @property + @pulumi.getter(name="maxConnections") + def max_connections(self) -> Optional[pulumi.Input[int]]: + """ + (Updatable) The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` + """ + return pulumi.get(self, "max_connections") + + @max_connections.setter + def max_connections(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "max_connections", value) + @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: @@ -349,6 +381,7 @@ def __init__(__self__, drain: Optional[pulumi.Input[bool]] = None, ip_address: Optional[pulumi.Input[str]] = None, load_balancer_id: Optional[pulumi.Input[str]] = None, + max_connections: Optional[pulumi.Input[int]] = None, offline: Optional[pulumi.Input[bool]] = None, port: Optional[pulumi.Input[int]] = None, weight: Optional[pulumi.Input[int]] = None, @@ -371,6 +404,7 @@ def __init__(__self__, port=backend_port, backup=backend_backup, drain=backend_drain, + max_connections=backend_max_connections, offline=backend_offline, weight=backend_weight) ``` @@ -394,6 +428,7 @@ def __init__(__self__, :param pulumi.Input[bool] drain: (Updatable) Whether the load balancer should drain this server. Servers marked "drain" receive no new incoming traffic. Example: `false` :param pulumi.Input[str] ip_address: The IP address of the backend server. Example: `10.0.0.3` :param pulumi.Input[str] load_balancer_id: The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the load balancer associated with the backend set and servers. + :param pulumi.Input[int] max_connections: (Updatable) The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` :param pulumi.Input[bool] offline: (Updatable) Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` :param pulumi.Input[int] port: The communication port for the backend server. Example: `8080` :param pulumi.Input[int] weight: (Updatable) The load balancing policy weight assigned to the server. Backend servers with a higher weight receive a larger proportion of incoming traffic. For example, a server weighted '3' receives 3 times the number of new connections as a server weighted '1'. For more information on load balancing policies, see [How Load Balancing Policies Work](https://docs.cloud.oracle.com/iaas/Content/Balance/Reference/lbpolicies.htm). Example: `3` @@ -426,6 +461,7 @@ def __init__(__self__, port=backend_port, backup=backend_backup, drain=backend_drain, + max_connections=backend_max_connections, offline=backend_offline, weight=backend_weight) ``` @@ -458,6 +494,7 @@ def _internal_init(__self__, drain: Optional[pulumi.Input[bool]] = None, ip_address: Optional[pulumi.Input[str]] = None, load_balancer_id: Optional[pulumi.Input[str]] = None, + max_connections: Optional[pulumi.Input[int]] = None, offline: Optional[pulumi.Input[bool]] = None, port: Optional[pulumi.Input[int]] = None, weight: Optional[pulumi.Input[int]] = None, @@ -481,6 +518,7 @@ def _internal_init(__self__, if load_balancer_id is None and not opts.urn: raise TypeError("Missing required property 'load_balancer_id'") __props__.__dict__["load_balancer_id"] = load_balancer_id + __props__.__dict__["max_connections"] = max_connections __props__.__dict__["offline"] = offline if port is None and not opts.urn: raise TypeError("Missing required property 'port'") @@ -503,6 +541,7 @@ def get(resource_name: str, drain: Optional[pulumi.Input[bool]] = None, ip_address: Optional[pulumi.Input[str]] = None, load_balancer_id: Optional[pulumi.Input[str]] = None, + max_connections: Optional[pulumi.Input[int]] = None, name: Optional[pulumi.Input[str]] = None, offline: Optional[pulumi.Input[bool]] = None, port: Optional[pulumi.Input[int]] = None, @@ -524,6 +563,7 @@ def get(resource_name: str, :param pulumi.Input[bool] drain: (Updatable) Whether the load balancer should drain this server. Servers marked "drain" receive no new incoming traffic. Example: `false` :param pulumi.Input[str] ip_address: The IP address of the backend server. Example: `10.0.0.3` :param pulumi.Input[str] load_balancer_id: The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the load balancer associated with the backend set and servers. + :param pulumi.Input[int] max_connections: (Updatable) The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` :param pulumi.Input[str] name: A read-only field showing the IP address and port that uniquely identify this backend server in the backend set. Example: `10.0.0.3:8080` :param pulumi.Input[bool] offline: (Updatable) Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` :param pulumi.Input[int] port: The communication port for the backend server. Example: `8080` @@ -542,6 +582,7 @@ def get(resource_name: str, __props__.__dict__["drain"] = drain __props__.__dict__["ip_address"] = ip_address __props__.__dict__["load_balancer_id"] = load_balancer_id + __props__.__dict__["max_connections"] = max_connections __props__.__dict__["name"] = name __props__.__dict__["offline"] = offline __props__.__dict__["port"] = port @@ -593,6 +634,14 @@ def load_balancer_id(self) -> pulumi.Output[str]: """ return pulumi.get(self, "load_balancer_id") + @property + @pulumi.getter(name="maxConnections") + def max_connections(self) -> pulumi.Output[int]: + """ + (Updatable) The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` + """ + return pulumi.get(self, "max_connections") + @property @pulumi.getter def name(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_oci/loadbalancer/backend_set.py b/sdk/python/pulumi_oci/loadbalancer/backend_set.py index a490dbba58..b5022ef145 100644 --- a/sdk/python/pulumi_oci/loadbalancer/backend_set.py +++ b/sdk/python/pulumi_oci/loadbalancer/backend_set.py @@ -19,6 +19,7 @@ def __init__(__self__, *, health_checker: pulumi.Input['BackendSetHealthCheckerArgs'], load_balancer_id: pulumi.Input[str], policy: pulumi.Input[str], + backend_max_connections: Optional[pulumi.Input[int]] = None, lb_cookie_session_persistence_configuration: Optional[pulumi.Input['BackendSetLbCookieSessionPersistenceConfigurationArgs']] = None, name: Optional[pulumi.Input[str]] = None, session_persistence_configuration: Optional[pulumi.Input['BackendSetSessionPersistenceConfigurationArgs']] = None, @@ -28,6 +29,7 @@ def __init__(__self__, *, :param pulumi.Input['BackendSetHealthCheckerArgs'] health_checker: (Updatable) The health check policy's configuration details. :param pulumi.Input[str] load_balancer_id: The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the load balancer on which to add a backend set. :param pulumi.Input[str] policy: (Updatable) The load balancer policy for the backend set. To get a list of available policies, use the [ListPolicies](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerPolicy/ListPolicies) operation. Example: `LEAST_CONNECTIONS` + :param pulumi.Input[int] backend_max_connections: (Updatable) The maximum number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting. If this is not set then the number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting is unlimited. Example: `300` :param pulumi.Input['BackendSetLbCookieSessionPersistenceConfigurationArgs'] lb_cookie_session_persistence_configuration: (Updatable) The configuration details for implementing load balancer cookie session persistence (LB cookie stickiness). Session persistence enables the Load Balancing service to direct all requests that originate from a single logical client to a single backend web server. For more information, see [Session Persistence](https://docs.cloud.oracle.com/iaas/Content/Balance/Reference/sessionpersistence.htm). @@ -68,6 +70,8 @@ def __init__(__self__, *, pulumi.set(__self__, "health_checker", health_checker) pulumi.set(__self__, "load_balancer_id", load_balancer_id) pulumi.set(__self__, "policy", policy) + if backend_max_connections is not None: + pulumi.set(__self__, "backend_max_connections", backend_max_connections) if lb_cookie_session_persistence_configuration is not None: pulumi.set(__self__, "lb_cookie_session_persistence_configuration", lb_cookie_session_persistence_configuration) if name is not None: @@ -113,6 +117,18 @@ def policy(self) -> pulumi.Input[str]: def policy(self, value: pulumi.Input[str]): pulumi.set(self, "policy", value) + @property + @pulumi.getter(name="backendMaxConnections") + def backend_max_connections(self) -> Optional[pulumi.Input[int]]: + """ + (Updatable) The maximum number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting. If this is not set then the number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting is unlimited. Example: `300` + """ + return pulumi.get(self, "backend_max_connections") + + @backend_max_connections.setter + def backend_max_connections(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "backend_max_connections", value) + @property @pulumi.getter(name="lbCookieSessionPersistenceConfiguration") def lb_cookie_session_persistence_configuration(self) -> Optional[pulumi.Input['BackendSetLbCookieSessionPersistenceConfigurationArgs']]: @@ -197,6 +213,7 @@ def ssl_configuration(self, value: Optional[pulumi.Input['BackendSetSslConfigura @pulumi.input_type class _BackendSetState: def __init__(__self__, *, + backend_max_connections: Optional[pulumi.Input[int]] = None, backends: Optional[pulumi.Input[Sequence[pulumi.Input['BackendSetBackendArgs']]]] = None, health_checker: Optional[pulumi.Input['BackendSetHealthCheckerArgs']] = None, lb_cookie_session_persistence_configuration: Optional[pulumi.Input['BackendSetLbCookieSessionPersistenceConfigurationArgs']] = None, @@ -208,6 +225,8 @@ def __init__(__self__, *, state: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering BackendSet resources. + :param pulumi.Input[int] backend_max_connections: (Updatable) The maximum number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting. If this is not set then the number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting is unlimited. Example: `300` + :param pulumi.Input[Sequence[pulumi.Input['BackendSetBackendArgs']]] backends: (Updatable) :param pulumi.Input['BackendSetHealthCheckerArgs'] health_checker: (Updatable) The health check policy's configuration details. :param pulumi.Input['BackendSetLbCookieSessionPersistenceConfigurationArgs'] lb_cookie_session_persistence_configuration: (Updatable) The configuration details for implementing load balancer cookie session persistence (LB cookie stickiness). @@ -248,6 +267,8 @@ def __init__(__self__, *, **Warning:** Oracle recommends that you avoid using any confidential information when you supply string values using the API. """ + if backend_max_connections is not None: + pulumi.set(__self__, "backend_max_connections", backend_max_connections) if backends is not None: pulumi.set(__self__, "backends", backends) if health_checker is not None: @@ -267,9 +288,24 @@ def __init__(__self__, *, if state is not None: pulumi.set(__self__, "state", state) + @property + @pulumi.getter(name="backendMaxConnections") + def backend_max_connections(self) -> Optional[pulumi.Input[int]]: + """ + (Updatable) The maximum number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting. If this is not set then the number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting is unlimited. Example: `300` + """ + return pulumi.get(self, "backend_max_connections") + + @backend_max_connections.setter + def backend_max_connections(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "backend_max_connections", value) + @property @pulumi.getter def backends(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['BackendSetBackendArgs']]]]: + """ + (Updatable) + """ return pulumi.get(self, "backends") @backends.setter @@ -407,6 +443,7 @@ class BackendSet(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + backend_max_connections: Optional[pulumi.Input[int]] = None, health_checker: Optional[pulumi.Input[pulumi.InputType['BackendSetHealthCheckerArgs']]] = None, lb_cookie_session_persistence_configuration: Optional[pulumi.Input[pulumi.InputType['BackendSetLbCookieSessionPersistenceConfigurationArgs']]] = None, load_balancer_id: Optional[pulumi.Input[str]] = None, @@ -445,6 +482,7 @@ def __init__(__self__, load_balancer_id=test_load_balancer["id"], name=backend_set_name, policy=backend_set_policy, + backend_max_connections=backend_set_backend_max_connections, lb_cookie_session_persistence_configuration=oci.load_balancer.BackendSetLbCookieSessionPersistenceConfigurationArgs( cookie_name=backend_set_lb_cookie_session_persistence_configuration_cookie_name, disable_fallback=backend_set_lb_cookie_session_persistence_configuration_disable_fallback, @@ -483,6 +521,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[int] backend_max_connections: (Updatable) The maximum number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting. If this is not set then the number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting is unlimited. Example: `300` :param pulumi.Input[pulumi.InputType['BackendSetHealthCheckerArgs']] health_checker: (Updatable) The health check policy's configuration details. :param pulumi.Input[pulumi.InputType['BackendSetLbCookieSessionPersistenceConfigurationArgs']] lb_cookie_session_persistence_configuration: (Updatable) The configuration details for implementing load balancer cookie session persistence (LB cookie stickiness). @@ -559,6 +598,7 @@ def __init__(__self__, load_balancer_id=test_load_balancer["id"], name=backend_set_name, policy=backend_set_policy, + backend_max_connections=backend_set_backend_max_connections, lb_cookie_session_persistence_configuration=oci.load_balancer.BackendSetLbCookieSessionPersistenceConfigurationArgs( cookie_name=backend_set_lb_cookie_session_persistence_configuration_cookie_name, disable_fallback=backend_set_lb_cookie_session_persistence_configuration_disable_fallback, @@ -610,6 +650,7 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + backend_max_connections: Optional[pulumi.Input[int]] = None, health_checker: Optional[pulumi.Input[pulumi.InputType['BackendSetHealthCheckerArgs']]] = None, lb_cookie_session_persistence_configuration: Optional[pulumi.Input[pulumi.InputType['BackendSetLbCookieSessionPersistenceConfigurationArgs']]] = None, load_balancer_id: Optional[pulumi.Input[str]] = None, @@ -626,6 +667,7 @@ def _internal_init(__self__, raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') __props__ = BackendSetArgs.__new__(BackendSetArgs) + __props__.__dict__["backend_max_connections"] = backend_max_connections if health_checker is None and not opts.urn: raise TypeError("Missing required property 'health_checker'") __props__.__dict__["health_checker"] = health_checker @@ -651,6 +693,7 @@ def _internal_init(__self__, def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, + backend_max_connections: Optional[pulumi.Input[int]] = None, backends: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['BackendSetBackendArgs']]]]] = None, health_checker: Optional[pulumi.Input[pulumi.InputType['BackendSetHealthCheckerArgs']]] = None, lb_cookie_session_persistence_configuration: Optional[pulumi.Input[pulumi.InputType['BackendSetLbCookieSessionPersistenceConfigurationArgs']]] = None, @@ -667,6 +710,8 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[int] backend_max_connections: (Updatable) The maximum number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting. If this is not set then the number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting is unlimited. Example: `300` + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['BackendSetBackendArgs']]]] backends: (Updatable) :param pulumi.Input[pulumi.InputType['BackendSetHealthCheckerArgs']] health_checker: (Updatable) The health check policy's configuration details. :param pulumi.Input[pulumi.InputType['BackendSetLbCookieSessionPersistenceConfigurationArgs']] lb_cookie_session_persistence_configuration: (Updatable) The configuration details for implementing load balancer cookie session persistence (LB cookie stickiness). @@ -711,6 +756,7 @@ def get(resource_name: str, __props__ = _BackendSetState.__new__(_BackendSetState) + __props__.__dict__["backend_max_connections"] = backend_max_connections __props__.__dict__["backends"] = backends __props__.__dict__["health_checker"] = health_checker __props__.__dict__["lb_cookie_session_persistence_configuration"] = lb_cookie_session_persistence_configuration @@ -722,9 +768,20 @@ def get(resource_name: str, __props__.__dict__["state"] = state return BackendSet(resource_name, opts=opts, __props__=__props__) + @property + @pulumi.getter(name="backendMaxConnections") + def backend_max_connections(self) -> pulumi.Output[int]: + """ + (Updatable) The maximum number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting. If this is not set then the number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting is unlimited. Example: `300` + """ + return pulumi.get(self, "backend_max_connections") + @property @pulumi.getter def backends(self) -> pulumi.Output[Sequence['outputs.BackendSetBackend']]: + """ + (Updatable) + """ return pulumi.get(self, "backends") @property diff --git a/sdk/python/pulumi_oci/loadbalancer/get_listener_rules.py b/sdk/python/pulumi_oci/loadbalancer/get_listener_rules.py index 4968a856b9..0c08087454 100644 --- a/sdk/python/pulumi_oci/loadbalancer/get_listener_rules.py +++ b/sdk/python/pulumi_oci/loadbalancer/get_listener_rules.py @@ -111,7 +111,7 @@ def get_listener_rules(filters: Optional[Sequence[pulumi.InputType['GetListenerR ``` - :param str listener_name: The name of the listener the rules are associated with. + :param str listener_name: The name of the listener the rules are associated with. Example: `example_listener` :param str load_balancer_id: The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the load balancer associated with the listener. """ __args__ = dict() @@ -156,7 +156,7 @@ def get_listener_rules_output(filters: Optional[pulumi.Input[Optional[Sequence[p ``` - :param str listener_name: The name of the listener the rules are associated with. + :param str listener_name: The name of the listener the rules are associated with. Example: `example_listener` :param str load_balancer_id: The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the load balancer associated with the listener. """ ... diff --git a/sdk/python/pulumi_oci/loadbalancer/load_balancer.py b/sdk/python/pulumi_oci/loadbalancer/load_balancer.py index 429ec063cd..136fb60377 100644 --- a/sdk/python/pulumi_oci/loadbalancer/load_balancer.py +++ b/sdk/python/pulumi_oci/loadbalancer/load_balancer.py @@ -23,6 +23,7 @@ def __init__(__self__, *, defined_tags: Optional[pulumi.Input[Mapping[str, Any]]] = None, freeform_tags: Optional[pulumi.Input[Mapping[str, Any]]] = None, ip_mode: Optional[pulumi.Input[str]] = None, + is_delete_protection_enabled: Optional[pulumi.Input[bool]] = None, is_private: Optional[pulumi.Input[bool]] = None, network_security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, reserved_ips: Optional[pulumi.Input[Sequence[pulumi.Input['LoadBalancerReservedIpArgs']]]] = None, @@ -31,7 +32,7 @@ def __init__(__self__, *, The set of arguments for constructing a LoadBalancer resource. :param pulumi.Input[str] compartment_id: (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment in which to create the load balancer. :param pulumi.Input[str] display_name: (Updatable) A user-friendly name. It does not have to be unique, and it is changeable. Avoid entering confidential information. Example: `example_load_balancer` - :param pulumi.Input[str] shape: (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: Starting May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. + :param pulumi.Input[str] shape: (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: After May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. :param pulumi.Input[Sequence[pulumi.Input[str]]] subnet_ids: An array of subnet [OCIDs](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm). @@ -46,6 +47,13 @@ def __init__(__self__, *, If "IPV6", the service assigns an IPv6 address and the load balancer supports IPv6 traffic. Example: "ipMode":"IPV6" + :param pulumi.Input[bool] is_delete_protection_enabled: (Updatable) Whether or not the load balancer has delete protection enabled. + + If "true", the loadbalancer will be protected against deletion if configured to accept traffic. + + If "false", the loadbalancer will not be protected against deletion. + + Delete protection will not be enabled unless a value of "true" is provided. Example: `true` :param pulumi.Input[bool] is_private: Whether the load balancer has a VCN-local (private) IP address. If "true", the service assigns a private IP address to the load balancer. @@ -77,6 +85,8 @@ def __init__(__self__, *, pulumi.set(__self__, "freeform_tags", freeform_tags) if ip_mode is not None: pulumi.set(__self__, "ip_mode", ip_mode) + if is_delete_protection_enabled is not None: + pulumi.set(__self__, "is_delete_protection_enabled", is_delete_protection_enabled) if is_private is not None: pulumi.set(__self__, "is_private", is_private) if network_security_group_ids is not None: @@ -114,7 +124,7 @@ def display_name(self, value: pulumi.Input[str]): @pulumi.getter def shape(self) -> pulumi.Input[str]: """ - (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: Starting May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. + (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: After May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. """ return pulumi.get(self, "shape") @@ -180,6 +190,24 @@ def ip_mode(self) -> Optional[pulumi.Input[str]]: def ip_mode(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "ip_mode", value) + @property + @pulumi.getter(name="isDeleteProtectionEnabled") + def is_delete_protection_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + (Updatable) Whether or not the load balancer has delete protection enabled. + + If "true", the loadbalancer will be protected against deletion if configured to accept traffic. + + If "false", the loadbalancer will not be protected against deletion. + + Delete protection will not be enabled unless a value of "true" is provided. Example: `true` + """ + return pulumi.get(self, "is_delete_protection_enabled") + + @is_delete_protection_enabled.setter + def is_delete_protection_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_delete_protection_enabled", value) + @property @pulumi.getter(name="isPrivate") def is_private(self) -> Optional[pulumi.Input[bool]]: @@ -255,6 +283,7 @@ def __init__(__self__, *, ip_address_details: Optional[pulumi.Input[Sequence[pulumi.Input['LoadBalancerIpAddressDetailArgs']]]] = None, ip_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, ip_mode: Optional[pulumi.Input[str]] = None, + is_delete_protection_enabled: Optional[pulumi.Input[bool]] = None, is_private: Optional[pulumi.Input[bool]] = None, network_security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, reserved_ips: Optional[pulumi.Input[Sequence[pulumi.Input['LoadBalancerReservedIpArgs']]]] = None, @@ -279,6 +308,13 @@ def __init__(__self__, *, If "IPV6", the service assigns an IPv6 address and the load balancer supports IPv6 traffic. Example: "ipMode":"IPV6" + :param pulumi.Input[bool] is_delete_protection_enabled: (Updatable) Whether or not the load balancer has delete protection enabled. + + If "true", the loadbalancer will be protected against deletion if configured to accept traffic. + + If "false", the loadbalancer will not be protected against deletion. + + Delete protection will not be enabled unless a value of "true" is provided. Example: `true` :param pulumi.Input[bool] is_private: Whether the load balancer has a VCN-local (private) IP address. If "true", the service assigns a private IP address to the load balancer. @@ -298,7 +334,7 @@ def __init__(__self__, *, Example: `["ocid1.nsg.oc1.phx.unique_ID"]` :param pulumi.Input[Sequence[pulumi.Input['LoadBalancerReservedIpArgs']]] reserved_ips: An array of reserved Ips. Pre-created public IP that will be used as the IP of this load balancer. This reserved IP will not be deleted when load balancer is deleted. This ip should not be already mapped to any other resource. - :param pulumi.Input[str] shape: (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: Starting May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. + :param pulumi.Input[str] shape: (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: After May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. :param pulumi.Input['LoadBalancerShapeDetailsArgs'] shape_details: (Updatable) The configuration details to create load balancer using Flexible shape. This is required only if shapeName is `Flexible`. :param pulumi.Input[str] state: The current state of the load balancer. :param pulumi.Input[Sequence[pulumi.Input[str]]] subnet_ids: An array of subnet [OCIDs](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm). @@ -326,6 +362,8 @@ def __init__(__self__, *, pulumi.set(__self__, "ip_addresses", ip_addresses) if ip_mode is not None: pulumi.set(__self__, "ip_mode", ip_mode) + if is_delete_protection_enabled is not None: + pulumi.set(__self__, "is_delete_protection_enabled", is_delete_protection_enabled) if is_private is not None: pulumi.set(__self__, "is_private", is_private) if network_security_group_ids is not None: @@ -438,6 +476,24 @@ def ip_mode(self) -> Optional[pulumi.Input[str]]: def ip_mode(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "ip_mode", value) + @property + @pulumi.getter(name="isDeleteProtectionEnabled") + def is_delete_protection_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + (Updatable) Whether or not the load balancer has delete protection enabled. + + If "true", the loadbalancer will be protected against deletion if configured to accept traffic. + + If "false", the loadbalancer will not be protected against deletion. + + Delete protection will not be enabled unless a value of "true" is provided. Example: `true` + """ + return pulumi.get(self, "is_delete_protection_enabled") + + @is_delete_protection_enabled.setter + def is_delete_protection_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_delete_protection_enabled", value) + @property @pulumi.getter(name="isPrivate") def is_private(self) -> Optional[pulumi.Input[bool]]: @@ -494,7 +550,7 @@ def reserved_ips(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['LoadB @pulumi.getter def shape(self) -> Optional[pulumi.Input[str]]: """ - (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: Starting May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. + (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: After May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. """ return pulumi.get(self, "shape") @@ -577,6 +633,7 @@ def __init__(__self__, display_name: Optional[pulumi.Input[str]] = None, freeform_tags: Optional[pulumi.Input[Mapping[str, Any]]] = None, ip_mode: Optional[pulumi.Input[str]] = None, + is_delete_protection_enabled: Optional[pulumi.Input[bool]] = None, is_private: Optional[pulumi.Input[bool]] = None, network_security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, reserved_ips: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['LoadBalancerReservedIpArgs']]]]] = None, @@ -634,6 +691,7 @@ def __init__(__self__, "Department": "Finance", }, ip_mode=load_balancer_ip_mode, + is_delete_protection_enabled=load_balancer_is_delete_protection_enabled, is_private=load_balancer_is_private, network_security_group_ids=load_balancer_network_security_group_ids, reserved_ips=[oci.load_balancer.LoadBalancerReservedIpArgs( @@ -666,6 +724,13 @@ def __init__(__self__, If "IPV6", the service assigns an IPv6 address and the load balancer supports IPv6 traffic. Example: "ipMode":"IPV6" + :param pulumi.Input[bool] is_delete_protection_enabled: (Updatable) Whether or not the load balancer has delete protection enabled. + + If "true", the loadbalancer will be protected against deletion if configured to accept traffic. + + If "false", the loadbalancer will not be protected against deletion. + + Delete protection will not be enabled unless a value of "true" is provided. Example: `true` :param pulumi.Input[bool] is_private: Whether the load balancer has a VCN-local (private) IP address. If "true", the service assigns a private IP address to the load balancer. @@ -685,7 +750,7 @@ def __init__(__self__, Example: `["ocid1.nsg.oc1.phx.unique_ID"]` :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['LoadBalancerReservedIpArgs']]]] reserved_ips: An array of reserved Ips. Pre-created public IP that will be used as the IP of this load balancer. This reserved IP will not be deleted when load balancer is deleted. This ip should not be already mapped to any other resource. - :param pulumi.Input[str] shape: (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: Starting May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. + :param pulumi.Input[str] shape: (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: After May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. :param pulumi.Input[pulumi.InputType['LoadBalancerShapeDetailsArgs']] shape_details: (Updatable) The configuration details to create load balancer using Flexible shape. This is required only if shapeName is `Flexible`. :param pulumi.Input[Sequence[pulumi.Input[str]]] subnet_ids: An array of subnet [OCIDs](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm). @@ -749,6 +814,7 @@ def __init__(__self__, "Department": "Finance", }, ip_mode=load_balancer_ip_mode, + is_delete_protection_enabled=load_balancer_is_delete_protection_enabled, is_private=load_balancer_is_private, network_security_group_ids=load_balancer_network_security_group_ids, reserved_ips=[oci.load_balancer.LoadBalancerReservedIpArgs( @@ -788,6 +854,7 @@ def _internal_init(__self__, display_name: Optional[pulumi.Input[str]] = None, freeform_tags: Optional[pulumi.Input[Mapping[str, Any]]] = None, ip_mode: Optional[pulumi.Input[str]] = None, + is_delete_protection_enabled: Optional[pulumi.Input[bool]] = None, is_private: Optional[pulumi.Input[bool]] = None, network_security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, reserved_ips: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['LoadBalancerReservedIpArgs']]]]] = None, @@ -812,6 +879,7 @@ def _internal_init(__self__, __props__.__dict__["display_name"] = display_name __props__.__dict__["freeform_tags"] = freeform_tags __props__.__dict__["ip_mode"] = ip_mode + __props__.__dict__["is_delete_protection_enabled"] = is_delete_protection_enabled __props__.__dict__["is_private"] = is_private __props__.__dict__["network_security_group_ids"] = network_security_group_ids __props__.__dict__["reserved_ips"] = reserved_ips @@ -844,6 +912,7 @@ def get(resource_name: str, ip_address_details: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['LoadBalancerIpAddressDetailArgs']]]]] = None, ip_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, ip_mode: Optional[pulumi.Input[str]] = None, + is_delete_protection_enabled: Optional[pulumi.Input[bool]] = None, is_private: Optional[pulumi.Input[bool]] = None, network_security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, reserved_ips: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['LoadBalancerReservedIpArgs']]]]] = None, @@ -873,6 +942,13 @@ def get(resource_name: str, If "IPV6", the service assigns an IPv6 address and the load balancer supports IPv6 traffic. Example: "ipMode":"IPV6" + :param pulumi.Input[bool] is_delete_protection_enabled: (Updatable) Whether or not the load balancer has delete protection enabled. + + If "true", the loadbalancer will be protected against deletion if configured to accept traffic. + + If "false", the loadbalancer will not be protected against deletion. + + Delete protection will not be enabled unless a value of "true" is provided. Example: `true` :param pulumi.Input[bool] is_private: Whether the load balancer has a VCN-local (private) IP address. If "true", the service assigns a private IP address to the load balancer. @@ -892,7 +968,7 @@ def get(resource_name: str, Example: `["ocid1.nsg.oc1.phx.unique_ID"]` :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['LoadBalancerReservedIpArgs']]]] reserved_ips: An array of reserved Ips. Pre-created public IP that will be used as the IP of this load balancer. This reserved IP will not be deleted when load balancer is deleted. This ip should not be already mapped to any other resource. - :param pulumi.Input[str] shape: (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: Starting May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. + :param pulumi.Input[str] shape: (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: After May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. :param pulumi.Input[pulumi.InputType['LoadBalancerShapeDetailsArgs']] shape_details: (Updatable) The configuration details to create load balancer using Flexible shape. This is required only if shapeName is `Flexible`. :param pulumi.Input[str] state: The current state of the load balancer. :param pulumi.Input[Sequence[pulumi.Input[str]]] subnet_ids: An array of subnet [OCIDs](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm). @@ -914,6 +990,7 @@ def get(resource_name: str, __props__.__dict__["ip_address_details"] = ip_address_details __props__.__dict__["ip_addresses"] = ip_addresses __props__.__dict__["ip_mode"] = ip_mode + __props__.__dict__["is_delete_protection_enabled"] = is_delete_protection_enabled __props__.__dict__["is_private"] = is_private __props__.__dict__["network_security_group_ids"] = network_security_group_ids __props__.__dict__["reserved_ips"] = reserved_ips @@ -990,6 +1067,20 @@ def ip_mode(self) -> pulumi.Output[str]: """ return pulumi.get(self, "ip_mode") + @property + @pulumi.getter(name="isDeleteProtectionEnabled") + def is_delete_protection_enabled(self) -> pulumi.Output[bool]: + """ + (Updatable) Whether or not the load balancer has delete protection enabled. + + If "true", the loadbalancer will be protected against deletion if configured to accept traffic. + + If "false", the loadbalancer will not be protected against deletion. + + Delete protection will not be enabled unless a value of "true" is provided. Example: `true` + """ + return pulumi.get(self, "is_delete_protection_enabled") + @property @pulumi.getter(name="isPrivate") def is_private(self) -> pulumi.Output[bool]: @@ -1034,7 +1125,7 @@ def reserved_ips(self) -> pulumi.Output[Optional[Sequence['outputs.LoadBalancerR @pulumi.getter def shape(self) -> pulumi.Output[str]: """ - (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: Starting May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. + (Updatable) A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `flexible` NOTE: After May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be `Flexible` *Note: When updating shape for a load balancer, all existing connections to the load balancer will be reset during the update process. Also `10Mbps-Micro` shape cannot be updated to any other shape nor can any other shape be updated to `10Mbps-Micro`. """ return pulumi.get(self, "shape") diff --git a/sdk/python/pulumi_oci/loadbalancer/outputs.py b/sdk/python/pulumi_oci/loadbalancer/outputs.py index 1917e077a6..e65ce3fa97 100644 --- a/sdk/python/pulumi_oci/loadbalancer/outputs.py +++ b/sdk/python/pulumi_oci/loadbalancer/outputs.py @@ -28,6 +28,7 @@ 'PathRouteSetPathRoutePathMatchType', 'RuleSetItem', 'RuleSetItemCondition', + 'RuleSetItemIpMaxConnection', 'RuleSetItemRedirectUri', 'GetBackendHealthHealthCheckResultResult', 'GetBackendSetsBackendsetResult', @@ -47,6 +48,7 @@ 'GetListenerRulesListenerRuleResult', 'GetListenerRulesListenerRuleRuleResult', 'GetListenerRulesListenerRuleRuleConditionResult', + 'GetListenerRulesListenerRuleRuleIpMaxConnectionResult', 'GetListenerRulesListenerRuleRuleRedirectUriResult', 'GetLoadBalancerRoutingPoliciesFilterResult', 'GetLoadBalancerRoutingPoliciesRoutingPolicyResult', @@ -70,11 +72,13 @@ 'GetProtocolsProtocolResult', 'GetRuleSetItemResult', 'GetRuleSetItemConditionResult', + 'GetRuleSetItemIpMaxConnectionResult', 'GetRuleSetItemRedirectUriResult', 'GetRuleSetsFilterResult', 'GetRuleSetsRuleSetResult', 'GetRuleSetsRuleSetItemResult', 'GetRuleSetsRuleSetItemConditionResult', + 'GetRuleSetsRuleSetItemIpMaxConnectionResult', 'GetRuleSetsRuleSetItemRedirectUriResult', 'GetShapesFilterResult', 'GetShapesShapeResult', @@ -89,6 +93,8 @@ def __key_warning(key: str): suggest = None if key == "ipAddress": suggest = "ip_address" + elif key == "maxConnections": + suggest = "max_connections" if suggest: pulumi.log.warn(f"Key '{key}' not found in BackendSetBackend. Access the value via the '{suggest}' property getter instead.") @@ -106,21 +112,27 @@ def __init__(__self__, *, port: int, backup: Optional[bool] = None, drain: Optional[bool] = None, + max_connections: Optional[int] = None, name: Optional[str] = None, offline: Optional[bool] = None, weight: Optional[int] = None): """ - :param str ip_address: The IP address of the backend server. Example: `10.0.0.3` + :param str ip_address: (Updatable) The IP address of the backend server. Example: `10.0.0.3` :param int port: (Updatable) The backend server port against which to run the health check. If the port is not specified, the load balancer uses the port information from the `Backend` object. Example: `8080` - :param bool backup: Whether the load balancer should treat this server as a backup unit. If `true`, the load balancer forwards no ingress traffic to this backend server unless all other backend servers not marked as "backup" fail the health check policy. - :param bool drain: Whether the load balancer should drain this server. Servers marked "drain" receive no new incoming traffic. Example: `false` + :param bool backup: (Updatable) Whether the load balancer should treat this server as a backup unit. If `true`, the load balancer forwards no ingress traffic to this backend server unless all other backend servers not marked as "backup" fail the health check policy. + + **Note:** You cannot add a backend server marked as `backup` to a backend set that uses the IP Hash policy. + + Example: `false` + :param bool drain: (Updatable) Whether the load balancer should drain this server. Servers marked "drain" receive no new incoming traffic. Example: `false` + :param int max_connections: (Updatable) The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then the maximum number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` :param str name: A friendly name for the backend set. It must be unique and it cannot be changed. Valid backend set names include only alphanumeric characters, dashes, and underscores. Backend set names cannot contain spaces. Avoid entering confidential information. Example: `example_backend_set` - :param bool offline: Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` - :param int weight: The load balancing policy weight assigned to the server. Backend servers with a higher weight receive a larger proportion of incoming traffic. For example, a server weighted '3' receives 3 times the number of new connections as a server weighted '1'. For more information on load balancing policies, see [How Load Balancing Policies Work](https://docs.cloud.oracle.com/iaas/Content/Balance/Reference/lbpolicies.htm). Example: `3` + :param bool offline: (Updatable) Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` + :param int weight: (Updatable) The load balancing policy weight assigned to the server. Backend servers with a higher weight receive a larger proportion of incoming traffic. For example, a server weighted '3' receives 3 times the number of new connections as a server weighted '1'. For more information on load balancing policies, see [How Load Balancing Policies Work](https://docs.cloud.oracle.com/iaas/Content/Balance/Reference/lbpolicies.htm). Example: `3` """ pulumi.set(__self__, "ip_address", ip_address) pulumi.set(__self__, "port", port) @@ -128,6 +140,8 @@ def __init__(__self__, *, pulumi.set(__self__, "backup", backup) if drain is not None: pulumi.set(__self__, "drain", drain) + if max_connections is not None: + pulumi.set(__self__, "max_connections", max_connections) if name is not None: pulumi.set(__self__, "name", name) if offline is not None: @@ -139,7 +153,7 @@ def __init__(__self__, *, @pulumi.getter(name="ipAddress") def ip_address(self) -> str: """ - The IP address of the backend server. Example: `10.0.0.3` + (Updatable) The IP address of the backend server. Example: `10.0.0.3` """ return pulumi.get(self, "ip_address") @@ -155,7 +169,11 @@ def port(self) -> int: @pulumi.getter def backup(self) -> Optional[bool]: """ - Whether the load balancer should treat this server as a backup unit. If `true`, the load balancer forwards no ingress traffic to this backend server unless all other backend servers not marked as "backup" fail the health check policy. + (Updatable) Whether the load balancer should treat this server as a backup unit. If `true`, the load balancer forwards no ingress traffic to this backend server unless all other backend servers not marked as "backup" fail the health check policy. + + **Note:** You cannot add a backend server marked as `backup` to a backend set that uses the IP Hash policy. + + Example: `false` """ return pulumi.get(self, "backup") @@ -163,10 +181,18 @@ def backup(self) -> Optional[bool]: @pulumi.getter def drain(self) -> Optional[bool]: """ - Whether the load balancer should drain this server. Servers marked "drain" receive no new incoming traffic. Example: `false` + (Updatable) Whether the load balancer should drain this server. Servers marked "drain" receive no new incoming traffic. Example: `false` """ return pulumi.get(self, "drain") + @property + @pulumi.getter(name="maxConnections") + def max_connections(self) -> Optional[int]: + """ + (Updatable) The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then the maximum number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` + """ + return pulumi.get(self, "max_connections") + @property @pulumi.getter def name(self) -> Optional[str]: @@ -183,7 +209,7 @@ def name(self) -> Optional[str]: @pulumi.getter def offline(self) -> Optional[bool]: """ - Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` + (Updatable) Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` """ return pulumi.get(self, "offline") @@ -191,7 +217,7 @@ def offline(self) -> Optional[bool]: @pulumi.getter def weight(self) -> Optional[int]: """ - The load balancing policy weight assigned to the server. Backend servers with a higher weight receive a larger proportion of incoming traffic. For example, a server weighted '3' receives 3 times the number of new connections as a server weighted '1'. For more information on load balancing policies, see [How Load Balancing Policies Work](https://docs.cloud.oracle.com/iaas/Content/Balance/Reference/lbpolicies.htm). Example: `3` + (Updatable) The load balancing policy weight assigned to the server. Backend servers with a higher weight receive a larger proportion of incoming traffic. For example, a server weighted '3' receives 3 times the number of new connections as a server weighted '1'. For more information on load balancing policies, see [How Load Balancing Policies Work](https://docs.cloud.oracle.com/iaas/Content/Balance/Reference/lbpolicies.htm). Example: `3` """ return pulumi.get(self, "weight") @@ -1059,7 +1085,6 @@ def __init__(__self__, *, """ :param str ip_address: An IP address. Example: `192.168.0.3` :param bool is_public: Whether the IP address is public or private. - :param Sequence['LoadBalancerIpAddressDetailReservedIpArgs'] reserved_ips: Pre-created public IP that will be used as the IP of this load balancer. This reserved IP will not be deleted when load balancer is deleted. This ip should not be already mapped to any other resource. """ if ip_address is not None: pulumi.set(__self__, "ip_address", ip_address) @@ -1087,9 +1112,6 @@ def is_public(self) -> Optional[bool]: @property @pulumi.getter(name="reservedIps") def reserved_ips(self) -> Optional[Sequence['outputs.LoadBalancerIpAddressDetailReservedIp']]: - """ - Pre-created public IP that will be used as the IP of this load balancer. This reserved IP will not be deleted when load balancer is deleted. This ip should not be already mapped to any other resource. - """ return pulumi.get(self, "reserved_ips") @@ -1098,7 +1120,15 @@ class LoadBalancerIpAddressDetailReservedIp(dict): def __init__(__self__, *, id: Optional[str] = None): """ - :param str id: Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. + :param str id: Ocid of the Reserved IP/Public Ip created with VCN. + + Reserved IPs are IPs which already registered using VCN API. + + Create a reserved Public IP and then while creating the load balancer pass the ocid of the reserved IP in this field reservedIp to attach the Ip to Load balancer. Load balancer will be configured to listen to traffic on this IP. + + Reserved IPs will not be deleted when the Load balancer is deleted. They will be unattached from the Load balancer. + + Example: "ocid1.publicip.oc1.phx.unique_ID" Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. """ if id is not None: pulumi.set(__self__, "id", id) @@ -1107,7 +1137,15 @@ def __init__(__self__, *, @pulumi.getter def id(self) -> Optional[str]: """ - Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. + Ocid of the Reserved IP/Public Ip created with VCN. + + Reserved IPs are IPs which already registered using VCN API. + + Create a reserved Public IP and then while creating the load balancer pass the ocid of the reserved IP in this field reservedIp to attach the Ip to Load balancer. Load balancer will be configured to listen to traffic on this IP. + + Reserved IPs will not be deleted when the Load balancer is deleted. They will be unattached from the Load balancer. + + Example: "ocid1.publicip.oc1.phx.unique_ID" Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. """ return pulumi.get(self, "id") @@ -1117,7 +1155,15 @@ class LoadBalancerReservedIp(dict): def __init__(__self__, *, id: Optional[str] = None): """ - :param str id: Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. + :param str id: Ocid of the Reserved IP/Public Ip created with VCN. + + Reserved IPs are IPs which already registered using VCN API. + + Create a reserved Public IP and then while creating the load balancer pass the ocid of the reserved IP in this field reservedIp to attach the Ip to Load balancer. Load balancer will be configured to listen to traffic on this IP. + + Reserved IPs will not be deleted when the Load balancer is deleted. They will be unattached from the Load balancer. + + Example: "ocid1.publicip.oc1.phx.unique_ID" Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. """ if id is not None: pulumi.set(__self__, "id", id) @@ -1126,7 +1172,15 @@ def __init__(__self__, *, @pulumi.getter def id(self) -> Optional[str]: """ - Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. + Ocid of the Reserved IP/Public Ip created with VCN. + + Reserved IPs are IPs which already registered using VCN API. + + Create a reserved Public IP and then while creating the load balancer pass the ocid of the reserved IP in this field reservedIp to attach the Ip to Load balancer. Load balancer will be configured to listen to traffic on this IP. + + Reserved IPs will not be deleted when the Load balancer is deleted. They will be unattached from the Load balancer. + + Example: "ocid1.publicip.oc1.phx.unique_ID" Ocid of the pre-created public IP that should be attached to this load balancer. The public IP will be attached to a private IP. **Note** If public IP resource is present in the config, the pulumi preview will throw `After applying this step and refreshing, the plan was not empty` error, and `private_ip_id` needs to be added as an input argument to the public IP resource block or ignore from its lifecycle as shown in examples to resolve this error. """ return pulumi.get(self, "id") @@ -1422,8 +1476,12 @@ def __key_warning(key: str): suggest = "allowed_methods" elif key == "areInvalidCharactersAllowed": suggest = "are_invalid_characters_allowed" + elif key == "defaultMaxConnections": + suggest = "default_max_connections" elif key == "httpLargeHeaderSizeInKb": suggest = "http_large_header_size_in_kb" + elif key == "ipMaxConnections": + suggest = "ip_max_connections" elif key == "redirectUri": suggest = "redirect_uri" elif key == "responseCode": @@ -1447,9 +1505,11 @@ def __init__(__self__, *, allowed_methods: Optional[Sequence[str]] = None, are_invalid_characters_allowed: Optional[bool] = None, conditions: Optional[Sequence['outputs.RuleSetItemCondition']] = None, + default_max_connections: Optional[int] = None, description: Optional[str] = None, header: Optional[str] = None, http_large_header_size_in_kb: Optional[int] = None, + ip_max_connections: Optional[Sequence['outputs.RuleSetItemIpMaxConnection']] = None, prefix: Optional[str] = None, redirect_uri: Optional['outputs.RuleSetItemRedirectUri'] = None, response_code: Optional[int] = None, @@ -1457,7 +1517,7 @@ def __init__(__self__, *, suffix: Optional[str] = None, value: Optional[str] = None): """ - :param str action: (Updatable) The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` + :param str action: (Updatable) The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `IP_BASED_MAX_CONNECTIONS`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` :param Sequence[str] allowed_methods: (Updatable) The list of HTTP methods allowed for this listener. By default, you can specify only the standard HTTP methods defined in the [HTTP Method Registry](http://www.iana.org/assignments/http-methods/http-methods.xhtml). You can also see a list of supported standard HTTP methods in the Load Balancing service documentation at [Managing Rule Sets](https://docs.cloud.oracle.com/iaas/Content/Balance/Tasks/managingrulesets.htm). @@ -1469,11 +1529,13 @@ def __init__(__self__, *, Example: ["GET", "PUT", "POST", "PROPFIND"] :param bool are_invalid_characters_allowed: (Updatable) Indicates whether or not invalid characters in client header fields will be allowed. Valid names are composed of English letters, digits, hyphens and underscores. If "true", invalid characters are allowed in the HTTP header. If "false", invalid characters are not allowed in the HTTP header :param Sequence['RuleSetItemConditionArgs'] conditions: (Updatable) + :param int default_max_connections: (Updatable) The maximum number of connections that the any IP can make to a listener unless the IP is mentioned in maxConnections. If no defaultMaxConnections is specified the default is unlimited. :param str description: (Updatable) A brief description of the access control rule. Avoid entering confidential information. example: `192.168.0.0/16 and 2001:db8::/32 are trusted clients. Whitelist them.` :param str header: (Updatable) A header name that conforms to RFC 7230. Example: `example_header_name` :param int http_large_header_size_in_kb: (Updatable) The maximum size of each buffer used for reading http client request header. This value indicates the maximum size allowed for each buffer. The allowed values for buffer size are 8, 16, 32 and 64. + :param Sequence['RuleSetItemIpMaxConnectionArgs'] ip_max_connections: (Updatable) An array of IPs that have a maxConnection setting different than the default and what that maxConnection setting is :param str prefix: (Updatable) A string to prepend to the header value. The resulting header value must still conform to RFC 7230. With the following exceptions: * value cannot contain `$` * value cannot contain patterns like `{variable_name}`. They are reserved for future extensions. Currently, such values are invalid. @@ -1534,12 +1596,16 @@ def __init__(__self__, *, pulumi.set(__self__, "are_invalid_characters_allowed", are_invalid_characters_allowed) if conditions is not None: pulumi.set(__self__, "conditions", conditions) + if default_max_connections is not None: + pulumi.set(__self__, "default_max_connections", default_max_connections) if description is not None: pulumi.set(__self__, "description", description) if header is not None: pulumi.set(__self__, "header", header) if http_large_header_size_in_kb is not None: pulumi.set(__self__, "http_large_header_size_in_kb", http_large_header_size_in_kb) + if ip_max_connections is not None: + pulumi.set(__self__, "ip_max_connections", ip_max_connections) if prefix is not None: pulumi.set(__self__, "prefix", prefix) if redirect_uri is not None: @@ -1557,7 +1623,7 @@ def __init__(__self__, *, @pulumi.getter def action(self) -> str: """ - (Updatable) The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` + (Updatable) The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `IP_BASED_MAX_CONNECTIONS`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` """ return pulumi.get(self, "action") @@ -1593,6 +1659,14 @@ def conditions(self) -> Optional[Sequence['outputs.RuleSetItemCondition']]: """ return pulumi.get(self, "conditions") + @property + @pulumi.getter(name="defaultMaxConnections") + def default_max_connections(self) -> Optional[int]: + """ + (Updatable) The maximum number of connections that the any IP can make to a listener unless the IP is mentioned in maxConnections. If no defaultMaxConnections is specified the default is unlimited. + """ + return pulumi.get(self, "default_max_connections") + @property @pulumi.getter def description(self) -> Optional[str]: @@ -1619,6 +1693,14 @@ def http_large_header_size_in_kb(self) -> Optional[int]: """ return pulumi.get(self, "http_large_header_size_in_kb") + @property + @pulumi.getter(name="ipMaxConnections") + def ip_max_connections(self) -> Optional[Sequence['outputs.RuleSetItemIpMaxConnection']]: + """ + (Updatable) An array of IPs that have a maxConnection setting different than the default and what that maxConnection setting is + """ + return pulumi.get(self, "ip_max_connections") + @property @pulumi.getter def prefix(self) -> Optional[str]: @@ -1788,6 +1870,56 @@ def operator(self) -> Optional[str]: return pulumi.get(self, "operator") +@pulumi.output_type +class RuleSetItemIpMaxConnection(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "ipAddresses": + suggest = "ip_addresses" + elif key == "maxConnections": + suggest = "max_connections" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RuleSetItemIpMaxConnection. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RuleSetItemIpMaxConnection.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RuleSetItemIpMaxConnection.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + ip_addresses: Optional[Sequence[str]] = None, + max_connections: Optional[int] = None): + """ + :param Sequence[str] ip_addresses: (Updatable) Each element in the list should be valid IPv4 or IPv6 CIDR Block address. Example: '["129.213.176.0/24", "150.136.187.0/24", "2002::1234:abcd:ffff:c0a8:101/64"]' + :param int max_connections: (Updatable) The maximum number of simultaneous connections that the specified IPs can make to the Listener. IPs without a maxConnections setting can make either defaultMaxConnections simultaneous connections to a listener or, if no defaultMaxConnections is specified, an unlimited number of simultaneous connections to a listener. + """ + if ip_addresses is not None: + pulumi.set(__self__, "ip_addresses", ip_addresses) + if max_connections is not None: + pulumi.set(__self__, "max_connections", max_connections) + + @property + @pulumi.getter(name="ipAddresses") + def ip_addresses(self) -> Optional[Sequence[str]]: + """ + (Updatable) Each element in the list should be valid IPv4 or IPv6 CIDR Block address. Example: '["129.213.176.0/24", "150.136.187.0/24", "2002::1234:abcd:ffff:c0a8:101/64"]' + """ + return pulumi.get(self, "ip_addresses") + + @property + @pulumi.getter(name="maxConnections") + def max_connections(self) -> Optional[int]: + """ + (Updatable) The maximum number of simultaneous connections that the specified IPs can make to the Listener. IPs without a maxConnections setting can make either defaultMaxConnections simultaneous connections to a listener or, if no defaultMaxConnections is specified, an unlimited number of simultaneous connections to a listener. + """ + return pulumi.get(self, "max_connections") + + @pulumi.output_type class RuleSetItemRedirectUri(dict): def __init__(__self__, *, @@ -2025,6 +2157,7 @@ def timestamp(self) -> str: @pulumi.output_type class GetBackendSetsBackendsetResult(dict): def __init__(__self__, *, + backend_max_connections: int, backends: Sequence['outputs.GetBackendSetsBackendsetBackendResult'], health_checkers: Sequence['outputs.GetBackendSetsBackendsetHealthCheckerResult'], id: str, @@ -2036,6 +2169,7 @@ def __init__(__self__, *, ssl_configurations: Sequence['outputs.GetBackendSetsBackendsetSslConfigurationResult'], state: str): """ + :param int backend_max_connections: The maximum number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting. If this is not set then the number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting is unlimited. Example: `300` :param Sequence['GetBackendSetsBackendsetHealthCheckerArgs'] health_checkers: The health check policy configuration. For more information, see [Editing Health Check Policies](https://docs.cloud.oracle.com/iaas/Content/Balance/Tasks/editinghealthcheck.htm). :param Sequence['GetBackendSetsBackendsetLbCookieSessionPersistenceConfigurationArgs'] lb_cookie_session_persistence_configurations: The configuration details for implementing load balancer cookie session persistence (LB cookie stickiness). :param str load_balancer_id: The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the load balancer associated with the backend sets to retrieve. @@ -2044,6 +2178,7 @@ def __init__(__self__, *, :param Sequence['GetBackendSetsBackendsetSessionPersistenceConfigurationArgs'] session_persistence_configurations: The configuration details for implementing session persistence based on a user-specified cookie name (application cookie stickiness). :param Sequence['GetBackendSetsBackendsetSslConfigurationArgs'] ssl_configurations: A listener's SSL handling configuration. """ + pulumi.set(__self__, "backend_max_connections", backend_max_connections) pulumi.set(__self__, "backends", backends) pulumi.set(__self__, "health_checkers", health_checkers) pulumi.set(__self__, "id", id) @@ -2055,6 +2190,14 @@ def __init__(__self__, *, pulumi.set(__self__, "ssl_configurations", ssl_configurations) pulumi.set(__self__, "state", state) + @property + @pulumi.getter(name="backendMaxConnections") + def backend_max_connections(self) -> int: + """ + The maximum number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting. If this is not set then the number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting is unlimited. Example: `300` + """ + return pulumi.get(self, "backend_max_connections") + @property @pulumi.getter def backends(self) -> Sequence['outputs.GetBackendSetsBackendsetBackendResult']: @@ -2133,6 +2276,7 @@ def __init__(__self__, *, backup: bool, drain: bool, ip_address: str, + max_connections: int, name: str, offline: bool, port: int, @@ -2141,6 +2285,7 @@ def __init__(__self__, *, :param bool backup: Whether the load balancer should treat this server as a backup unit. If `true`, the load balancer forwards no ingress traffic to this backend server unless all other backend servers not marked as "backup" fail the health check policy. :param bool drain: Whether the load balancer should drain this server. Servers marked "drain" receive no new incoming traffic. Example: `false` :param str ip_address: The IP address of the backend server. Example: `10.0.0.3` + :param int max_connections: The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then the maximum number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` :param str name: A friendly name for the backend set. It must be unique and it cannot be changed. :param bool offline: Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` :param int port: The backend server port against which to run the health check. If the port is not specified, the load balancer uses the port information from the `Backend` object. Example: `8080` @@ -2149,6 +2294,7 @@ def __init__(__self__, *, pulumi.set(__self__, "backup", backup) pulumi.set(__self__, "drain", drain) pulumi.set(__self__, "ip_address", ip_address) + pulumi.set(__self__, "max_connections", max_connections) pulumi.set(__self__, "name", name) pulumi.set(__self__, "offline", offline) pulumi.set(__self__, "port", port) @@ -2178,6 +2324,14 @@ def ip_address(self) -> str: """ return pulumi.get(self, "ip_address") + @property + @pulumi.getter(name="maxConnections") + def max_connections(self) -> int: + """ + The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then the maximum number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` + """ + return pulumi.get(self, "max_connections") + @property @pulumi.getter def name(self) -> str: @@ -2565,6 +2719,7 @@ def __init__(__self__, *, drain: bool, ip_address: str, load_balancer_id: str, + max_connections: int, name: str, offline: bool, port: int, @@ -2576,6 +2731,7 @@ def __init__(__self__, *, :param bool drain: Whether the load balancer should drain this server. Servers marked "drain" receive no new incoming traffic. Example: `false` :param str ip_address: The IP address of the backend server. Example: `10.0.0.3` :param str load_balancer_id: The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the load balancer associated with the backend set and servers. + :param int max_connections: The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then the maximum number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` :param str name: A read-only field showing the IP address and port that uniquely identify this backend server in the backend set. Example: `10.0.0.3:8080` :param bool offline: Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic. Example: `false` :param int port: The communication port for the backend server. Example: `8080` @@ -2586,6 +2742,7 @@ def __init__(__self__, *, pulumi.set(__self__, "drain", drain) pulumi.set(__self__, "ip_address", ip_address) pulumi.set(__self__, "load_balancer_id", load_balancer_id) + pulumi.set(__self__, "max_connections", max_connections) pulumi.set(__self__, "name", name) pulumi.set(__self__, "offline", offline) pulumi.set(__self__, "port", port) @@ -2626,6 +2783,14 @@ def load_balancer_id(self) -> str: """ return pulumi.get(self, "load_balancer_id") + @property + @pulumi.getter(name="maxConnections") + def max_connections(self) -> int: + """ + The maximum number of simultaneous connections the load balancer can make to the backend. If this is not set then the maximum number of simultaneous connections the load balancer can make to the backend is unlimited. Example: `300` + """ + return pulumi.get(self, "max_connections") + @property @pulumi.getter def name(self) -> str: @@ -2961,9 +3126,11 @@ def __init__(__self__, *, allowed_methods: Sequence[str], are_invalid_characters_allowed: bool, conditions: Sequence['outputs.GetListenerRulesListenerRuleRuleConditionResult'], + default_max_connections: int, description: str, header: str, http_large_header_size_in_kb: int, + ip_max_connections: Sequence['outputs.GetListenerRulesListenerRuleRuleIpMaxConnectionResult'], prefix: str, redirect_uris: Sequence['outputs.GetListenerRulesListenerRuleRuleRedirectUriResult'], response_code: int, @@ -2971,12 +3138,14 @@ def __init__(__self__, *, suffix: str, value: str): """ - :param str action: The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` + :param str action: The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `IP_BASED_MAX_CONNECTIONS`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` :param Sequence[str] allowed_methods: The list of HTTP methods allowed for this listener. :param bool are_invalid_characters_allowed: Indicates whether or not invalid characters in client header fields will be allowed. Valid names are composed of English letters, digits, hyphens and underscores. If "true", invalid characters are allowed in the HTTP header. If "false", invalid characters are not allowed in the HTTP header + :param int default_max_connections: The maximum number of connections that the any IP can make to a listener unless the IP is mentioned in maxConnections. If no defaultMaxConnections is specified the default is unlimited. :param str description: A brief description of the access control rule. Avoid entering confidential information. :param str header: A header name that conforms to RFC 7230. Example: `example_header_name` :param int http_large_header_size_in_kb: The maximum size of each buffer used for reading http client request header. This value indicates the maximum size allowed for each buffer. The allowed values for buffer size are 8, 16, 32 and 64. + :param Sequence['GetListenerRulesListenerRuleRuleIpMaxConnectionArgs'] ip_max_connections: An array of IPs that have a maxConnection setting different than the default and what that maxConnection setting is :param str prefix: A string to prepend to the header value. The resulting header value must still conform to RFC 7230. With the following exceptions: * value cannot contain `$` * value cannot contain patterns like `{variable_name}`. They are reserved for future extensions. Currently, such values are invalid. @@ -2994,9 +3163,11 @@ def __init__(__self__, *, pulumi.set(__self__, "allowed_methods", allowed_methods) pulumi.set(__self__, "are_invalid_characters_allowed", are_invalid_characters_allowed) pulumi.set(__self__, "conditions", conditions) + pulumi.set(__self__, "default_max_connections", default_max_connections) pulumi.set(__self__, "description", description) pulumi.set(__self__, "header", header) pulumi.set(__self__, "http_large_header_size_in_kb", http_large_header_size_in_kb) + pulumi.set(__self__, "ip_max_connections", ip_max_connections) pulumi.set(__self__, "prefix", prefix) pulumi.set(__self__, "redirect_uris", redirect_uris) pulumi.set(__self__, "response_code", response_code) @@ -3008,7 +3179,7 @@ def __init__(__self__, *, @pulumi.getter def action(self) -> str: """ - The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` + The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `IP_BASED_MAX_CONNECTIONS`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` """ return pulumi.get(self, "action") @@ -3033,6 +3204,14 @@ def are_invalid_characters_allowed(self) -> bool: def conditions(self) -> Sequence['outputs.GetListenerRulesListenerRuleRuleConditionResult']: return pulumi.get(self, "conditions") + @property + @pulumi.getter(name="defaultMaxConnections") + def default_max_connections(self) -> int: + """ + The maximum number of connections that the any IP can make to a listener unless the IP is mentioned in maxConnections. If no defaultMaxConnections is specified the default is unlimited. + """ + return pulumi.get(self, "default_max_connections") + @property @pulumi.getter def description(self) -> str: @@ -3057,6 +3236,14 @@ def http_large_header_size_in_kb(self) -> int: """ return pulumi.get(self, "http_large_header_size_in_kb") + @property + @pulumi.getter(name="ipMaxConnections") + def ip_max_connections(self) -> Sequence['outputs.GetListenerRulesListenerRuleRuleIpMaxConnectionResult']: + """ + An array of IPs that have a maxConnection setting different than the default and what that maxConnection setting is + """ + return pulumi.get(self, "ip_max_connections") + @property @pulumi.getter def prefix(self) -> str: @@ -3160,6 +3347,35 @@ def operator(self) -> str: return pulumi.get(self, "operator") +@pulumi.output_type +class GetListenerRulesListenerRuleRuleIpMaxConnectionResult(dict): + def __init__(__self__, *, + ip_addresses: Sequence[str], + max_connections: int): + """ + :param Sequence[str] ip_addresses: Each element in the list should be valid IPv4 or IPv6 CIDR Block address. Example: '["129.213.176.0/24", "150.136.187.0/24", "2002::1234:abcd:ffff:c0a8:101/64"]' + :param int max_connections: The maximum number of simultaneous connections that the specified IPs can make to the Listener. IPs without a maxConnections setting can make either defaultMaxConnections simultaneous connections to a listener or, if no defaultMaxConnections is specified, an unlimited number of simultaneous connections to a listener. + """ + pulumi.set(__self__, "ip_addresses", ip_addresses) + pulumi.set(__self__, "max_connections", max_connections) + + @property + @pulumi.getter(name="ipAddresses") + def ip_addresses(self) -> Sequence[str]: + """ + Each element in the list should be valid IPv4 or IPv6 CIDR Block address. Example: '["129.213.176.0/24", "150.136.187.0/24", "2002::1234:abcd:ffff:c0a8:101/64"]' + """ + return pulumi.get(self, "ip_addresses") + + @property + @pulumi.getter(name="maxConnections") + def max_connections(self) -> int: + """ + The maximum number of simultaneous connections that the specified IPs can make to the Listener. IPs without a maxConnections setting can make either defaultMaxConnections simultaneous connections to a listener or, if no defaultMaxConnections is specified, an unlimited number of simultaneous connections to a listener. + """ + return pulumi.get(self, "max_connections") + + @pulumi.output_type class GetListenerRulesListenerRuleRuleRedirectUriResult(dict): def __init__(__self__, *, @@ -3495,6 +3711,7 @@ def __init__(__self__, *, ip_address_details: Sequence['outputs.GetLoadBalancersLoadBalancerIpAddressDetailResult'], ip_addresses: Sequence[str], ip_mode: str, + is_delete_protection_enabled: bool, is_private: bool, network_security_group_ids: Sequence[str], reserved_ips: Sequence['outputs.GetLoadBalancersLoadBalancerReservedIpResult'], @@ -3509,9 +3726,10 @@ def __init__(__self__, *, :param Mapping[str, Any] defined_tags: Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Operations.CostCenter": "42"}` :param str display_name: A filter to return only resources that match the given display name exactly. Example: `example_load_balancer` :param Mapping[str, Any] freeform_tags: Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` - :param str id: Ocid of the pre-created public IP. That should be attahed to this load balancer. + :param str id: Ocid of the Reserved IP/Public Ip created with VCN. :param Sequence['GetLoadBalancersLoadBalancerIpAddressDetailArgs'] ip_address_details: An array of IP addresses. :param Sequence[str] ip_addresses: An array of IP addresses. Deprecated: use ip_address_details instead. + :param bool is_delete_protection_enabled: Whether or not the load balancer has delete protection enabled. :param bool is_private: Whether the load balancer has a VCN-local (private) IP address. :param Sequence[str] network_security_group_ids: An array of NSG [OCIDs](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) associated with the load balancer. :param str shape: A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerShape/ListShapes) operation. Example: `100Mbps` @@ -3529,6 +3747,7 @@ def __init__(__self__, *, pulumi.set(__self__, "ip_address_details", ip_address_details) pulumi.set(__self__, "ip_addresses", ip_addresses) pulumi.set(__self__, "ip_mode", ip_mode) + pulumi.set(__self__, "is_delete_protection_enabled", is_delete_protection_enabled) pulumi.set(__self__, "is_private", is_private) pulumi.set(__self__, "network_security_group_ids", network_security_group_ids) pulumi.set(__self__, "reserved_ips", reserved_ips) @@ -3575,7 +3794,7 @@ def freeform_tags(self) -> Mapping[str, Any]: @pulumi.getter def id(self) -> str: """ - Ocid of the pre-created public IP. That should be attahed to this load balancer. + Ocid of the Reserved IP/Public Ip created with VCN. """ return pulumi.get(self, "id") @@ -3603,6 +3822,14 @@ def ip_addresses(self) -> Sequence[str]: def ip_mode(self) -> str: return pulumi.get(self, "ip_mode") + @property + @pulumi.getter(name="isDeleteProtectionEnabled") + def is_delete_protection_enabled(self) -> bool: + """ + Whether or not the load balancer has delete protection enabled. + """ + return pulumi.get(self, "is_delete_protection_enabled") + @property @pulumi.getter(name="isPrivate") def is_private(self) -> bool: @@ -3682,7 +3909,6 @@ def __init__(__self__, *, """ :param str ip_address: An IP address. Example: `192.168.0.3` :param bool is_public: Whether the IP address is public or private. - :param Sequence['GetLoadBalancersLoadBalancerIpAddressDetailReservedIpArgs'] reserved_ips: Pre-created public IP that will be used as the IP of this load balancer. This reserved IP will not be deleted when load balancer is deleted. This ip should not be already mapped to any other resource. """ pulumi.set(__self__, "ip_address", ip_address) pulumi.set(__self__, "is_public", is_public) @@ -3707,9 +3933,6 @@ def is_public(self) -> bool: @property @pulumi.getter(name="reservedIps") def reserved_ips(self) -> Sequence['outputs.GetLoadBalancersLoadBalancerIpAddressDetailReservedIpResult']: - """ - Pre-created public IP that will be used as the IP of this load balancer. This reserved IP will not be deleted when load balancer is deleted. This ip should not be already mapped to any other resource. - """ return pulumi.get(self, "reserved_ips") @@ -3718,7 +3941,7 @@ class GetLoadBalancersLoadBalancerIpAddressDetailReservedIpResult(dict): def __init__(__self__, *, id: str): """ - :param str id: Ocid of the pre-created public IP. That should be attahed to this load balancer. + :param str id: Ocid of the Reserved IP/Public Ip created with VCN. """ pulumi.set(__self__, "id", id) @@ -3726,7 +3949,7 @@ def __init__(__self__, *, @pulumi.getter def id(self) -> str: """ - Ocid of the pre-created public IP. That should be attahed to this load balancer. + Ocid of the Reserved IP/Public Ip created with VCN. """ return pulumi.get(self, "id") @@ -3736,7 +3959,7 @@ class GetLoadBalancersLoadBalancerReservedIpResult(dict): def __init__(__self__, *, id: str): """ - :param str id: Ocid of the pre-created public IP. That should be attahed to this load balancer. + :param str id: Ocid of the Reserved IP/Public Ip created with VCN. """ pulumi.set(__self__, "id", id) @@ -3744,7 +3967,7 @@ def __init__(__self__, *, @pulumi.getter def id(self) -> str: """ - Ocid of the pre-created public IP. That should be attahed to this load balancer. + Ocid of the Reserved IP/Public Ip created with VCN. """ return pulumi.get(self, "id") @@ -4039,9 +4262,11 @@ def __init__(__self__, *, allowed_methods: Sequence[str], are_invalid_characters_allowed: bool, conditions: Sequence['outputs.GetRuleSetItemConditionResult'], + default_max_connections: int, description: str, header: str, http_large_header_size_in_kb: int, + ip_max_connections: Sequence['outputs.GetRuleSetItemIpMaxConnectionResult'], prefix: str, redirect_uris: Sequence['outputs.GetRuleSetItemRedirectUriResult'], response_code: int, @@ -4049,12 +4274,14 @@ def __init__(__self__, *, suffix: str, value: str): """ - :param str action: The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` + :param str action: The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `IP_BASED_MAX_CONNECTIONS`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` :param Sequence[str] allowed_methods: The list of HTTP methods allowed for this listener. :param bool are_invalid_characters_allowed: Indicates whether or not invalid characters in client header fields will be allowed. Valid names are composed of English letters, digits, hyphens and underscores. If "true", invalid characters are allowed in the HTTP header. If "false", invalid characters are not allowed in the HTTP header + :param int default_max_connections: The maximum number of connections that the any IP can make to a listener unless the IP is mentioned in maxConnections. If no defaultMaxConnections is specified the default is unlimited. :param str description: A brief description of the access control rule. Avoid entering confidential information. :param str header: A header name that conforms to RFC 7230. Example: `example_header_name` :param int http_large_header_size_in_kb: The maximum size of each buffer used for reading http client request header. This value indicates the maximum size allowed for each buffer. The allowed values for buffer size are 8, 16, 32 and 64. + :param Sequence['GetRuleSetItemIpMaxConnectionArgs'] ip_max_connections: An array of IPs that have a maxConnection setting different than the default and what that maxConnection setting is :param str prefix: A string to prepend to the header value. The resulting header value must still conform to RFC 7230. With the following exceptions: * value cannot contain `$` * value cannot contain patterns like `{variable_name}`. They are reserved for future extensions. Currently, such values are invalid. @@ -4072,9 +4299,11 @@ def __init__(__self__, *, pulumi.set(__self__, "allowed_methods", allowed_methods) pulumi.set(__self__, "are_invalid_characters_allowed", are_invalid_characters_allowed) pulumi.set(__self__, "conditions", conditions) + pulumi.set(__self__, "default_max_connections", default_max_connections) pulumi.set(__self__, "description", description) pulumi.set(__self__, "header", header) pulumi.set(__self__, "http_large_header_size_in_kb", http_large_header_size_in_kb) + pulumi.set(__self__, "ip_max_connections", ip_max_connections) pulumi.set(__self__, "prefix", prefix) pulumi.set(__self__, "redirect_uris", redirect_uris) pulumi.set(__self__, "response_code", response_code) @@ -4086,7 +4315,7 @@ def __init__(__self__, *, @pulumi.getter def action(self) -> str: """ - The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` + The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `IP_BASED_MAX_CONNECTIONS`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` """ return pulumi.get(self, "action") @@ -4111,6 +4340,14 @@ def are_invalid_characters_allowed(self) -> bool: def conditions(self) -> Sequence['outputs.GetRuleSetItemConditionResult']: return pulumi.get(self, "conditions") + @property + @pulumi.getter(name="defaultMaxConnections") + def default_max_connections(self) -> int: + """ + The maximum number of connections that the any IP can make to a listener unless the IP is mentioned in maxConnections. If no defaultMaxConnections is specified the default is unlimited. + """ + return pulumi.get(self, "default_max_connections") + @property @pulumi.getter def description(self) -> str: @@ -4135,6 +4372,14 @@ def http_large_header_size_in_kb(self) -> int: """ return pulumi.get(self, "http_large_header_size_in_kb") + @property + @pulumi.getter(name="ipMaxConnections") + def ip_max_connections(self) -> Sequence['outputs.GetRuleSetItemIpMaxConnectionResult']: + """ + An array of IPs that have a maxConnection setting different than the default and what that maxConnection setting is + """ + return pulumi.get(self, "ip_max_connections") + @property @pulumi.getter def prefix(self) -> str: @@ -4244,6 +4489,35 @@ def operator(self) -> str: return pulumi.get(self, "operator") +@pulumi.output_type +class GetRuleSetItemIpMaxConnectionResult(dict): + def __init__(__self__, *, + ip_addresses: Sequence[str], + max_connections: int): + """ + :param Sequence[str] ip_addresses: Each element in the list should be valid IPv4 or IPv6 CIDR Block address. Example: '["129.213.176.0/24", "150.136.187.0/24", "2002::1234:abcd:ffff:c0a8:101/64"]' + :param int max_connections: The maximum number of simultaneous connections that the specified IPs can make to the Listener. IPs without a maxConnections setting can make either defaultMaxConnections simultaneous connections to a listener or, if no defaultMaxConnections is specified, an unlimited number of simultaneous connections to a listener. + """ + pulumi.set(__self__, "ip_addresses", ip_addresses) + pulumi.set(__self__, "max_connections", max_connections) + + @property + @pulumi.getter(name="ipAddresses") + def ip_addresses(self) -> Sequence[str]: + """ + Each element in the list should be valid IPv4 or IPv6 CIDR Block address. Example: '["129.213.176.0/24", "150.136.187.0/24", "2002::1234:abcd:ffff:c0a8:101/64"]' + """ + return pulumi.get(self, "ip_addresses") + + @property + @pulumi.getter(name="maxConnections") + def max_connections(self) -> int: + """ + The maximum number of simultaneous connections that the specified IPs can make to the Listener. IPs without a maxConnections setting can make either defaultMaxConnections simultaneous connections to a listener or, if no defaultMaxConnections is specified, an unlimited number of simultaneous connections to a listener. + """ + return pulumi.get(self, "max_connections") + + @pulumi.output_type class GetRuleSetItemRedirectUriResult(dict): def __init__(__self__, *, @@ -4400,9 +4674,11 @@ def __init__(__self__, *, allowed_methods: Sequence[str], are_invalid_characters_allowed: bool, conditions: Sequence['outputs.GetRuleSetsRuleSetItemConditionResult'], + default_max_connections: int, description: str, header: str, http_large_header_size_in_kb: int, + ip_max_connections: Sequence['outputs.GetRuleSetsRuleSetItemIpMaxConnectionResult'], prefix: str, redirect_uris: Sequence['outputs.GetRuleSetsRuleSetItemRedirectUriResult'], response_code: int, @@ -4410,12 +4686,14 @@ def __init__(__self__, *, suffix: str, value: str): """ - :param str action: The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` + :param str action: The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `IP_BASED_MAX_CONNECTIONS`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` :param Sequence[str] allowed_methods: The list of HTTP methods allowed for this listener. :param bool are_invalid_characters_allowed: Indicates whether or not invalid characters in client header fields will be allowed. Valid names are composed of English letters, digits, hyphens and underscores. If "true", invalid characters are allowed in the HTTP header. If "false", invalid characters are not allowed in the HTTP header + :param int default_max_connections: The maximum number of connections that the any IP can make to a listener unless the IP is mentioned in maxConnections. If no defaultMaxConnections is specified the default is unlimited. :param str description: A brief description of the access control rule. Avoid entering confidential information. :param str header: A header name that conforms to RFC 7230. Example: `example_header_name` :param int http_large_header_size_in_kb: The maximum size of each buffer used for reading http client request header. This value indicates the maximum size allowed for each buffer. The allowed values for buffer size are 8, 16, 32 and 64. + :param Sequence['GetRuleSetsRuleSetItemIpMaxConnectionArgs'] ip_max_connections: An array of IPs that have a maxConnection setting different than the default and what that maxConnection setting is :param str prefix: A string to prepend to the header value. The resulting header value must still conform to RFC 7230. With the following exceptions: * value cannot contain `$` * value cannot contain patterns like `{variable_name}`. They are reserved for future extensions. Currently, such values are invalid. @@ -4433,9 +4711,11 @@ def __init__(__self__, *, pulumi.set(__self__, "allowed_methods", allowed_methods) pulumi.set(__self__, "are_invalid_characters_allowed", are_invalid_characters_allowed) pulumi.set(__self__, "conditions", conditions) + pulumi.set(__self__, "default_max_connections", default_max_connections) pulumi.set(__self__, "description", description) pulumi.set(__self__, "header", header) pulumi.set(__self__, "http_large_header_size_in_kb", http_large_header_size_in_kb) + pulumi.set(__self__, "ip_max_connections", ip_max_connections) pulumi.set(__self__, "prefix", prefix) pulumi.set(__self__, "redirect_uris", redirect_uris) pulumi.set(__self__, "response_code", response_code) @@ -4447,7 +4727,7 @@ def __init__(__self__, *, @pulumi.getter def action(self) -> str: """ - The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` + The action can be one of these values: `ADD_HTTP_REQUEST_HEADER`, `ADD_HTTP_RESPONSE_HEADER`, `ALLOW`, `CONTROL_ACCESS_USING_HTTP_METHODS`, `EXTEND_HTTP_REQUEST_HEADER_VALUE`, `EXTEND_HTTP_RESPONSE_HEADER_VALUE`, `HTTP_HEADER`, `IP_BASED_MAX_CONNECTIONS`, `REDIRECT`, `REMOVE_HTTP_REQUEST_HEADER`, `REMOVE_HTTP_RESPONSE_HEADER` """ return pulumi.get(self, "action") @@ -4472,6 +4752,14 @@ def are_invalid_characters_allowed(self) -> bool: def conditions(self) -> Sequence['outputs.GetRuleSetsRuleSetItemConditionResult']: return pulumi.get(self, "conditions") + @property + @pulumi.getter(name="defaultMaxConnections") + def default_max_connections(self) -> int: + """ + The maximum number of connections that the any IP can make to a listener unless the IP is mentioned in maxConnections. If no defaultMaxConnections is specified the default is unlimited. + """ + return pulumi.get(self, "default_max_connections") + @property @pulumi.getter def description(self) -> str: @@ -4496,6 +4784,14 @@ def http_large_header_size_in_kb(self) -> int: """ return pulumi.get(self, "http_large_header_size_in_kb") + @property + @pulumi.getter(name="ipMaxConnections") + def ip_max_connections(self) -> Sequence['outputs.GetRuleSetsRuleSetItemIpMaxConnectionResult']: + """ + An array of IPs that have a maxConnection setting different than the default and what that maxConnection setting is + """ + return pulumi.get(self, "ip_max_connections") + @property @pulumi.getter def prefix(self) -> str: @@ -4605,6 +4901,35 @@ def operator(self) -> str: return pulumi.get(self, "operator") +@pulumi.output_type +class GetRuleSetsRuleSetItemIpMaxConnectionResult(dict): + def __init__(__self__, *, + ip_addresses: Sequence[str], + max_connections: int): + """ + :param Sequence[str] ip_addresses: Each element in the list should be valid IPv4 or IPv6 CIDR Block address. Example: '["129.213.176.0/24", "150.136.187.0/24", "2002::1234:abcd:ffff:c0a8:101/64"]' + :param int max_connections: The maximum number of simultaneous connections that the specified IPs can make to the Listener. IPs without a maxConnections setting can make either defaultMaxConnections simultaneous connections to a listener or, if no defaultMaxConnections is specified, an unlimited number of simultaneous connections to a listener. + """ + pulumi.set(__self__, "ip_addresses", ip_addresses) + pulumi.set(__self__, "max_connections", max_connections) + + @property + @pulumi.getter(name="ipAddresses") + def ip_addresses(self) -> Sequence[str]: + """ + Each element in the list should be valid IPv4 or IPv6 CIDR Block address. Example: '["129.213.176.0/24", "150.136.187.0/24", "2002::1234:abcd:ffff:c0a8:101/64"]' + """ + return pulumi.get(self, "ip_addresses") + + @property + @pulumi.getter(name="maxConnections") + def max_connections(self) -> int: + """ + The maximum number of simultaneous connections that the specified IPs can make to the Listener. IPs without a maxConnections setting can make either defaultMaxConnections simultaneous connections to a listener or, if no defaultMaxConnections is specified, an unlimited number of simultaneous connections to a listener. + """ + return pulumi.get(self, "max_connections") + + @pulumi.output_type class GetRuleSetsRuleSetItemRedirectUriResult(dict): def __init__(__self__, *, diff --git a/sdk/python/pulumi_oci/loadbalancer/rule_set.py b/sdk/python/pulumi_oci/loadbalancer/rule_set.py index 80bdfb4885..61a08d6020 100644 --- a/sdk/python/pulumi_oci/loadbalancer/rule_set.py +++ b/sdk/python/pulumi_oci/loadbalancer/rule_set.py @@ -182,9 +182,14 @@ def __init__(__self__, attribute_value=rule_set_items_conditions_attribute_value, operator=rule_set_items_conditions_operator, )], + default_max_connections=rule_set_items_default_max_connections, description=rule_set_items_description, header=rule_set_items_header, http_large_header_size_in_kb=rule_set_items_http_large_header_size_in_kb, + ip_max_connections=[oci.load_balancer.RuleSetItemIpMaxConnectionArgs( + ip_addresses=rule_set_items_ip_max_connections_ip_addresses, + max_connections=rule_set_items_ip_max_connections_max_connections, + )], prefix=rule_set_items_prefix, redirect_uri=oci.load_balancer.RuleSetItemRedirectUriArgs( host=rule_set_items_redirect_uri_host, @@ -248,9 +253,14 @@ def __init__(__self__, attribute_value=rule_set_items_conditions_attribute_value, operator=rule_set_items_conditions_operator, )], + default_max_connections=rule_set_items_default_max_connections, description=rule_set_items_description, header=rule_set_items_header, http_large_header_size_in_kb=rule_set_items_http_large_header_size_in_kb, + ip_max_connections=[oci.load_balancer.RuleSetItemIpMaxConnectionArgs( + ip_addresses=rule_set_items_ip_max_connections_ip_addresses, + max_connections=rule_set_items_ip_max_connections_max_connections, + )], prefix=rule_set_items_prefix, redirect_uri=oci.load_balancer.RuleSetItemRedirectUriArgs( host=rule_set_items_redirect_uri_host,