diff --git a/patches/0001-fork.patch b/patches/0001-fork.patch index 08381b0a..49949709 100644 --- a/patches/0001-fork.patch +++ b/patches/0001-fork.patch @@ -1,28 +1,14 @@ -From bcdae6a92b540151347b806d1070f8659555dcd0 Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: aq17 Date: Thu, 25 May 2023 13:42:29 -0700 Subject: [PATCH] fork ---- - CHANGELOG.md | 24 +-- - docs/resources/elastigroup_aws.md | 162 +++++++++----------- - docs/resources/elastigroup_aws_beanstalk.md | 5 +- - docs/resources/elastigroup_azure.md | 27 ++-- - docs/resources/elastigroup_gcp.md | 24 +-- - docs/resources/elastigroup_gke.md | 10 +- - docs/resources/health_check.md | 2 +- - docs/resources/mrscaler_aws.md | 90 +++++------ - docs/resources/ocean_aws.md | 27 ++-- - docs/resources/ocean_ecs.md | 37 ++--- - docs/resources/ocean_gke_import.md | 29 ++-- - docs/resources/stateful_node_aws.md | 46 +++--- - 12 files changed, 212 insertions(+), 271 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md -index 772dc240..fc016e16 100644 +index bf5fb1e0..092b4400 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md -@@ -500,7 +500,7 @@ BUG FIXES: +@@ -637,7 +637,7 @@ BUG FIXES: ## 1.53.0 (July 15, 2021) ENHANCEMENTS: @@ -31,7 +17,7 @@ index 772dc240..fc016e16 100644 ## 1.52.0 (July 7, 2021) -@@ -539,19 +539,19 @@ BUG FIXES: +@@ -676,19 +676,19 @@ BUG FIXES: ## 1.48.0 (June 10, 2021) ENHANCEMENTS: @@ -61,7 +47,7 @@ index 772dc240..fc016e16 100644 ## 1.47.0 (June 6, 2021) ENHANCEMENTS: -@@ -600,7 +600,7 @@ BUG FIXES: +@@ -737,7 +737,7 @@ BUG FIXES: ## 1.40.0 (April 25, 2021) BUG FIXES: @@ -71,7 +57,7 @@ index 772dc240..fc016e16 100644 ## 1.39.0 (April 20, 2021) diff --git a/docs/resources/elastigroup_aws.md b/docs/resources/elastigroup_aws.md -index 3df1eebd..74a4b1bf 100644 +index 66029fdb..56e6582c 100644 --- a/docs/resources/elastigroup_aws.md +++ b/docs/resources/elastigroup_aws.md @@ -17,7 +17,7 @@ Provides a Spotinst AWS group resource. @@ -83,7 +69,7 @@ index 3df1eebd..74a4b1bf 100644 product = "Linux/UNIX" max_size = 0 -@@ -136,7 +136,7 @@ The following arguments are supported: +@@ -157,7 +157,7 @@ The following arguments are supported: * `name` - (Required) The group name. * `description` - (Optional) The group description. @@ -92,7 +78,7 @@ index 3df1eebd..74a4b1bf 100644 For EC2 Classic instances: `"Linux/UNIX (Amazon VPC)"`, `"SUSE Linux (Amazon VPC)"`, `"Windows (Amazon VPC)"`. * `availability_zones` - (Optional) List of Strings of availability zones. When this parameter is set, `subnet_ids` should be left unused. -@@ -149,7 +149,7 @@ Note: When this parameter is set, `availability_zones` should be left unused. +@@ -170,7 +170,7 @@ Note: When this parameter is set, `availability_zones` should be left unused. * `region` - (Optional) The AWS region your group will be created in. Note: This parameter is required if you specify subnets (through subnet_ids). This parameter is optional if you specify Availability Zones (through availability_zones). @@ -101,7 +87,7 @@ index 3df1eebd..74a4b1bf 100644 Note: Must be a sublist of `availability_zones` and `orientation` value must not be `"equalAzDistribution"`. * `max_size` - (Optional, Required if using scaling policies) The maximum number of instances the group should have at any time. -@@ -185,7 +185,7 @@ Note: Elastigroup can be configured with either imageId or images, but not both. +@@ -218,7 +218,7 @@ Note: Elastigroup can be configured with either imageId or images, but not both. * `cpu_credits` - (Optional) Controls how T3 instances are launched. Valid values: `standard`, `unlimited`. * `fallback_to_ondemand` - (Required) In a case of no Spot instances available, Elastigroup will launch on-demand instances instead. * `wait_for_capacity` - (Optional) Minimum number of instances in a 'HEALTHY' status that is required before continuing. This is ignored when updating with blue/green deployment. Cannot exceed `desired_capacity`. @@ -110,7 +96,7 @@ index 3df1eebd..74a4b1bf 100644 * `orientation` - (Required, Default: `balanced`) Select a prediction strategy. Valid values: `balanced`, `costOriented`, `equalAzDistribution`, `availabilityOriented`. You can read more in our documentation. * `spot_percentage` - (Optional; Required if not using `ondemand_count`) The percentage of Spot instances that would spin up from the `desired_capacity` number. * `ondemand_count` - (Optional; Required if not using `spot_percentage`) Number of on demand instances to launch in the group. All other instances will be spot instances. When this parameter is set the `spot_percentage` parameter is being ignored. -@@ -202,7 +202,7 @@ Note: Elastigroup can be configured with either imageId or images, but not both. +@@ -235,7 +235,7 @@ Note: Elastigroup can be configured with either imageId or images, but not both. * `tags` - (Optional) A key/value mapping of tags to assign to the resource. * `elastic_ips` - (Optional) A list of [AWS Elastic IP](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) allocation IDs to associate to the group instances. @@ -119,17 +105,14 @@ index 3df1eebd..74a4b1bf 100644 * `revert_to_spot` - (Optional) Hold settings for strategy correction – replacing On-Demand for Spot instances. Supported Values: `"never"`, `"always"`, `"timeWindow"` * `perform_at` - (Required) In the event of a fallback to On-Demand instances, select the time period to revert back to Spot. Supported Arguments – always (default), timeWindow, never. For timeWindow or never to be valid the group must have availabilityOriented OR persistence defined. * `time_windows` - (Optional) Specify a list of time windows for to execute revertToSpot strategy. Time window format: `ddd:hh:mm-ddd:hh:mm`. Example: `Mon:03:00-Wed:02:30` -@@ -212,35 +212,33 @@ Note: Elastigroup can be configured with either imageId or images, but not both. - * `should_tag_volumes` - (Optional) Tag specification for Volume resources. - * `should_tag_snapshots` - (Optional) Tag specification for Snapshot resources. - * `should_tag_amis` - (Optional) Tag specification for AMI resources. -- +@@ -251,34 +251,32 @@ Note: Elastigroup can be configured with either imageId or images, but not both. + * `s3` - (Optional) Exports your cluster's logs to the S3 bucket and subdir configured on the S3 data integration given. + * `id` - (Required) The identifier of The S3 data integration to export the logs to. + - -## Load Balancers -- -+ +### Load Balancers -+ + * `elastic_load_balancers` - (Optional) List of Elastic Load Balancers names (ELB). * `target_group_arns` - (Optional) List of Target Group ARNs to register the instances to. -* `multai_target_sets` - (Optional) Set of targets to register. @@ -163,7 +146,7 @@ index 3df1eebd..74a4b1bf 100644 Each `signal` supports the following: -@@ -256,8 +254,7 @@ Usage: +@@ -294,8 +292,7 @@ Usage: } ``` @@ -173,7 +156,7 @@ index 3df1eebd..74a4b1bf 100644 Each `scheduled_task` supports the following: -@@ -297,8 +294,7 @@ Usage: +@@ -335,8 +332,7 @@ Usage: } ``` @@ -183,7 +166,7 @@ index 3df1eebd..74a4b1bf 100644 `scaling_up_policy` supports the following: -@@ -416,17 +412,17 @@ Usage: +@@ -454,17 +450,17 @@ Usage: statistic = "average" unit = "" cooldown = 60 @@ -204,7 +187,7 @@ index 3df1eebd..74a4b1bf 100644 step_adjustments { threshold = 50 action { -@@ -434,25 +430,25 @@ Usage: +@@ -472,25 +468,25 @@ Usage: min_target_capacity = "3" } } @@ -234,7 +217,7 @@ index 3df1eebd..74a4b1bf 100644 } ``` -@@ -481,7 +477,7 @@ Usage: +@@ -519,7 +515,7 @@ Usage: * `name` - (Required) The expression name. * `metrics` - (Optional) Array of objects (Metric config) * `metric_name` - (Required) The name of the source metric. @@ -243,7 +226,7 @@ index 3df1eebd..74a4b1bf 100644 * `name_space` - (Required, default: `AWS/EC2`) The namespace for the alarm's associated metric. * `statistic` - (Optional) The metric statistics to return. Valid values: `"average"`, `"sum"`, `"sampleCount"`, `"maximum"`, `"minimum"`, `"percentile"`. * `extended_statistic` - (Optional) Percentile statistic. Valid values: `"p0.1"` - `"p100"`. -@@ -506,8 +502,7 @@ Usage: +@@ -544,8 +540,7 @@ Usage: } ``` @@ -253,7 +236,7 @@ index 3df1eebd..74a4b1bf 100644 Each of the `network_interface` attributes controls a portion of the AWS Instance's "Elastic Network Interfaces". It's a good idea to familiarize yourself with [AWS's Elastic Network -@@ -526,8 +521,8 @@ to understand the implications of using these attributes. +@@ -564,8 +559,8 @@ to understand the implications of using these attributes. Usage: ```hcl @@ -264,7 +247,7 @@ index 3df1eebd..74a4b1bf 100644 device_index = 1 description = "nic description in here" private_ip_address = "1.1.1.1" -@@ -537,8 +532,7 @@ Usage: +@@ -575,8 +570,7 @@ Usage: } ``` @@ -274,7 +257,7 @@ index 3df1eebd..74a4b1bf 100644 Each of the `*_block_device` attributes controls a portion of the AWS Instance's "Block Device Mapping". It's a good idea to familiarize yourself with [AWS's Block Device -@@ -563,8 +557,8 @@ Usage: +@@ -601,8 +595,8 @@ Usage: ```hcl ebs_block_device { @@ -285,7 +268,7 @@ index 3df1eebd..74a4b1bf 100644 volume_type = "gp2" volume_size = 8 iops = 1 -@@ -572,10 +566,10 @@ Usage: +@@ -610,10 +604,10 @@ Usage: encrypted = false kms_key_id = "kms-key-01" } @@ -299,7 +282,7 @@ index 3df1eebd..74a4b1bf 100644 volume_type = "gp3" volume_size = 8 iops = 1 -@@ -591,7 +585,7 @@ Each `ephemeral_block_device` supports the following: +@@ -629,7 +623,7 @@ Each `ephemeral_block_device` supports the following: * `device_name` - (Required) The name of the block device to mount on the instance. * `virtual_name` - (Required) The [Instance Store Device Name](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#InstanceStoreDeviceNames) (e.g. `"ephemeral0"`). @@ -308,7 +291,7 @@ index 3df1eebd..74a4b1bf 100644 Usage: ```hcl -@@ -601,8 +595,7 @@ Usage: +@@ -639,8 +633,7 @@ Usage: } ``` @@ -318,7 +301,7 @@ index 3df1eebd..74a4b1bf 100644 We support instance persistence via the following configurations. all values are boolean. For more information on instance persistence please see: [Stateful configuration](https://docs.spot.io/elastigroup/features/stateful-instance/stateful-instances) -@@ -623,15 +616,14 @@ Usage: +@@ -661,15 +654,14 @@ Usage: private_ips = ["1.1.1.1", "2.2.2.2"] ``` @@ -336,7 +319,7 @@ index 3df1eebd..74a4b1bf 100644 Usage: ```hcl -@@ -643,8 +635,7 @@ Usage: +@@ -681,8 +673,7 @@ Usage: } ``` @@ -346,7 +329,7 @@ index 3df1eebd..74a4b1bf 100644 * `stateful_instance_action` - (Optional) * `stateful_instance_id` - (Required) String, Stateful Instance ID on which the action should be performed. -@@ -664,8 +655,7 @@ Usage: +@@ -702,8 +693,7 @@ Usage: } ``` @@ -356,7 +339,7 @@ index 3df1eebd..74a4b1bf 100644 * `health_check_type` - (Optional) The service that will perform health checks for the instance. Supported values : `"ELB"`, `"HCS"`, `"TARGET_GROUP"`, `"CUSTOM"`, `"K8S_NODE"`, `"MLB"`, `"EC2"`, `"MULTAI_TARGET_SET"`, `"MLB_RUNTIME"`, `"K8S_NODE"`, `"NOMAD_NODE"`, `"ECS_CLUSTER_INSTANCE"`. * `health_check_grace_period` - (Optional) The amount of time, in seconds, after the instance has launched to starts and check its health -@@ -674,13 +664,12 @@ Usage: +@@ -712,13 +702,12 @@ Usage: Usage: ```hcl @@ -372,7 +355,7 @@ index 3df1eebd..74a4b1bf 100644 * `integration_rancher` - (Optional) Describes the [Rancher](http://rancherlabs.com/) integration. -@@ -720,23 +709,23 @@ Usage: +@@ -758,23 +747,23 @@ Usage: Usage: ```hcl @@ -400,7 +383,7 @@ index 3df1eebd..74a4b1bf 100644 autoscale_attributes { key = "test.ecs.key" value = "test.ecs.value" -@@ -765,7 +754,7 @@ Usage: +@@ -803,7 +792,7 @@ Usage: integration_codedeploy { cleanup_on_failure = false terminate_instance_on_failure = false @@ -409,7 +392,7 @@ index 3df1eebd..74a4b1bf 100644 deployment_groups { application_name = "my-app" deployment_group_name = "my-group" -@@ -790,7 +779,7 @@ Usage: +@@ -828,7 +817,7 @@ Usage: integration_route53 { # Option 1: Use A records. @@ -418,7 +401,7 @@ index 3df1eebd..74a4b1bf 100644 hosted_zone_id = "zone-id" spotinst_acct_id = "act-123456" record_set_type = "a" -@@ -802,7 +791,7 @@ Usage: +@@ -840,7 +829,7 @@ Usage: } # Option 2: Use CNAME records. @@ -427,7 +410,7 @@ index 3df1eebd..74a4b1bf 100644 hosted_zone_id = "zone-id" spotinst_acct_id = "act-123456" record_set_type = "cname" -@@ -837,17 +826,17 @@ integration_docker_swarm { +@@ -875,17 +864,17 @@ integration_docker_swarm { master_port = 2376 autoscale_is_enabled = true autoscale_cooldown = 180 @@ -448,7 +431,7 @@ index 3df1eebd..74a4b1bf 100644 } ``` -@@ -874,34 +863,34 @@ Usage: +@@ -913,35 +902,35 @@ Usage: integration_kubernetes { integration_mode = "pod" cluster_identifier = "my-identifier.ek8s.com" @@ -475,6 +458,7 @@ index 3df1eebd..74a4b1bf 100644 + autoscale_down { evaluation_periods = 300 + max_scale_down_percentage = 50 } - + @@ -489,7 +473,7 @@ index 3df1eebd..74a4b1bf 100644 * `integration_nomad` - (Optional) Describes the [Nomad](https://www.nomadproject.io/) integration. * `master_host` - (Required) The URL for the Nomad master host. -@@ -926,27 +915,27 @@ Usage: +@@ -966,27 +955,27 @@ Usage: acl_token = "top-secret" autoscale_is_enabled = false autoscale_cooldown = 300 @@ -523,7 +507,7 @@ index 3df1eebd..74a4b1bf 100644 Usage: -@@ -957,7 +946,7 @@ Usage: +@@ -997,7 +986,7 @@ Usage: ``` * `integration_multai_runtime` - (Optional) Describes the [Multai Runtime](https://spotinst.com/) integration. @@ -532,7 +516,7 @@ index 3df1eebd..74a4b1bf 100644 * `deployment_id` - (Optional) The deployment id you want to get Usage: -@@ -967,12 +956,12 @@ Usage: +@@ -1007,12 +996,12 @@ Usage: deployment_id = "" } ``` @@ -549,7 +533,7 @@ index 3df1eebd..74a4b1bf 100644 Usage: ```hcl -@@ -984,21 +973,21 @@ Usage: +@@ -1024,21 +1013,21 @@ Usage: ``` * `integration_beanstalk` - (Optional) Describes the [Beanstalk](https://api.spotinst.com/provisioning-ci-cd-sdk/provisioning-tools/terraform/resources/terraform-v-2/elastic-beanstalk/) integration. @@ -575,7 +559,7 @@ index 3df1eebd..74a4b1bf 100644 Usage: ```hcl -@@ -1025,8 +1014,7 @@ Usage: +@@ -1065,8 +1054,7 @@ Usage: } ``` @@ -585,7 +569,7 @@ index 3df1eebd..74a4b1bf 100644 * `update_policy` - (Optional) -@@ -1042,7 +1030,7 @@ Usage: +@@ -1082,7 +1070,7 @@ Usage: * `strategy` - (Optional) Strategy parameters * `action` - (Required) Action to take. Valid values: `REPLACE_SERVER`, `RESTART_SERVER`. * `should_drain_instances` - (Optional) Specify whether to drain incoming TCP connections before terminating a server. @@ -594,7 +578,7 @@ index 3df1eebd..74a4b1bf 100644 * `on_failure` - (Optional) Set detach options to the deployment. * `action_type` - (Required) Sets the action that will take place, Accepted values are: `DETACH_OLD`, `DETACH_NEW`. * `should_handle_all_batches` - (Optional, Default: `false`) Indicator if the action should apply to all batches of the deployment or only the latest batch. -@@ -1076,9 +1064,9 @@ Usage: +@@ -1116,7 +1104,7 @@ Usage: } } ``` @@ -603,10 +587,6 @@ index 3df1eebd..74a4b1bf 100644 ## Attributes Reference The following attributes are exported: - --* `id` - The group ID. -+* `id` - The group ID. -\ No newline at end of file diff --git a/docs/resources/elastigroup_aws_beanstalk.md b/docs/resources/elastigroup_aws_beanstalk.md index caf128e0..277fa01a 100644 --- a/docs/resources/elastigroup_aws_beanstalk.md @@ -1098,7 +1078,7 @@ index 05d783c0..7cd006b9 100644 ```hcl termination_policies { diff --git a/docs/resources/ocean_aws.md b/docs/resources/ocean_aws.md -index 7b59a4ad..e8cc4960 100644 +index e6554080..1b5a5188 100644 --- a/docs/resources/ocean_aws.md +++ b/docs/resources/ocean_aws.md @@ -46,7 +46,7 @@ resource "spotinst_ocean_aws" "example" { @@ -1156,7 +1136,7 @@ index 7b59a4ad..e8cc4960 100644 block_device_mappings { device_name = "/dev/xvda" ebs { -@@ -139,7 +139,7 @@ resource "spotinst_ocean_aws" "example" { +@@ -144,7 +144,7 @@ resource "spotinst_ocean_aws" "example" { } } } @@ -1165,7 +1145,7 @@ index 7b59a4ad..e8cc4960 100644 logging { export { s3 { -@@ -283,13 +283,12 @@ autoscaler { +@@ -293,13 +293,12 @@ autoscaler { max_vcpu = 1024 max_memory_gib = 1500 } @@ -1181,7 +1161,7 @@ index 7b59a4ad..e8cc4960 100644 * `update_policy` - (Optional) * `should_roll` - (Required) Enables the roll. -@@ -325,13 +324,13 @@ update_policy { +@@ -335,13 +334,13 @@ update_policy { * `is_enabled` - (Required) Describes whether the task is enabled. When true the task should run when false it should not run. Required for `cluster.scheduling.tasks` object. * `cron_expression` - (Required) A valid cron expression. The cron is running in UTC time zone and is in Unix cron format Cron Expression Validator Script. Only one of `frequency` or `cronExpression` should be used at a time. Required for `cluster.scheduling.tasks` object. (Example: `0 1 * * *`). * `task_type` - (Required) Valid values: `clusterRoll`. Required for `cluster.scheduling.tasks` object. (Example: `clusterRoll`). @@ -1393,7 +1373,7 @@ index 91266c3a..2aa41f11 100644 * `autoscaler` - (Optional) The Ocean Kubernetes Autoscaler object. * `is_enabled` - (Optional, Default: `true`) Enable the Ocean Kubernetes Autoscaler. diff --git a/docs/resources/stateful_node_aws.md b/docs/resources/stateful_node_aws.md -index 696f90f8..f645c45c 100644 +index b40131ae..a57aa329 100644 --- a/docs/resources/stateful_node_aws.md +++ b/docs/resources/stateful_node_aws.md @@ -16,7 +16,7 @@ Provides a Spotinst AWS ManagedInstance resource. @@ -1413,7 +1393,7 @@ index 696f90f8..f645c45c 100644 +* `utilize_reserved_instances` - (Optional) In case of any available Reserved Instances, Managed Instance will utilize them before purchasing Spot instances. Default: `"false"`. * `optimization_windows` - (Optional) When `performAt` is `"timeWindow"`: must specify a list of `"timeWindows"` with at least one time window. Each string should be formatted as `ddd:hh:mm-ddd:hh:mm` (ddd = day of week = Sun | Mon | Tue | Wed | Thu | Fri | Sat hh = hour 24 = 0 -23 mm = minute = 0 - 59). * `perform_at` - (Optional) Valid values: `"always"`, `"never"`, `"timeWindow"`. Default `"never"`. - * `minimum_instnace_lifetime` - (Optional) Defines the preferred minimum instance lifetime. Markets which comply with this preference will be prioritized. Optional values: `1`, `3`, `6`, `12`, `24`. + * `minimum_instance_lifetime` - (Optional) Defines the preferred minimum instance lifetime. Markets which comply with this preference will be prioritized. Optional values: `1`, `3`, `6`, `12`, `24`. * `persist_private_ip` - (Optional) Should the instance maintain its private IP. -* `persist_block_devices` - (Optional) Should the instance maintain its Data volumes. +* `persist_block_devices` - (Optional) Should the instance maintain its Data volumes. @@ -1543,6 +1523,3 @@ index 696f90f8..f645c45c 100644 type = "pause" } ``` --- -2.39.1 - diff --git a/provider/cmd/pulumi-resource-spotinst/bridge-metadata.json b/provider/cmd/pulumi-resource-spotinst/bridge-metadata.json index 3a8f543f..85b4dfd6 100644 --- a/provider/cmd/pulumi-resource-spotinst/bridge-metadata.json +++ b/provider/cmd/pulumi-resource-spotinst/bridge-metadata.json @@ -494,6 +494,23 @@ }, "key_name": {}, "lifetime_period": {}, + "logging": { + "maxItemsOne": true, + "elem": { + "fields": { + "export": { + "maxItemsOne": true, + "elem": { + "fields": { + "s3": { + "maxItemsOne": false + } + } + } + } + } + } + }, "max_size": {}, "metadata_options": { "maxItemsOne": true, @@ -5135,6 +5152,9 @@ "tagKey": "tag_key", "tagValue": "tag_value" }, + "spotinst:aws/ElastigroupLoggingExport:ElastigroupLoggingExport": { + "s3s": "s3" + }, "spotinst:aws/ElastigroupMetadataOptions:ElastigroupMetadataOptions": { "httpPutResponseHopLimit": "http_put_response_hop_limit", "httpTokens": "http_tokens", diff --git a/provider/cmd/pulumi-resource-spotinst/schema.json b/provider/cmd/pulumi-resource-spotinst/schema.json index deaac421..177a40b5 100644 --- a/provider/cmd/pulumi-resource-spotinst/schema.json +++ b/provider/cmd/pulumi-resource-spotinst/schema.json @@ -307,7 +307,7 @@ "properties": { "id": { "type": "string", - "description": "The group ID.\n" + "description": "The identifier of The S3 data integration to export the logs to.\n" } }, "type": "object", @@ -1110,6 +1110,39 @@ "tagKey" ] }, + "spotinst:aws/ElastigroupLogging:ElastigroupLogging": { + "properties": { + "export": { + "$ref": "#/types/spotinst:aws/ElastigroupLoggingExport:ElastigroupLoggingExport", + "description": "Logging Export configuration.\n" + } + }, + "type": "object" + }, + "spotinst:aws/ElastigroupLoggingExport:ElastigroupLoggingExport": { + "properties": { + "s3s": { + "type": "array", + "items": { + "$ref": "#/types/spotinst:aws/ElastigroupLoggingExportS3:ElastigroupLoggingExportS3" + }, + "description": "Exports your cluster's logs to the S3 bucket and subdir configured on the S3 data integration given.\n" + } + }, + "type": "object" + }, + "spotinst:aws/ElastigroupLoggingExportS3:ElastigroupLoggingExportS3": { + "properties": { + "id": { + "type": "string", + "description": "The identifier of The S3 data integration to export the logs to.\n" + } + }, + "type": "object", + "required": [ + "id" + ] + }, "spotinst:aws/ElastigroupMetadataOptions:ElastigroupMetadataOptions": { "properties": { "httpPutResponseHopLimit": { @@ -9267,7 +9300,7 @@ } }, "spotinst:aws/elastigroup:Elastigroup": { - "description": "Provides a Spotinst AWS group resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spotinst.aws.Elastigroup;\nimport com.pulumi.spotinst.aws.ElastigroupArgs;\nimport com.pulumi.spotinst.aws.inputs.ElastigroupCpuOptionsArgs;\nimport com.pulumi.spotinst.aws.inputs.ElastigroupInstanceTypesWeightArgs;\nimport com.pulumi.spotinst.aws.inputs.ElastigroupMetadataOptionsArgs;\nimport com.pulumi.spotinst.aws.inputs.ElastigroupResourceRequirementArgs;\nimport com.pulumi.spotinst.aws.inputs.ElastigroupResourceTagSpecificationArgs;\nimport com.pulumi.spotinst.aws.inputs.ElastigroupScalingDownPolicyArgs;\nimport com.pulumi.spotinst.aws.inputs.ElastigroupScalingStrategyArgs;\nimport com.pulumi.spotinst.aws.inputs.ElastigroupScalingUpPolicyArgs;\nimport com.pulumi.spotinst.aws.inputs.ElastigroupTagArgs;\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 default_elastigroup = new Elastigroup(\"default-elastigroup\", ElastigroupArgs.builder() \n .capacityUnit(\"weight\")\n .cpuCredits(\"unlimited\")\n .cpuOptions(ElastigroupCpuOptionsArgs.builder()\n .threadsPerCore(1)\n .build())\n .description(\"created by Pulumi\")\n .desiredCapacity(0)\n .ebsOptimized(false)\n .enableMonitoring(false)\n .fallbackToOndemand(false)\n .iamInstanceProfile(\"iam-profile\")\n .imageId(\"ami-a27d8fda\")\n .instanceTypesOndemand(\"m3.2xlarge\")\n .instanceTypesPreferredSpots(\"m3.xlarge\")\n .instanceTypesSpots( \n \"m3.xlarge\",\n \"m3.2xlarge\")\n .instanceTypesWeights( \n ElastigroupInstanceTypesWeightArgs.builder()\n .instanceType(\"m3.xlarge\")\n .weight(10)\n .build(),\n ElastigroupInstanceTypesWeightArgs.builder()\n .instanceType(\"m3.2xlarge\")\n .weight(16)\n .build())\n .keyName(\"my-key.ssh\")\n .lifecycle(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .maxSize(0)\n .metadataOptions(ElastigroupMetadataOptionsArgs.builder()\n .httpPutResponseHopLimit(10)\n .httpTokens(\"optional\")\n .instanceMetadataTags(\"enabled\")\n .build())\n .minSize(0)\n .minimumInstanceLifetime(12)\n .onDemandTypes(\"c3.large\")\n .orientation(\"balanced\")\n .placementTenancy(\"default\")\n .product(\"Linux/UNIX\")\n .region(\"us-west-2\")\n .resourceRequirements(ElastigroupResourceRequirementArgs.builder()\n .excludedInstanceFamilies( \n \"a\",\n \"m\")\n .excludedInstanceGenerations( \n \"1\",\n \"2\")\n .excludedInstanceTypes(\"m3.large\")\n .requiredGpuMaximum(16)\n .requiredGpuMinimum(1)\n .requiredMemoryMaximum(512)\n .requiredMemoryMinimum(1)\n .requiredVcpuMaximum(64)\n .requiredVcpuMinimum(1)\n .build())\n .resourceTagSpecifications(ElastigroupResourceTagSpecificationArgs.builder()\n .shouldTagAmis(true)\n .shouldTagEnis(true)\n .shouldTagSnapshots(true)\n .shouldTagVolumes(true)\n .build())\n .scalingDownPolicies(ElastigroupScalingDownPolicyArgs.builder()\n .adjustment(1)\n .cooldown(300)\n .evaluationPeriods(10)\n .metricName(\"DefaultQueuesDepth\")\n .namespace(\"custom\")\n .period(60)\n .policyName(\"Default Scaling Down Policy\")\n .statistic(\"average\")\n .threshold(10)\n .unit(\"none\")\n .build())\n .scalingStrategies(ElastigroupScalingStrategyArgs.builder()\n .terminateAtEndOfBillingHour(true)\n .terminationPolicy(\"default\")\n .build())\n .scalingUpPolicies(ElastigroupScalingUpPolicyArgs.builder()\n .adjustment(1)\n .cooldown(300)\n .evaluationPeriods(5)\n .metricName(\"DefaultQueuesDepth\")\n .namespace(\"custom\")\n .period(60)\n .policyName(\"Default Scaling Up Policy\")\n .statistic(\"average\")\n .threshold(100)\n .unit(\"none\")\n .build())\n .securityGroups(\"sg-123456\")\n .subnetIds( \n \"sb-123456\",\n \"sb-456789\")\n .tags( \n ElastigroupTagArgs.builder()\n .key(\"Env\")\n .value(\"production\")\n .build(),\n ElastigroupTagArgs.builder()\n .key(\"Name\")\n .value(\"default-production\")\n .build(),\n ElastigroupTagArgs.builder()\n .key(\"Project\")\n .value(\"app_v2\")\n .build())\n .userData(\"echo hello world\")\n .waitForCapacity(5)\n .waitForCapacityTimeout(300)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create an Elastigroup\n default-elastigroup:\n type: spotinst:aws:Elastigroup\n properties:\n capacityUnit: weight\n cpuCredits: unlimited\n cpuOptions:\n threadsPerCore: 1\n description: created by Pulumi\n desiredCapacity: 0\n ebsOptimized: false\n enableMonitoring: false\n fallbackToOndemand: false\n iamInstanceProfile: iam-profile\n imageId: ami-a27d8fda\n instanceTypesOndemand: m3.2xlarge\n instanceTypesPreferredSpots:\n - m3.xlarge\n instanceTypesSpots:\n - m3.xlarge\n - m3.2xlarge\n instanceTypesWeights:\n - instanceType: m3.xlarge\n weight: 10\n - instanceType: m3.2xlarge\n weight: 16\n keyName: my-key.ssh\n lifecycle:\n ignoreChanges:\n - desiredCapacity\n maxSize: 0\n metadataOptions:\n httpPutResponseHopLimit: 10\n httpTokens: optional\n instanceMetadataTags: enabled\n minSize: 0\n minimumInstanceLifetime: 12\n onDemandTypes:\n - c3.large\n orientation: balanced\n placementTenancy: default\n product: Linux/UNIX\n region: us-west-2\n resourceRequirements:\n - excludedInstanceFamilies:\n - a\n - m\n excludedInstanceGenerations:\n - '1'\n - '2'\n excludedInstanceTypes:\n - m3.large\n requiredGpuMaximum: 16\n requiredGpuMinimum: 1\n requiredMemoryMaximum: 512\n requiredMemoryMinimum: 1\n requiredVcpuMaximum: 64\n requiredVcpuMinimum: 1\n resourceTagSpecifications:\n - shouldTagAmis: true\n shouldTagEnis: true\n shouldTagSnapshots: true\n shouldTagVolumes: true\n scalingDownPolicies:\n - adjustment: 1\n cooldown: 300\n evaluationPeriods: 10\n metricName: DefaultQueuesDepth\n namespace: custom\n period: 60\n policyName: Default Scaling Down Policy\n statistic: average\n threshold: 10\n unit: none\n scalingStrategies:\n - terminateAtEndOfBillingHour: true\n terminationPolicy: default\n scalingUpPolicies:\n - adjustment: 1\n cooldown: 300\n evaluationPeriods: 5\n metricName: DefaultQueuesDepth\n namespace: custom\n period: 60\n policyName: Default Scaling Up Policy\n statistic: average\n threshold: 100\n unit: none\n securityGroups:\n - sg-123456\n subnetIds:\n - sb-123456\n - sb-456789\n tags:\n - key: Env\n value: production\n - key: Name\n value: default-production\n - key: Project\n value: app_v2\n userData: echo hello world\n waitForCapacity: 5\n waitForCapacityTimeout: 300\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Provides a Spotinst AWS group resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spotinst.aws.Elastigroup;\nimport com.pulumi.spotinst.aws.ElastigroupArgs;\nimport com.pulumi.spotinst.aws.inputs.ElastigroupCpuOptionsArgs;\nimport com.pulumi.spotinst.aws.inputs.ElastigroupInstanceTypesWeightArgs;\nimport com.pulumi.spotinst.aws.inputs.ElastigroupLoggingArgs;\nimport com.pulumi.spotinst.aws.inputs.ElastigroupLoggingExportArgs;\nimport com.pulumi.spotinst.aws.inputs.ElastigroupMetadataOptionsArgs;\nimport com.pulumi.spotinst.aws.inputs.ElastigroupResourceRequirementArgs;\nimport com.pulumi.spotinst.aws.inputs.ElastigroupResourceTagSpecificationArgs;\nimport com.pulumi.spotinst.aws.inputs.ElastigroupScalingDownPolicyArgs;\nimport com.pulumi.spotinst.aws.inputs.ElastigroupScalingStrategyArgs;\nimport com.pulumi.spotinst.aws.inputs.ElastigroupScalingUpPolicyArgs;\nimport com.pulumi.spotinst.aws.inputs.ElastigroupTagArgs;\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 default_elastigroup = new Elastigroup(\"default-elastigroup\", ElastigroupArgs.builder() \n .capacityUnit(\"weight\")\n .cpuCredits(\"unlimited\")\n .cpuOptions(ElastigroupCpuOptionsArgs.builder()\n .threadsPerCore(1)\n .build())\n .description(\"created by Pulumi\")\n .desiredCapacity(0)\n .ebsOptimized(false)\n .enableMonitoring(false)\n .fallbackToOndemand(false)\n .iamInstanceProfile(\"iam-profile\")\n .imageId(\"ami-a27d8fda\")\n .instanceTypesOndemand(\"m3.2xlarge\")\n .instanceTypesPreferredSpots(\"m3.xlarge\")\n .instanceTypesSpots( \n \"m3.xlarge\",\n \"m3.2xlarge\")\n .instanceTypesWeights( \n ElastigroupInstanceTypesWeightArgs.builder()\n .instanceType(\"m3.xlarge\")\n .weight(10)\n .build(),\n ElastigroupInstanceTypesWeightArgs.builder()\n .instanceType(\"m3.2xlarge\")\n .weight(16)\n .build())\n .keyName(\"my-key.ssh\")\n .lifecycle(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .logging(ElastigroupLoggingArgs.builder()\n .export(ElastigroupLoggingExportArgs.builder()\n .s3(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .build())\n .build())\n .maxSize(0)\n .metadataOptions(ElastigroupMetadataOptionsArgs.builder()\n .httpPutResponseHopLimit(10)\n .httpTokens(\"optional\")\n .instanceMetadataTags(\"enabled\")\n .build())\n .minSize(0)\n .minimumInstanceLifetime(12)\n .onDemandTypes(\"c3.large\")\n .orientation(\"balanced\")\n .placementTenancy(\"default\")\n .product(\"Linux/UNIX\")\n .region(\"us-west-2\")\n .resourceRequirements(ElastigroupResourceRequirementArgs.builder()\n .excludedInstanceFamilies( \n \"a\",\n \"m\")\n .excludedInstanceGenerations( \n \"1\",\n \"2\")\n .excludedInstanceTypes(\"m3.large\")\n .requiredGpuMaximum(16)\n .requiredGpuMinimum(1)\n .requiredMemoryMaximum(512)\n .requiredMemoryMinimum(1)\n .requiredVcpuMaximum(64)\n .requiredVcpuMinimum(1)\n .build())\n .resourceTagSpecifications(ElastigroupResourceTagSpecificationArgs.builder()\n .shouldTagAmis(true)\n .shouldTagEnis(true)\n .shouldTagSnapshots(true)\n .shouldTagVolumes(true)\n .build())\n .scalingDownPolicies(ElastigroupScalingDownPolicyArgs.builder()\n .adjustment(1)\n .cooldown(300)\n .evaluationPeriods(10)\n .metricName(\"DefaultQueuesDepth\")\n .namespace(\"custom\")\n .period(60)\n .policyName(\"Default Scaling Down Policy\")\n .statistic(\"average\")\n .threshold(10)\n .unit(\"none\")\n .build())\n .scalingStrategies(ElastigroupScalingStrategyArgs.builder()\n .terminateAtEndOfBillingHour(true)\n .terminationPolicy(\"default\")\n .build())\n .scalingUpPolicies(ElastigroupScalingUpPolicyArgs.builder()\n .adjustment(1)\n .cooldown(300)\n .evaluationPeriods(5)\n .metricName(\"DefaultQueuesDepth\")\n .namespace(\"custom\")\n .period(60)\n .policyName(\"Default Scaling Up Policy\")\n .statistic(\"average\")\n .threshold(100)\n .unit(\"none\")\n .build())\n .securityGroups(\"sg-123456\")\n .subnetIds( \n \"sb-123456\",\n \"sb-456789\")\n .tags( \n ElastigroupTagArgs.builder()\n .key(\"Env\")\n .value(\"production\")\n .build(),\n ElastigroupTagArgs.builder()\n .key(\"Name\")\n .value(\"default-production\")\n .build(),\n ElastigroupTagArgs.builder()\n .key(\"Project\")\n .value(\"app_v2\")\n .build())\n .userData(\"echo hello world\")\n .waitForCapacity(5)\n .waitForCapacityTimeout(300)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create an Elastigroup\n default-elastigroup:\n type: spotinst:aws:Elastigroup\n properties:\n capacityUnit: weight\n cpuCredits: unlimited\n cpuOptions:\n threadsPerCore: 1\n description: created by Pulumi\n desiredCapacity: 0\n ebsOptimized: false\n enableMonitoring: false\n fallbackToOndemand: false\n iamInstanceProfile: iam-profile\n imageId: ami-a27d8fda\n instanceTypesOndemand: m3.2xlarge\n instanceTypesPreferredSpots:\n - m3.xlarge\n instanceTypesSpots:\n - m3.xlarge\n - m3.2xlarge\n instanceTypesWeights:\n - instanceType: m3.xlarge\n weight: 10\n - instanceType: m3.2xlarge\n weight: 16\n keyName: my-key.ssh\n lifecycle:\n ignoreChanges:\n - desiredCapacity\n logging:\n export:\n s3:\n - id: di-123456\n maxSize: 0\n metadataOptions:\n httpPutResponseHopLimit: 10\n httpTokens: optional\n instanceMetadataTags: enabled\n minSize: 0\n minimumInstanceLifetime: 12\n onDemandTypes:\n - c3.large\n orientation: balanced\n placementTenancy: default\n product: Linux/UNIX\n region: us-west-2\n resourceRequirements:\n - excludedInstanceFamilies:\n - a\n - m\n excludedInstanceGenerations:\n - '1'\n - '2'\n excludedInstanceTypes:\n - m3.large\n requiredGpuMaximum: 16\n requiredGpuMinimum: 1\n requiredMemoryMaximum: 512\n requiredMemoryMinimum: 1\n requiredVcpuMaximum: 64\n requiredVcpuMinimum: 1\n resourceTagSpecifications:\n - shouldTagAmis: true\n shouldTagEnis: true\n shouldTagSnapshots: true\n shouldTagVolumes: true\n scalingDownPolicies:\n - adjustment: 1\n cooldown: 300\n evaluationPeriods: 10\n metricName: DefaultQueuesDepth\n namespace: custom\n period: 60\n policyName: Default Scaling Down Policy\n statistic: average\n threshold: 10\n unit: none\n scalingStrategies:\n - terminateAtEndOfBillingHour: true\n terminationPolicy: default\n scalingUpPolicies:\n - adjustment: 1\n cooldown: 300\n evaluationPeriods: 5\n metricName: DefaultQueuesDepth\n namespace: custom\n period: 60\n policyName: Default Scaling Up Policy\n statistic: average\n threshold: 100\n unit: none\n securityGroups:\n - sg-123456\n subnetIds:\n - sb-123456\n - sb-456789\n tags:\n - key: Env\n value: production\n - key: Name\n value: default-production\n - key: Project\n value: app_v2\n userData: echo hello world\n waitForCapacity: 5\n waitForCapacityTimeout: 300\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "availabilityZones": { "type": "array", @@ -9456,6 +9489,10 @@ "lifetimePeriod": { "type": "string" }, + "logging": { + "$ref": "#/types/spotinst:aws/ElastigroupLogging:ElastigroupLogging", + "description": "Logging configuration.\n" + }, "maxSize": { "type": "integer", "description": "The maximum number of instances the group should have at any time.\n" @@ -9868,6 +9905,10 @@ "lifetimePeriod": { "type": "string" }, + "logging": { + "$ref": "#/types/spotinst:aws/ElastigroupLogging:ElastigroupLogging", + "description": "Logging configuration.\n" + }, "maxSize": { "type": "integer", "description": "The maximum number of instances the group should have at any time.\n" @@ -10276,6 +10317,10 @@ "lifetimePeriod": { "type": "string" }, + "logging": { + "$ref": "#/types/spotinst:aws/ElastigroupLogging:ElastigroupLogging", + "description": "Logging configuration.\n" + }, "maxSize": { "type": "integer", "description": "The maximum number of instances the group should have at any time.\n" diff --git a/provider/go.mod b/provider/go.mod index 719e6dd6..e8d0b9ac 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -205,7 +205,7 @@ require ( github.com/spf13/cast v1.5.0 // indirect github.com/spf13/cobra v1.7.0 // indirect github.com/spf13/pflag v1.0.5 // indirect - github.com/spotinst/spotinst-sdk-go v1.186.0 // indirect + github.com/spotinst/spotinst-sdk-go v1.187.0 // indirect github.com/stretchr/testify v1.8.4 // indirect github.com/texttheater/golang-levenshtein v1.0.1 // indirect github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7 // indirect diff --git a/provider/go.sum b/provider/go.sum index 7b5106ca..124f753b 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -2332,8 +2332,8 @@ github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= -github.com/spotinst/spotinst-sdk-go v1.186.0 h1:/zV19Q2gn5HElpTH1bOxPDQKhs5HXh7dWRsB5pf0+OY= -github.com/spotinst/spotinst-sdk-go v1.186.0/go.mod h1:DP/y998hi551EWIR6t4mbohMMMKjp1IE0K+eJztaFGc= +github.com/spotinst/spotinst-sdk-go v1.187.0 h1:kA3fe5eBacZWy20PkB1lpSMLldeGYlHLb57ygbc5yZ0= +github.com/spotinst/spotinst-sdk-go v1.187.0/go.mod h1:DP/y998hi551EWIR6t4mbohMMMKjp1IE0K+eJztaFGc= github.com/stefanberger/go-pkcs11uri v0.0.0-20201008174630-78d3cae3a980/go.mod h1:AO3tvPzVZ/ayst6UlUKUv6rcPQInYe3IknH3jYhAKu8= github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= diff --git a/sdk/dotnet/Aws/Elastigroup.cs b/sdk/dotnet/Aws/Elastigroup.cs index 0b51660a..8cf648f2 100644 --- a/sdk/dotnet/Aws/Elastigroup.cs +++ b/sdk/dotnet/Aws/Elastigroup.cs @@ -243,6 +243,12 @@ public partial class Elastigroup : global::Pulumi.CustomResource [Output("lifetimePeriod")] public Output LifetimePeriod { get; private set; } = null!; + /// + /// Logging configuration. + /// + [Output("logging")] + public Output Logging { get; private set; } = null!; + /// /// The maximum number of instances the group should have at any time. /// @@ -809,6 +815,12 @@ public InputList Itfs [Input("lifetimePeriod")] public Input? LifetimePeriod { get; set; } + /// + /// Logging configuration. + /// + [Input("logging")] + public Input? Logging { get; set; } + /// /// The maximum number of instances the group should have at any time. /// @@ -1438,6 +1450,12 @@ public InputList Itfs [Input("lifetimePeriod")] public Input? LifetimePeriod { get; set; } + /// + /// Logging configuration. + /// + [Input("logging")] + public Input? Logging { get; set; } + /// /// The maximum number of instances the group should have at any time. /// diff --git a/sdk/dotnet/Aws/Inputs/ElastigroupImageImageArgs.cs b/sdk/dotnet/Aws/Inputs/ElastigroupImageImageArgs.cs index 187a7879..7c49473f 100644 --- a/sdk/dotnet/Aws/Inputs/ElastigroupImageImageArgs.cs +++ b/sdk/dotnet/Aws/Inputs/ElastigroupImageImageArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.SpotInst.Aws.Inputs public sealed class ElastigroupImageImageArgs : global::Pulumi.ResourceArgs { /// - /// The group ID. + /// The identifier of The S3 data integration to export the logs to. /// [Input("id", required: true)] public Input Id { get; set; } = null!; diff --git a/sdk/dotnet/Aws/Inputs/ElastigroupImageImageGetArgs.cs b/sdk/dotnet/Aws/Inputs/ElastigroupImageImageGetArgs.cs index 0276023d..6cb0de39 100644 --- a/sdk/dotnet/Aws/Inputs/ElastigroupImageImageGetArgs.cs +++ b/sdk/dotnet/Aws/Inputs/ElastigroupImageImageGetArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.SpotInst.Aws.Inputs public sealed class ElastigroupImageImageGetArgs : global::Pulumi.ResourceArgs { /// - /// The group ID. + /// The identifier of The S3 data integration to export the logs to. /// [Input("id", required: true)] public Input Id { get; set; } = null!; diff --git a/sdk/dotnet/Aws/Inputs/ElastigroupLoggingArgs.cs b/sdk/dotnet/Aws/Inputs/ElastigroupLoggingArgs.cs new file mode 100644 index 00000000..1cbbf3f0 --- /dev/null +++ b/sdk/dotnet/Aws/Inputs/ElastigroupLoggingArgs.cs @@ -0,0 +1,26 @@ +// *** 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.SpotInst.Aws.Inputs +{ + + public sealed class ElastigroupLoggingArgs : global::Pulumi.ResourceArgs + { + /// + /// Logging Export configuration. + /// + [Input("export")] + public Input? Export { get; set; } + + public ElastigroupLoggingArgs() + { + } + public static new ElastigroupLoggingArgs Empty => new ElastigroupLoggingArgs(); + } +} diff --git a/sdk/dotnet/Aws/Inputs/ElastigroupLoggingExportArgs.cs b/sdk/dotnet/Aws/Inputs/ElastigroupLoggingExportArgs.cs new file mode 100644 index 00000000..88eb3fa7 --- /dev/null +++ b/sdk/dotnet/Aws/Inputs/ElastigroupLoggingExportArgs.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.SpotInst.Aws.Inputs +{ + + public sealed class ElastigroupLoggingExportArgs : global::Pulumi.ResourceArgs + { + [Input("s3s")] + private InputList? _s3s; + + /// + /// Exports your cluster's logs to the S3 bucket and subdir configured on the S3 data integration given. + /// + public InputList S3s + { + get => _s3s ?? (_s3s = new InputList()); + set => _s3s = value; + } + + public ElastigroupLoggingExportArgs() + { + } + public static new ElastigroupLoggingExportArgs Empty => new ElastigroupLoggingExportArgs(); + } +} diff --git a/sdk/dotnet/Aws/Inputs/ElastigroupLoggingExportGetArgs.cs b/sdk/dotnet/Aws/Inputs/ElastigroupLoggingExportGetArgs.cs new file mode 100644 index 00000000..5befa117 --- /dev/null +++ b/sdk/dotnet/Aws/Inputs/ElastigroupLoggingExportGetArgs.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.SpotInst.Aws.Inputs +{ + + public sealed class ElastigroupLoggingExportGetArgs : global::Pulumi.ResourceArgs + { + [Input("s3s")] + private InputList? _s3s; + + /// + /// Exports your cluster's logs to the S3 bucket and subdir configured on the S3 data integration given. + /// + public InputList S3s + { + get => _s3s ?? (_s3s = new InputList()); + set => _s3s = value; + } + + public ElastigroupLoggingExportGetArgs() + { + } + public static new ElastigroupLoggingExportGetArgs Empty => new ElastigroupLoggingExportGetArgs(); + } +} diff --git a/sdk/dotnet/Aws/Inputs/ElastigroupLoggingExportS3Args.cs b/sdk/dotnet/Aws/Inputs/ElastigroupLoggingExportS3Args.cs new file mode 100644 index 00000000..719bab96 --- /dev/null +++ b/sdk/dotnet/Aws/Inputs/ElastigroupLoggingExportS3Args.cs @@ -0,0 +1,26 @@ +// *** 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.SpotInst.Aws.Inputs +{ + + public sealed class ElastigroupLoggingExportS3Args : global::Pulumi.ResourceArgs + { + /// + /// The identifier of The S3 data integration to export the logs to. + /// + [Input("id", required: true)] + public Input Id { get; set; } = null!; + + public ElastigroupLoggingExportS3Args() + { + } + public static new ElastigroupLoggingExportS3Args Empty => new ElastigroupLoggingExportS3Args(); + } +} diff --git a/sdk/dotnet/Aws/Inputs/ElastigroupLoggingExportS3GetArgs.cs b/sdk/dotnet/Aws/Inputs/ElastigroupLoggingExportS3GetArgs.cs new file mode 100644 index 00000000..8e267f9d --- /dev/null +++ b/sdk/dotnet/Aws/Inputs/ElastigroupLoggingExportS3GetArgs.cs @@ -0,0 +1,26 @@ +// *** 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.SpotInst.Aws.Inputs +{ + + public sealed class ElastigroupLoggingExportS3GetArgs : global::Pulumi.ResourceArgs + { + /// + /// The identifier of The S3 data integration to export the logs to. + /// + [Input("id", required: true)] + public Input Id { get; set; } = null!; + + public ElastigroupLoggingExportS3GetArgs() + { + } + public static new ElastigroupLoggingExportS3GetArgs Empty => new ElastigroupLoggingExportS3GetArgs(); + } +} diff --git a/sdk/dotnet/Aws/Inputs/ElastigroupLoggingGetArgs.cs b/sdk/dotnet/Aws/Inputs/ElastigroupLoggingGetArgs.cs new file mode 100644 index 00000000..6bfc6198 --- /dev/null +++ b/sdk/dotnet/Aws/Inputs/ElastigroupLoggingGetArgs.cs @@ -0,0 +1,26 @@ +// *** 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.SpotInst.Aws.Inputs +{ + + public sealed class ElastigroupLoggingGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Logging Export configuration. + /// + [Input("export")] + public Input? Export { get; set; } + + public ElastigroupLoggingGetArgs() + { + } + public static new ElastigroupLoggingGetArgs Empty => new ElastigroupLoggingGetArgs(); + } +} diff --git a/sdk/dotnet/Aws/Outputs/ElastigroupImageImage.cs b/sdk/dotnet/Aws/Outputs/ElastigroupImageImage.cs index 65e5d56d..b5efe19d 100644 --- a/sdk/dotnet/Aws/Outputs/ElastigroupImageImage.cs +++ b/sdk/dotnet/Aws/Outputs/ElastigroupImageImage.cs @@ -14,7 +14,7 @@ namespace Pulumi.SpotInst.Aws.Outputs public sealed class ElastigroupImageImage { /// - /// The group ID. + /// The identifier of The S3 data integration to export the logs to. /// public readonly string Id; diff --git a/sdk/dotnet/Aws/Outputs/ElastigroupLogging.cs b/sdk/dotnet/Aws/Outputs/ElastigroupLogging.cs new file mode 100644 index 00000000..52462896 --- /dev/null +++ b/sdk/dotnet/Aws/Outputs/ElastigroupLogging.cs @@ -0,0 +1,27 @@ +// *** 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.SpotInst.Aws.Outputs +{ + + [OutputType] + public sealed class ElastigroupLogging + { + /// + /// Logging Export configuration. + /// + public readonly Outputs.ElastigroupLoggingExport? Export; + + [OutputConstructor] + private ElastigroupLogging(Outputs.ElastigroupLoggingExport? export) + { + Export = export; + } + } +} diff --git a/sdk/dotnet/Aws/Outputs/ElastigroupLoggingExport.cs b/sdk/dotnet/Aws/Outputs/ElastigroupLoggingExport.cs new file mode 100644 index 00000000..d24affa9 --- /dev/null +++ b/sdk/dotnet/Aws/Outputs/ElastigroupLoggingExport.cs @@ -0,0 +1,27 @@ +// *** 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.SpotInst.Aws.Outputs +{ + + [OutputType] + public sealed class ElastigroupLoggingExport + { + /// + /// Exports your cluster's logs to the S3 bucket and subdir configured on the S3 data integration given. + /// + public readonly ImmutableArray S3s; + + [OutputConstructor] + private ElastigroupLoggingExport(ImmutableArray s3s) + { + S3s = s3s; + } + } +} diff --git a/sdk/dotnet/Aws/Outputs/ElastigroupLoggingExportS3.cs b/sdk/dotnet/Aws/Outputs/ElastigroupLoggingExportS3.cs new file mode 100644 index 00000000..440c24e8 --- /dev/null +++ b/sdk/dotnet/Aws/Outputs/ElastigroupLoggingExportS3.cs @@ -0,0 +1,27 @@ +// *** 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.SpotInst.Aws.Outputs +{ + + [OutputType] + public sealed class ElastigroupLoggingExportS3 + { + /// + /// The identifier of The S3 data integration to export the logs to. + /// + public readonly string Id; + + [OutputConstructor] + private ElastigroupLoggingExportS3(string id) + { + Id = id; + } + } +} diff --git a/sdk/go/spotinst/aws/elastigroup.go b/sdk/go/spotinst/aws/elastigroup.go index 9cb11ea0..97c0caf6 100644 --- a/sdk/go/spotinst/aws/elastigroup.go +++ b/sdk/go/spotinst/aws/elastigroup.go @@ -94,6 +94,8 @@ type Elastigroup struct { // The key name that should be used for the instance. KeyName pulumi.StringPtrOutput `pulumi:"keyName"` LifetimePeriod pulumi.StringPtrOutput `pulumi:"lifetimePeriod"` + // Logging configuration. + Logging ElastigroupLoggingPtrOutput `pulumi:"logging"` // The maximum number of instances the group should have at any time. MaxSize pulumi.IntOutput `pulumi:"maxSize"` // Data that used to configure or manage the running instances: @@ -309,6 +311,8 @@ type elastigroupState struct { // The key name that should be used for the instance. KeyName *string `pulumi:"keyName"` LifetimePeriod *string `pulumi:"lifetimePeriod"` + // Logging configuration. + Logging *ElastigroupLogging `pulumi:"logging"` // The maximum number of instances the group should have at any time. MaxSize *int `pulumi:"maxSize"` // Data that used to configure or manage the running instances: @@ -483,6 +487,8 @@ type ElastigroupState struct { // The key name that should be used for the instance. KeyName pulumi.StringPtrInput LifetimePeriod pulumi.StringPtrInput + // Logging configuration. + Logging ElastigroupLoggingPtrInput // The maximum number of instances the group should have at any time. MaxSize pulumi.IntPtrInput // Data that used to configure or manage the running instances: @@ -661,6 +667,8 @@ type elastigroupArgs struct { // The key name that should be used for the instance. KeyName *string `pulumi:"keyName"` LifetimePeriod *string `pulumi:"lifetimePeriod"` + // Logging configuration. + Logging *ElastigroupLogging `pulumi:"logging"` // The maximum number of instances the group should have at any time. MaxSize *int `pulumi:"maxSize"` // Data that used to configure or manage the running instances: @@ -836,6 +844,8 @@ type ElastigroupArgs struct { // The key name that should be used for the instance. KeyName pulumi.StringPtrInput LifetimePeriod pulumi.StringPtrInput + // Logging configuration. + Logging ElastigroupLoggingPtrInput // The maximum number of instances the group should have at any time. MaxSize pulumi.IntPtrInput // Data that used to configure or manage the running instances: @@ -1219,6 +1229,11 @@ func (o ElastigroupOutput) LifetimePeriod() pulumi.StringPtrOutput { return o.ApplyT(func(v *Elastigroup) pulumi.StringPtrOutput { return v.LifetimePeriod }).(pulumi.StringPtrOutput) } +// Logging configuration. +func (o ElastigroupOutput) Logging() ElastigroupLoggingPtrOutput { + return o.ApplyT(func(v *Elastigroup) ElastigroupLoggingPtrOutput { return v.Logging }).(ElastigroupLoggingPtrOutput) +} + // The maximum number of instances the group should have at any time. func (o ElastigroupOutput) MaxSize() pulumi.IntOutput { return o.ApplyT(func(v *Elastigroup) pulumi.IntOutput { return v.MaxSize }).(pulumi.IntOutput) diff --git a/sdk/go/spotinst/aws/pulumiTypes.go b/sdk/go/spotinst/aws/pulumiTypes.go index 199b350f..74239c48 100644 --- a/sdk/go/spotinst/aws/pulumiTypes.go +++ b/sdk/go/spotinst/aws/pulumiTypes.go @@ -1517,7 +1517,7 @@ func (o ElastigroupImageArrayOutput) Index(i pulumi.IntInput) ElastigroupImageOu } type ElastigroupImageImage struct { - // The group ID. + // The identifier of The S3 data integration to export the logs to. Id string `pulumi:"id"` } @@ -1533,7 +1533,7 @@ type ElastigroupImageImageInput interface { } type ElastigroupImageImageArgs struct { - // The group ID. + // The identifier of The S3 data integration to export the logs to. Id pulumi.StringInput `pulumi:"id"` } @@ -1588,7 +1588,7 @@ func (o ElastigroupImageImageOutput) ToElastigroupImageImageOutputWithContext(ct return o } -// The group ID. +// The identifier of The S3 data integration to export the logs to. func (o ElastigroupImageImageOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v ElastigroupImageImage) string { return v.Id }).(pulumi.StringOutput) } @@ -8478,6 +8478,377 @@ func (o ElastigroupItfTargetGroupConfigTagArrayOutput) Index(i pulumi.IntInput) }).(ElastigroupItfTargetGroupConfigTagOutput) } +type ElastigroupLogging struct { + // Logging Export configuration. + Export *ElastigroupLoggingExport `pulumi:"export"` +} + +// ElastigroupLoggingInput is an input type that accepts ElastigroupLoggingArgs and ElastigroupLoggingOutput values. +// You can construct a concrete instance of `ElastigroupLoggingInput` via: +// +// ElastigroupLoggingArgs{...} +type ElastigroupLoggingInput interface { + pulumi.Input + + ToElastigroupLoggingOutput() ElastigroupLoggingOutput + ToElastigroupLoggingOutputWithContext(context.Context) ElastigroupLoggingOutput +} + +type ElastigroupLoggingArgs struct { + // Logging Export configuration. + Export ElastigroupLoggingExportPtrInput `pulumi:"export"` +} + +func (ElastigroupLoggingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupLogging)(nil)).Elem() +} + +func (i ElastigroupLoggingArgs) ToElastigroupLoggingOutput() ElastigroupLoggingOutput { + return i.ToElastigroupLoggingOutputWithContext(context.Background()) +} + +func (i ElastigroupLoggingArgs) ToElastigroupLoggingOutputWithContext(ctx context.Context) ElastigroupLoggingOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupLoggingOutput) +} + +func (i ElastigroupLoggingArgs) ToElastigroupLoggingPtrOutput() ElastigroupLoggingPtrOutput { + return i.ToElastigroupLoggingPtrOutputWithContext(context.Background()) +} + +func (i ElastigroupLoggingArgs) ToElastigroupLoggingPtrOutputWithContext(ctx context.Context) ElastigroupLoggingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupLoggingOutput).ToElastigroupLoggingPtrOutputWithContext(ctx) +} + +// ElastigroupLoggingPtrInput is an input type that accepts ElastigroupLoggingArgs, ElastigroupLoggingPtr and ElastigroupLoggingPtrOutput values. +// You can construct a concrete instance of `ElastigroupLoggingPtrInput` via: +// +// ElastigroupLoggingArgs{...} +// +// or: +// +// nil +type ElastigroupLoggingPtrInput interface { + pulumi.Input + + ToElastigroupLoggingPtrOutput() ElastigroupLoggingPtrOutput + ToElastigroupLoggingPtrOutputWithContext(context.Context) ElastigroupLoggingPtrOutput +} + +type elastigroupLoggingPtrType ElastigroupLoggingArgs + +func ElastigroupLoggingPtr(v *ElastigroupLoggingArgs) ElastigroupLoggingPtrInput { + return (*elastigroupLoggingPtrType)(v) +} + +func (*elastigroupLoggingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ElastigroupLogging)(nil)).Elem() +} + +func (i *elastigroupLoggingPtrType) ToElastigroupLoggingPtrOutput() ElastigroupLoggingPtrOutput { + return i.ToElastigroupLoggingPtrOutputWithContext(context.Background()) +} + +func (i *elastigroupLoggingPtrType) ToElastigroupLoggingPtrOutputWithContext(ctx context.Context) ElastigroupLoggingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupLoggingPtrOutput) +} + +type ElastigroupLoggingOutput struct{ *pulumi.OutputState } + +func (ElastigroupLoggingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupLogging)(nil)).Elem() +} + +func (o ElastigroupLoggingOutput) ToElastigroupLoggingOutput() ElastigroupLoggingOutput { + return o +} + +func (o ElastigroupLoggingOutput) ToElastigroupLoggingOutputWithContext(ctx context.Context) ElastigroupLoggingOutput { + return o +} + +func (o ElastigroupLoggingOutput) ToElastigroupLoggingPtrOutput() ElastigroupLoggingPtrOutput { + return o.ToElastigroupLoggingPtrOutputWithContext(context.Background()) +} + +func (o ElastigroupLoggingOutput) ToElastigroupLoggingPtrOutputWithContext(ctx context.Context) ElastigroupLoggingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ElastigroupLogging) *ElastigroupLogging { + return &v + }).(ElastigroupLoggingPtrOutput) +} + +// Logging Export configuration. +func (o ElastigroupLoggingOutput) Export() ElastigroupLoggingExportPtrOutput { + return o.ApplyT(func(v ElastigroupLogging) *ElastigroupLoggingExport { return v.Export }).(ElastigroupLoggingExportPtrOutput) +} + +type ElastigroupLoggingPtrOutput struct{ *pulumi.OutputState } + +func (ElastigroupLoggingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ElastigroupLogging)(nil)).Elem() +} + +func (o ElastigroupLoggingPtrOutput) ToElastigroupLoggingPtrOutput() ElastigroupLoggingPtrOutput { + return o +} + +func (o ElastigroupLoggingPtrOutput) ToElastigroupLoggingPtrOutputWithContext(ctx context.Context) ElastigroupLoggingPtrOutput { + return o +} + +func (o ElastigroupLoggingPtrOutput) Elem() ElastigroupLoggingOutput { + return o.ApplyT(func(v *ElastigroupLogging) ElastigroupLogging { + if v != nil { + return *v + } + var ret ElastigroupLogging + return ret + }).(ElastigroupLoggingOutput) +} + +// Logging Export configuration. +func (o ElastigroupLoggingPtrOutput) Export() ElastigroupLoggingExportPtrOutput { + return o.ApplyT(func(v *ElastigroupLogging) *ElastigroupLoggingExport { + if v == nil { + return nil + } + return v.Export + }).(ElastigroupLoggingExportPtrOutput) +} + +type ElastigroupLoggingExport struct { + // Exports your cluster's logs to the S3 bucket and subdir configured on the S3 data integration given. + S3s []ElastigroupLoggingExportS3 `pulumi:"s3s"` +} + +// ElastigroupLoggingExportInput is an input type that accepts ElastigroupLoggingExportArgs and ElastigroupLoggingExportOutput values. +// You can construct a concrete instance of `ElastigroupLoggingExportInput` via: +// +// ElastigroupLoggingExportArgs{...} +type ElastigroupLoggingExportInput interface { + pulumi.Input + + ToElastigroupLoggingExportOutput() ElastigroupLoggingExportOutput + ToElastigroupLoggingExportOutputWithContext(context.Context) ElastigroupLoggingExportOutput +} + +type ElastigroupLoggingExportArgs struct { + // Exports your cluster's logs to the S3 bucket and subdir configured on the S3 data integration given. + S3s ElastigroupLoggingExportS3ArrayInput `pulumi:"s3s"` +} + +func (ElastigroupLoggingExportArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupLoggingExport)(nil)).Elem() +} + +func (i ElastigroupLoggingExportArgs) ToElastigroupLoggingExportOutput() ElastigroupLoggingExportOutput { + return i.ToElastigroupLoggingExportOutputWithContext(context.Background()) +} + +func (i ElastigroupLoggingExportArgs) ToElastigroupLoggingExportOutputWithContext(ctx context.Context) ElastigroupLoggingExportOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupLoggingExportOutput) +} + +func (i ElastigroupLoggingExportArgs) ToElastigroupLoggingExportPtrOutput() ElastigroupLoggingExportPtrOutput { + return i.ToElastigroupLoggingExportPtrOutputWithContext(context.Background()) +} + +func (i ElastigroupLoggingExportArgs) ToElastigroupLoggingExportPtrOutputWithContext(ctx context.Context) ElastigroupLoggingExportPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupLoggingExportOutput).ToElastigroupLoggingExportPtrOutputWithContext(ctx) +} + +// ElastigroupLoggingExportPtrInput is an input type that accepts ElastigroupLoggingExportArgs, ElastigroupLoggingExportPtr and ElastigroupLoggingExportPtrOutput values. +// You can construct a concrete instance of `ElastigroupLoggingExportPtrInput` via: +// +// ElastigroupLoggingExportArgs{...} +// +// or: +// +// nil +type ElastigroupLoggingExportPtrInput interface { + pulumi.Input + + ToElastigroupLoggingExportPtrOutput() ElastigroupLoggingExportPtrOutput + ToElastigroupLoggingExportPtrOutputWithContext(context.Context) ElastigroupLoggingExportPtrOutput +} + +type elastigroupLoggingExportPtrType ElastigroupLoggingExportArgs + +func ElastigroupLoggingExportPtr(v *ElastigroupLoggingExportArgs) ElastigroupLoggingExportPtrInput { + return (*elastigroupLoggingExportPtrType)(v) +} + +func (*elastigroupLoggingExportPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ElastigroupLoggingExport)(nil)).Elem() +} + +func (i *elastigroupLoggingExportPtrType) ToElastigroupLoggingExportPtrOutput() ElastigroupLoggingExportPtrOutput { + return i.ToElastigroupLoggingExportPtrOutputWithContext(context.Background()) +} + +func (i *elastigroupLoggingExportPtrType) ToElastigroupLoggingExportPtrOutputWithContext(ctx context.Context) ElastigroupLoggingExportPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupLoggingExportPtrOutput) +} + +type ElastigroupLoggingExportOutput struct{ *pulumi.OutputState } + +func (ElastigroupLoggingExportOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupLoggingExport)(nil)).Elem() +} + +func (o ElastigroupLoggingExportOutput) ToElastigroupLoggingExportOutput() ElastigroupLoggingExportOutput { + return o +} + +func (o ElastigroupLoggingExportOutput) ToElastigroupLoggingExportOutputWithContext(ctx context.Context) ElastigroupLoggingExportOutput { + return o +} + +func (o ElastigroupLoggingExportOutput) ToElastigroupLoggingExportPtrOutput() ElastigroupLoggingExportPtrOutput { + return o.ToElastigroupLoggingExportPtrOutputWithContext(context.Background()) +} + +func (o ElastigroupLoggingExportOutput) ToElastigroupLoggingExportPtrOutputWithContext(ctx context.Context) ElastigroupLoggingExportPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ElastigroupLoggingExport) *ElastigroupLoggingExport { + return &v + }).(ElastigroupLoggingExportPtrOutput) +} + +// Exports your cluster's logs to the S3 bucket and subdir configured on the S3 data integration given. +func (o ElastigroupLoggingExportOutput) S3s() ElastigroupLoggingExportS3ArrayOutput { + return o.ApplyT(func(v ElastigroupLoggingExport) []ElastigroupLoggingExportS3 { return v.S3s }).(ElastigroupLoggingExportS3ArrayOutput) +} + +type ElastigroupLoggingExportPtrOutput struct{ *pulumi.OutputState } + +func (ElastigroupLoggingExportPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ElastigroupLoggingExport)(nil)).Elem() +} + +func (o ElastigroupLoggingExportPtrOutput) ToElastigroupLoggingExportPtrOutput() ElastigroupLoggingExportPtrOutput { + return o +} + +func (o ElastigroupLoggingExportPtrOutput) ToElastigroupLoggingExportPtrOutputWithContext(ctx context.Context) ElastigroupLoggingExportPtrOutput { + return o +} + +func (o ElastigroupLoggingExportPtrOutput) Elem() ElastigroupLoggingExportOutput { + return o.ApplyT(func(v *ElastigroupLoggingExport) ElastigroupLoggingExport { + if v != nil { + return *v + } + var ret ElastigroupLoggingExport + return ret + }).(ElastigroupLoggingExportOutput) +} + +// Exports your cluster's logs to the S3 bucket and subdir configured on the S3 data integration given. +func (o ElastigroupLoggingExportPtrOutput) S3s() ElastigroupLoggingExportS3ArrayOutput { + return o.ApplyT(func(v *ElastigroupLoggingExport) []ElastigroupLoggingExportS3 { + if v == nil { + return nil + } + return v.S3s + }).(ElastigroupLoggingExportS3ArrayOutput) +} + +type ElastigroupLoggingExportS3 struct { + // The identifier of The S3 data integration to export the logs to. + Id string `pulumi:"id"` +} + +// ElastigroupLoggingExportS3Input is an input type that accepts ElastigroupLoggingExportS3Args and ElastigroupLoggingExportS3Output values. +// You can construct a concrete instance of `ElastigroupLoggingExportS3Input` via: +// +// ElastigroupLoggingExportS3Args{...} +type ElastigroupLoggingExportS3Input interface { + pulumi.Input + + ToElastigroupLoggingExportS3Output() ElastigroupLoggingExportS3Output + ToElastigroupLoggingExportS3OutputWithContext(context.Context) ElastigroupLoggingExportS3Output +} + +type ElastigroupLoggingExportS3Args struct { + // The identifier of The S3 data integration to export the logs to. + Id pulumi.StringInput `pulumi:"id"` +} + +func (ElastigroupLoggingExportS3Args) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupLoggingExportS3)(nil)).Elem() +} + +func (i ElastigroupLoggingExportS3Args) ToElastigroupLoggingExportS3Output() ElastigroupLoggingExportS3Output { + return i.ToElastigroupLoggingExportS3OutputWithContext(context.Background()) +} + +func (i ElastigroupLoggingExportS3Args) ToElastigroupLoggingExportS3OutputWithContext(ctx context.Context) ElastigroupLoggingExportS3Output { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupLoggingExportS3Output) +} + +// ElastigroupLoggingExportS3ArrayInput is an input type that accepts ElastigroupLoggingExportS3Array and ElastigroupLoggingExportS3ArrayOutput values. +// You can construct a concrete instance of `ElastigroupLoggingExportS3ArrayInput` via: +// +// ElastigroupLoggingExportS3Array{ ElastigroupLoggingExportS3Args{...} } +type ElastigroupLoggingExportS3ArrayInput interface { + pulumi.Input + + ToElastigroupLoggingExportS3ArrayOutput() ElastigroupLoggingExportS3ArrayOutput + ToElastigroupLoggingExportS3ArrayOutputWithContext(context.Context) ElastigroupLoggingExportS3ArrayOutput +} + +type ElastigroupLoggingExportS3Array []ElastigroupLoggingExportS3Input + +func (ElastigroupLoggingExportS3Array) ElementType() reflect.Type { + return reflect.TypeOf((*[]ElastigroupLoggingExportS3)(nil)).Elem() +} + +func (i ElastigroupLoggingExportS3Array) ToElastigroupLoggingExportS3ArrayOutput() ElastigroupLoggingExportS3ArrayOutput { + return i.ToElastigroupLoggingExportS3ArrayOutputWithContext(context.Background()) +} + +func (i ElastigroupLoggingExportS3Array) ToElastigroupLoggingExportS3ArrayOutputWithContext(ctx context.Context) ElastigroupLoggingExportS3ArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupLoggingExportS3ArrayOutput) +} + +type ElastigroupLoggingExportS3Output struct{ *pulumi.OutputState } + +func (ElastigroupLoggingExportS3Output) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupLoggingExportS3)(nil)).Elem() +} + +func (o ElastigroupLoggingExportS3Output) ToElastigroupLoggingExportS3Output() ElastigroupLoggingExportS3Output { + return o +} + +func (o ElastigroupLoggingExportS3Output) ToElastigroupLoggingExportS3OutputWithContext(ctx context.Context) ElastigroupLoggingExportS3Output { + return o +} + +// The identifier of The S3 data integration to export the logs to. +func (o ElastigroupLoggingExportS3Output) Id() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupLoggingExportS3) string { return v.Id }).(pulumi.StringOutput) +} + +type ElastigroupLoggingExportS3ArrayOutput struct{ *pulumi.OutputState } + +func (ElastigroupLoggingExportS3ArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ElastigroupLoggingExportS3)(nil)).Elem() +} + +func (o ElastigroupLoggingExportS3ArrayOutput) ToElastigroupLoggingExportS3ArrayOutput() ElastigroupLoggingExportS3ArrayOutput { + return o +} + +func (o ElastigroupLoggingExportS3ArrayOutput) ToElastigroupLoggingExportS3ArrayOutputWithContext(ctx context.Context) ElastigroupLoggingExportS3ArrayOutput { + return o +} + +func (o ElastigroupLoggingExportS3ArrayOutput) Index(i pulumi.IntInput) ElastigroupLoggingExportS3Output { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ElastigroupLoggingExportS3 { + return vs[0].([]ElastigroupLoggingExportS3)[vs[1].(int)] + }).(ElastigroupLoggingExportS3Output) +} + type ElastigroupMetadataOptions struct { // The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. Valid values: Integers from `1` to `64`. HttpPutResponseHopLimit *int `pulumi:"httpPutResponseHopLimit"` @@ -25020,6 +25391,12 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupItfTargetGroupConfigMatcherArrayInput)(nil)).Elem(), ElastigroupItfTargetGroupConfigMatcherArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupItfTargetGroupConfigTagInput)(nil)).Elem(), ElastigroupItfTargetGroupConfigTagArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupItfTargetGroupConfigTagArrayInput)(nil)).Elem(), ElastigroupItfTargetGroupConfigTagArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupLoggingInput)(nil)).Elem(), ElastigroupLoggingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupLoggingPtrInput)(nil)).Elem(), ElastigroupLoggingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupLoggingExportInput)(nil)).Elem(), ElastigroupLoggingExportArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupLoggingExportPtrInput)(nil)).Elem(), ElastigroupLoggingExportArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupLoggingExportS3Input)(nil)).Elem(), ElastigroupLoggingExportS3Args{}) + pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupLoggingExportS3ArrayInput)(nil)).Elem(), ElastigroupLoggingExportS3Array{}) pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupMetadataOptionsInput)(nil)).Elem(), ElastigroupMetadataOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupMetadataOptionsPtrInput)(nil)).Elem(), ElastigroupMetadataOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupMultaiTargetSetInput)(nil)).Elem(), ElastigroupMultaiTargetSetArgs{}) @@ -25330,6 +25707,12 @@ func init() { pulumi.RegisterOutputType(ElastigroupItfTargetGroupConfigMatcherArrayOutput{}) pulumi.RegisterOutputType(ElastigroupItfTargetGroupConfigTagOutput{}) pulumi.RegisterOutputType(ElastigroupItfTargetGroupConfigTagArrayOutput{}) + pulumi.RegisterOutputType(ElastigroupLoggingOutput{}) + pulumi.RegisterOutputType(ElastigroupLoggingPtrOutput{}) + pulumi.RegisterOutputType(ElastigroupLoggingExportOutput{}) + pulumi.RegisterOutputType(ElastigroupLoggingExportPtrOutput{}) + pulumi.RegisterOutputType(ElastigroupLoggingExportS3Output{}) + pulumi.RegisterOutputType(ElastigroupLoggingExportS3ArrayOutput{}) pulumi.RegisterOutputType(ElastigroupMetadataOptionsOutput{}) pulumi.RegisterOutputType(ElastigroupMetadataOptionsPtrOutput{}) pulumi.RegisterOutputType(ElastigroupMultaiTargetSetOutput{}) diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/aws/Elastigroup.java b/sdk/java/src/main/java/com/pulumi/spotinst/aws/Elastigroup.java index af90cdb4..1a185e3d 100644 --- a/sdk/java/src/main/java/com/pulumi/spotinst/aws/Elastigroup.java +++ b/sdk/java/src/main/java/com/pulumi/spotinst/aws/Elastigroup.java @@ -27,6 +27,7 @@ import com.pulumi.spotinst.aws.outputs.ElastigroupIntegrationRancher; import com.pulumi.spotinst.aws.outputs.ElastigroupIntegrationRoute53; import com.pulumi.spotinst.aws.outputs.ElastigroupItf; +import com.pulumi.spotinst.aws.outputs.ElastigroupLogging; import com.pulumi.spotinst.aws.outputs.ElastigroupMetadataOptions; import com.pulumi.spotinst.aws.outputs.ElastigroupMultaiTargetSet; import com.pulumi.spotinst.aws.outputs.ElastigroupMultipleMetrics; @@ -66,6 +67,8 @@ * import com.pulumi.spotinst.aws.ElastigroupArgs; * import com.pulumi.spotinst.aws.inputs.ElastigroupCpuOptionsArgs; * import com.pulumi.spotinst.aws.inputs.ElastigroupInstanceTypesWeightArgs; + * import com.pulumi.spotinst.aws.inputs.ElastigroupLoggingArgs; + * import com.pulumi.spotinst.aws.inputs.ElastigroupLoggingExportArgs; * import com.pulumi.spotinst.aws.inputs.ElastigroupMetadataOptionsArgs; * import com.pulumi.spotinst.aws.inputs.ElastigroupResourceRequirementArgs; * import com.pulumi.spotinst.aws.inputs.ElastigroupResourceTagSpecificationArgs; @@ -115,6 +118,11 @@ * .build()) * .keyName("my-key.ssh") * .lifecycle(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)) + * .logging(ElastigroupLoggingArgs.builder() + * .export(ElastigroupLoggingExportArgs.builder() + * .s3(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)) + * .build()) + * .build()) * .maxSize(0) * .metadataOptions(ElastigroupMetadataOptionsArgs.builder() * .httpPutResponseHopLimit(10) @@ -730,6 +738,20 @@ public Output> keyName() { public Output> lifetimePeriod() { return Codegen.optional(this.lifetimePeriod); } + /** + * Logging configuration. + * + */ + @Export(name="logging", refs={ElastigroupLogging.class}, tree="[0]") + private Output logging; + + /** + * @return Logging configuration. + * + */ + public Output> logging() { + return Codegen.optional(this.logging); + } /** * The maximum number of instances the group should have at any time. * diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/aws/ElastigroupArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/aws/ElastigroupArgs.java index 1e17c4a7..04938281 100644 --- a/sdk/java/src/main/java/com/pulumi/spotinst/aws/ElastigroupArgs.java +++ b/sdk/java/src/main/java/com/pulumi/spotinst/aws/ElastigroupArgs.java @@ -22,6 +22,7 @@ import com.pulumi.spotinst.aws.inputs.ElastigroupIntegrationRancherArgs; import com.pulumi.spotinst.aws.inputs.ElastigroupIntegrationRoute53Args; import com.pulumi.spotinst.aws.inputs.ElastigroupItfArgs; +import com.pulumi.spotinst.aws.inputs.ElastigroupLoggingArgs; import com.pulumi.spotinst.aws.inputs.ElastigroupMetadataOptionsArgs; import com.pulumi.spotinst.aws.inputs.ElastigroupMultaiTargetSetArgs; import com.pulumi.spotinst.aws.inputs.ElastigroupMultipleMetricsArgs; @@ -617,6 +618,21 @@ public Optional> lifetimePeriod() { return Optional.ofNullable(this.lifetimePeriod); } + /** + * Logging configuration. + * + */ + @Import(name="logging") + private @Nullable Output logging; + + /** + * @return Logging configuration. + * + */ + public Optional> logging() { + return Optional.ofNullable(this.logging); + } + /** * The maximum number of instances the group should have at any time. * @@ -1259,6 +1275,7 @@ private ElastigroupArgs(ElastigroupArgs $) { this.itfs = $.itfs; this.keyName = $.keyName; this.lifetimePeriod = $.lifetimePeriod; + this.logging = $.logging; this.maxSize = $.maxSize; this.metadataOptions = $.metadataOptions; this.minSize = $.minSize; @@ -2189,6 +2206,27 @@ public Builder lifetimePeriod(String lifetimePeriod) { return lifetimePeriod(Output.of(lifetimePeriod)); } + /** + * @param logging Logging configuration. + * + * @return builder + * + */ + public Builder logging(@Nullable Output logging) { + $.logging = logging; + return this; + } + + /** + * @param logging Logging configuration. + * + * @return builder + * + */ + public Builder logging(ElastigroupLoggingArgs logging) { + return logging(Output.of(logging)); + } + /** * @param maxSize The maximum number of instances the group should have at any time. * diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/aws/inputs/ElastigroupImageImageArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/aws/inputs/ElastigroupImageImageArgs.java index 6ce727a9..36d91fd3 100644 --- a/sdk/java/src/main/java/com/pulumi/spotinst/aws/inputs/ElastigroupImageImageArgs.java +++ b/sdk/java/src/main/java/com/pulumi/spotinst/aws/inputs/ElastigroupImageImageArgs.java @@ -14,14 +14,14 @@ public final class ElastigroupImageImageArgs extends com.pulumi.resources.Resour public static final ElastigroupImageImageArgs Empty = new ElastigroupImageImageArgs(); /** - * The group ID. + * The identifier of The S3 data integration to export the logs to. * */ @Import(name="id", required=true) private Output id; /** - * @return The group ID. + * @return The identifier of The S3 data integration to export the logs to. * */ public Output id() { @@ -53,7 +53,7 @@ public Builder(ElastigroupImageImageArgs defaults) { } /** - * @param id The group ID. + * @param id The identifier of The S3 data integration to export the logs to. * * @return builder * @@ -64,7 +64,7 @@ public Builder id(Output id) { } /** - * @param id The group ID. + * @param id The identifier of The S3 data integration to export the logs to. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/aws/inputs/ElastigroupLoggingArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/aws/inputs/ElastigroupLoggingArgs.java new file mode 100644 index 00000000..dd9ba3bc --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/aws/inputs/ElastigroupLoggingArgs.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.spotinst.aws.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.spotinst.aws.inputs.ElastigroupLoggingExportArgs; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ElastigroupLoggingArgs extends com.pulumi.resources.ResourceArgs { + + public static final ElastigroupLoggingArgs Empty = new ElastigroupLoggingArgs(); + + /** + * Logging Export configuration. + * + */ + @Import(name="export") + private @Nullable Output export; + + /** + * @return Logging Export configuration. + * + */ + public Optional> export() { + return Optional.ofNullable(this.export); + } + + private ElastigroupLoggingArgs() {} + + private ElastigroupLoggingArgs(ElastigroupLoggingArgs $) { + this.export = $.export; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ElastigroupLoggingArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ElastigroupLoggingArgs $; + + public Builder() { + $ = new ElastigroupLoggingArgs(); + } + + public Builder(ElastigroupLoggingArgs defaults) { + $ = new ElastigroupLoggingArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param export Logging Export configuration. + * + * @return builder + * + */ + public Builder export(@Nullable Output export) { + $.export = export; + return this; + } + + /** + * @param export Logging Export configuration. + * + * @return builder + * + */ + public Builder export(ElastigroupLoggingExportArgs export) { + return export(Output.of(export)); + } + + public ElastigroupLoggingArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/aws/inputs/ElastigroupLoggingExportArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/aws/inputs/ElastigroupLoggingExportArgs.java new file mode 100644 index 00000000..8eb590d3 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/aws/inputs/ElastigroupLoggingExportArgs.java @@ -0,0 +1,94 @@ +// *** 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.spotinst.aws.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.spotinst.aws.inputs.ElastigroupLoggingExportS3Args; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ElastigroupLoggingExportArgs extends com.pulumi.resources.ResourceArgs { + + public static final ElastigroupLoggingExportArgs Empty = new ElastigroupLoggingExportArgs(); + + /** + * Exports your cluster's logs to the S3 bucket and subdir configured on the S3 data integration given. + * + */ + @Import(name="s3s") + private @Nullable Output> s3s; + + /** + * @return Exports your cluster's logs to the S3 bucket and subdir configured on the S3 data integration given. + * + */ + public Optional>> s3s() { + return Optional.ofNullable(this.s3s); + } + + private ElastigroupLoggingExportArgs() {} + + private ElastigroupLoggingExportArgs(ElastigroupLoggingExportArgs $) { + this.s3s = $.s3s; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ElastigroupLoggingExportArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ElastigroupLoggingExportArgs $; + + public Builder() { + $ = new ElastigroupLoggingExportArgs(); + } + + public Builder(ElastigroupLoggingExportArgs defaults) { + $ = new ElastigroupLoggingExportArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param s3s Exports your cluster's logs to the S3 bucket and subdir configured on the S3 data integration given. + * + * @return builder + * + */ + public Builder s3s(@Nullable Output> s3s) { + $.s3s = s3s; + return this; + } + + /** + * @param s3s Exports your cluster's logs to the S3 bucket and subdir configured on the S3 data integration given. + * + * @return builder + * + */ + public Builder s3s(List s3s) { + return s3s(Output.of(s3s)); + } + + /** + * @param s3s Exports your cluster's logs to the S3 bucket and subdir configured on the S3 data integration given. + * + * @return builder + * + */ + public Builder s3s(ElastigroupLoggingExportS3Args... s3s) { + return s3s(List.of(s3s)); + } + + public ElastigroupLoggingExportArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/aws/inputs/ElastigroupLoggingExportS3Args.java b/sdk/java/src/main/java/com/pulumi/spotinst/aws/inputs/ElastigroupLoggingExportS3Args.java new file mode 100644 index 00000000..e3fc30f3 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/aws/inputs/ElastigroupLoggingExportS3Args.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.spotinst.aws.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class ElastigroupLoggingExportS3Args extends com.pulumi.resources.ResourceArgs { + + public static final ElastigroupLoggingExportS3Args Empty = new ElastigroupLoggingExportS3Args(); + + /** + * The identifier of The S3 data integration to export the logs to. + * + */ + @Import(name="id", required=true) + private Output id; + + /** + * @return The identifier of The S3 data integration to export the logs to. + * + */ + public Output id() { + return this.id; + } + + private ElastigroupLoggingExportS3Args() {} + + private ElastigroupLoggingExportS3Args(ElastigroupLoggingExportS3Args $) { + this.id = $.id; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ElastigroupLoggingExportS3Args defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ElastigroupLoggingExportS3Args $; + + public Builder() { + $ = new ElastigroupLoggingExportS3Args(); + } + + public Builder(ElastigroupLoggingExportS3Args defaults) { + $ = new ElastigroupLoggingExportS3Args(Objects.requireNonNull(defaults)); + } + + /** + * @param id The identifier of The S3 data integration to export the logs to. + * + * @return builder + * + */ + public Builder id(Output id) { + $.id = id; + return this; + } + + /** + * @param id The identifier of The S3 data integration to export the logs to. + * + * @return builder + * + */ + public Builder id(String id) { + return id(Output.of(id)); + } + + public ElastigroupLoggingExportS3Args build() { + $.id = Objects.requireNonNull($.id, "expected parameter 'id' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/aws/inputs/ElastigroupState.java b/sdk/java/src/main/java/com/pulumi/spotinst/aws/inputs/ElastigroupState.java index c5e12493..82b748de 100644 --- a/sdk/java/src/main/java/com/pulumi/spotinst/aws/inputs/ElastigroupState.java +++ b/sdk/java/src/main/java/com/pulumi/spotinst/aws/inputs/ElastigroupState.java @@ -22,6 +22,7 @@ import com.pulumi.spotinst.aws.inputs.ElastigroupIntegrationRancherArgs; import com.pulumi.spotinst.aws.inputs.ElastigroupIntegrationRoute53Args; import com.pulumi.spotinst.aws.inputs.ElastigroupItfArgs; +import com.pulumi.spotinst.aws.inputs.ElastigroupLoggingArgs; import com.pulumi.spotinst.aws.inputs.ElastigroupMetadataOptionsArgs; import com.pulumi.spotinst.aws.inputs.ElastigroupMultaiTargetSetArgs; import com.pulumi.spotinst.aws.inputs.ElastigroupMultipleMetricsArgs; @@ -617,6 +618,21 @@ public Optional> lifetimePeriod() { return Optional.ofNullable(this.lifetimePeriod); } + /** + * Logging configuration. + * + */ + @Import(name="logging") + private @Nullable Output logging; + + /** + * @return Logging configuration. + * + */ + public Optional> logging() { + return Optional.ofNullable(this.logging); + } + /** * The maximum number of instances the group should have at any time. * @@ -1259,6 +1275,7 @@ private ElastigroupState(ElastigroupState $) { this.itfs = $.itfs; this.keyName = $.keyName; this.lifetimePeriod = $.lifetimePeriod; + this.logging = $.logging; this.maxSize = $.maxSize; this.metadataOptions = $.metadataOptions; this.minSize = $.minSize; @@ -2189,6 +2206,27 @@ public Builder lifetimePeriod(String lifetimePeriod) { return lifetimePeriod(Output.of(lifetimePeriod)); } + /** + * @param logging Logging configuration. + * + * @return builder + * + */ + public Builder logging(@Nullable Output logging) { + $.logging = logging; + return this; + } + + /** + * @param logging Logging configuration. + * + * @return builder + * + */ + public Builder logging(ElastigroupLoggingArgs logging) { + return logging(Output.of(logging)); + } + /** * @param maxSize The maximum number of instances the group should have at any time. * diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/aws/outputs/ElastigroupImageImage.java b/sdk/java/src/main/java/com/pulumi/spotinst/aws/outputs/ElastigroupImageImage.java index 54bf1492..76c1b90e 100644 --- a/sdk/java/src/main/java/com/pulumi/spotinst/aws/outputs/ElastigroupImageImage.java +++ b/sdk/java/src/main/java/com/pulumi/spotinst/aws/outputs/ElastigroupImageImage.java @@ -10,14 +10,14 @@ @CustomType public final class ElastigroupImageImage { /** - * @return The group ID. + * @return The identifier of The S3 data integration to export the logs to. * */ private String id; private ElastigroupImageImage() {} /** - * @return The group ID. + * @return The identifier of The S3 data integration to export the logs to. * */ public String id() { diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/aws/outputs/ElastigroupLogging.java b/sdk/java/src/main/java/com/pulumi/spotinst/aws/outputs/ElastigroupLogging.java new file mode 100644 index 00000000..de93986f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/aws/outputs/ElastigroupLogging.java @@ -0,0 +1,56 @@ +// *** 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.spotinst.aws.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.spotinst.aws.outputs.ElastigroupLoggingExport; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class ElastigroupLogging { + /** + * @return Logging Export configuration. + * + */ + private @Nullable ElastigroupLoggingExport export; + + private ElastigroupLogging() {} + /** + * @return Logging Export configuration. + * + */ + public Optional export() { + return Optional.ofNullable(this.export); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ElastigroupLogging defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable ElastigroupLoggingExport export; + public Builder() {} + public Builder(ElastigroupLogging defaults) { + Objects.requireNonNull(defaults); + this.export = defaults.export; + } + + @CustomType.Setter + public Builder export(@Nullable ElastigroupLoggingExport export) { + this.export = export; + return this; + } + public ElastigroupLogging build() { + final var o = new ElastigroupLogging(); + o.export = export; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/aws/outputs/ElastigroupLoggingExport.java b/sdk/java/src/main/java/com/pulumi/spotinst/aws/outputs/ElastigroupLoggingExport.java new file mode 100644 index 00000000..ee6148bc --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/aws/outputs/ElastigroupLoggingExport.java @@ -0,0 +1,59 @@ +// *** 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.spotinst.aws.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.spotinst.aws.outputs.ElastigroupLoggingExportS3; +import java.util.List; +import java.util.Objects; +import javax.annotation.Nullable; + +@CustomType +public final class ElastigroupLoggingExport { + /** + * @return Exports your cluster's logs to the S3 bucket and subdir configured on the S3 data integration given. + * + */ + private @Nullable List s3s; + + private ElastigroupLoggingExport() {} + /** + * @return Exports your cluster's logs to the S3 bucket and subdir configured on the S3 data integration given. + * + */ + public List s3s() { + return this.s3s == null ? List.of() : this.s3s; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ElastigroupLoggingExport defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List s3s; + public Builder() {} + public Builder(ElastigroupLoggingExport defaults) { + Objects.requireNonNull(defaults); + this.s3s = defaults.s3s; + } + + @CustomType.Setter + public Builder s3s(@Nullable List s3s) { + this.s3s = s3s; + return this; + } + public Builder s3s(ElastigroupLoggingExportS3... s3s) { + return s3s(List.of(s3s)); + } + public ElastigroupLoggingExport build() { + final var o = new ElastigroupLoggingExport(); + o.s3s = s3s; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/aws/outputs/ElastigroupLoggingExportS3.java b/sdk/java/src/main/java/com/pulumi/spotinst/aws/outputs/ElastigroupLoggingExportS3.java new file mode 100644 index 00000000..655ddb47 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/aws/outputs/ElastigroupLoggingExportS3.java @@ -0,0 +1,54 @@ +// *** 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.spotinst.aws.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class ElastigroupLoggingExportS3 { + /** + * @return The identifier of The S3 data integration to export the logs to. + * + */ + private String id; + + private ElastigroupLoggingExportS3() {} + /** + * @return The identifier of The S3 data integration to export the logs to. + * + */ + public String id() { + return this.id; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ElastigroupLoggingExportS3 defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String id; + public Builder() {} + public Builder(ElastigroupLoggingExportS3 defaults) { + Objects.requireNonNull(defaults); + this.id = defaults.id; + } + + @CustomType.Setter + public Builder id(String id) { + this.id = Objects.requireNonNull(id); + return this; + } + public ElastigroupLoggingExportS3 build() { + final var o = new ElastigroupLoggingExportS3(); + o.id = id; + return o; + } + } +} diff --git a/sdk/nodejs/aws/elastigroup.ts b/sdk/nodejs/aws/elastigroup.ts index 145ccfa1..528c36f9 100644 --- a/sdk/nodejs/aws/elastigroup.ts +++ b/sdk/nodejs/aws/elastigroup.ts @@ -183,6 +183,10 @@ export class Elastigroup extends pulumi.CustomResource { */ public readonly keyName!: pulumi.Output; public readonly lifetimePeriod!: pulumi.Output; + /** + * Logging configuration. + */ + public readonly logging!: pulumi.Output; /** * The maximum number of instances the group should have at any time. */ @@ -383,6 +387,7 @@ export class Elastigroup extends pulumi.CustomResource { resourceInputs["itfs"] = state ? state.itfs : undefined; resourceInputs["keyName"] = state ? state.keyName : undefined; resourceInputs["lifetimePeriod"] = state ? state.lifetimePeriod : undefined; + resourceInputs["logging"] = state ? state.logging : undefined; resourceInputs["maxSize"] = state ? state.maxSize : undefined; resourceInputs["metadataOptions"] = state ? state.metadataOptions : undefined; resourceInputs["minSize"] = state ? state.minSize : undefined; @@ -480,6 +485,7 @@ export class Elastigroup extends pulumi.CustomResource { resourceInputs["itfs"] = args ? args.itfs : undefined; resourceInputs["keyName"] = args ? args.keyName : undefined; resourceInputs["lifetimePeriod"] = args ? args.lifetimePeriod : undefined; + resourceInputs["logging"] = args ? args.logging : undefined; resourceInputs["maxSize"] = args ? args.maxSize : undefined; resourceInputs["metadataOptions"] = args ? args.metadataOptions : undefined; resourceInputs["minSize"] = args ? args.minSize : undefined; @@ -678,6 +684,10 @@ export interface ElastigroupState { */ keyName?: pulumi.Input; lifetimePeriod?: pulumi.Input; + /** + * Logging configuration. + */ + logging?: pulumi.Input; /** * The maximum number of instances the group should have at any time. */ @@ -975,6 +985,10 @@ export interface ElastigroupArgs { */ keyName?: pulumi.Input; lifetimePeriod?: pulumi.Input; + /** + * Logging configuration. + */ + logging?: pulumi.Input; /** * The maximum number of instances the group should have at any time. */ diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index ce129843..7f35e606 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -525,7 +525,7 @@ export namespace aws { export interface ElastigroupImageImage { /** - * The group ID. + * The identifier of The S3 data integration to export the logs to. */ id: pulumi.Input; } @@ -1108,6 +1108,27 @@ export namespace aws { tagValue?: pulumi.Input; } + export interface ElastigroupLogging { + /** + * Logging Export configuration. + */ + export?: pulumi.Input; + } + + export interface ElastigroupLoggingExport { + /** + * Exports your cluster's logs to the S3 bucket and subdir configured on the S3 data integration given. + */ + s3s?: pulumi.Input[]>; + } + + export interface ElastigroupLoggingExportS3 { + /** + * The identifier of The S3 data integration to export the logs to. + */ + id: pulumi.Input; + } + export interface ElastigroupMetadataOptions { /** * The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. Valid values: Integers from `1` to `64`. diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index abccbfdb..2318e3a2 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -526,7 +526,7 @@ export namespace aws { export interface ElastigroupImageImage { /** - * The group ID. + * The identifier of The S3 data integration to export the logs to. */ id: string; } @@ -1109,6 +1109,27 @@ export namespace aws { tagValue?: string; } + export interface ElastigroupLogging { + /** + * Logging Export configuration. + */ + export?: outputs.aws.ElastigroupLoggingExport; + } + + export interface ElastigroupLoggingExport { + /** + * Exports your cluster's logs to the S3 bucket and subdir configured on the S3 data integration given. + */ + s3s?: outputs.aws.ElastigroupLoggingExportS3[]; + } + + export interface ElastigroupLoggingExportS3 { + /** + * The identifier of The S3 data integration to export the logs to. + */ + id: string; + } + export interface ElastigroupMetadataOptions { /** * The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. Valid values: Integers from `1` to `64`. diff --git a/sdk/python/pulumi_spotinst/aws/_inputs.py b/sdk/python/pulumi_spotinst/aws/_inputs.py index fef9c656..dff51137 100644 --- a/sdk/python/pulumi_spotinst/aws/_inputs.py +++ b/sdk/python/pulumi_spotinst/aws/_inputs.py @@ -60,6 +60,9 @@ 'ElastigroupItfTargetGroupConfigArgs', 'ElastigroupItfTargetGroupConfigMatcherArgs', 'ElastigroupItfTargetGroupConfigTagArgs', + 'ElastigroupLoggingArgs', + 'ElastigroupLoggingExportArgs', + 'ElastigroupLoggingExportS3Args', 'ElastigroupMetadataOptionsArgs', 'ElastigroupMultaiTargetSetArgs', 'ElastigroupMultipleMetricsArgs', @@ -874,7 +877,7 @@ class ElastigroupImageImageArgs: def __init__(__self__, *, id: pulumi.Input[str]): """ - :param pulumi.Input[str] id: The group ID. + :param pulumi.Input[str] id: The identifier of The S3 data integration to export the logs to. """ pulumi.set(__self__, "id", id) @@ -882,7 +885,7 @@ def __init__(__self__, *, @pulumi.getter def id(self) -> pulumi.Input[str]: """ - The group ID. + The identifier of The S3 data integration to export the logs to. """ return pulumi.get(self, "id") @@ -3107,6 +3110,74 @@ def tag_value(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "tag_value", value) +@pulumi.input_type +class ElastigroupLoggingArgs: + def __init__(__self__, *, + export: Optional[pulumi.Input['ElastigroupLoggingExportArgs']] = None): + """ + :param pulumi.Input['ElastigroupLoggingExportArgs'] export: Logging Export configuration. + """ + if export is not None: + pulumi.set(__self__, "export", export) + + @property + @pulumi.getter + def export(self) -> Optional[pulumi.Input['ElastigroupLoggingExportArgs']]: + """ + Logging Export configuration. + """ + return pulumi.get(self, "export") + + @export.setter + def export(self, value: Optional[pulumi.Input['ElastigroupLoggingExportArgs']]): + pulumi.set(self, "export", value) + + +@pulumi.input_type +class ElastigroupLoggingExportArgs: + def __init__(__self__, *, + s3s: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupLoggingExportS3Args']]]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input['ElastigroupLoggingExportS3Args']]] s3s: Exports your cluster's logs to the S3 bucket and subdir configured on the S3 data integration given. + """ + if s3s is not None: + pulumi.set(__self__, "s3s", s3s) + + @property + @pulumi.getter + def s3s(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupLoggingExportS3Args']]]]: + """ + Exports your cluster's logs to the S3 bucket and subdir configured on the S3 data integration given. + """ + return pulumi.get(self, "s3s") + + @s3s.setter + def s3s(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupLoggingExportS3Args']]]]): + pulumi.set(self, "s3s", value) + + +@pulumi.input_type +class ElastigroupLoggingExportS3Args: + def __init__(__self__, *, + id: pulumi.Input[str]): + """ + :param pulumi.Input[str] id: The identifier of The S3 data integration to export the logs to. + """ + pulumi.set(__self__, "id", id) + + @property + @pulumi.getter + def id(self) -> pulumi.Input[str]: + """ + The identifier of The S3 data integration to export the logs to. + """ + return pulumi.get(self, "id") + + @id.setter + def id(self, value: pulumi.Input[str]): + pulumi.set(self, "id", value) + + @pulumi.input_type class ElastigroupMetadataOptionsArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_spotinst/aws/elastigroup.py b/sdk/python/pulumi_spotinst/aws/elastigroup.py index 65dd991d..612a4b36 100644 --- a/sdk/python/pulumi_spotinst/aws/elastigroup.py +++ b/sdk/python/pulumi_spotinst/aws/elastigroup.py @@ -60,6 +60,7 @@ def __init__(__self__, *, itfs: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupItfArgs']]]] = None, key_name: Optional[pulumi.Input[str]] = None, lifetime_period: Optional[pulumi.Input[str]] = None, + logging: Optional[pulumi.Input['ElastigroupLoggingArgs']] = None, max_size: Optional[pulumi.Input[int]] = None, metadata_options: Optional[pulumi.Input['ElastigroupMetadataOptionsArgs']] = None, min_size: Optional[pulumi.Input[int]] = None, @@ -142,6 +143,7 @@ def __init__(__self__, *, :param pulumi.Input['ElastigroupIntegrationRancherArgs'] integration_rancher: Describes the [Rancher](http://rancherlabs.com/) integration. :param pulumi.Input['ElastigroupIntegrationRoute53Args'] integration_route53: Describes the [Route53](https://aws.amazon.com/documentation/route53/?id=docs_gateway) integration. :param pulumi.Input[str] key_name: The key name that should be used for the instance. + :param pulumi.Input['ElastigroupLoggingArgs'] logging: Logging configuration. :param pulumi.Input[int] max_size: The maximum number of instances the group should have at any time. :param pulumi.Input['ElastigroupMetadataOptionsArgs'] metadata_options: Data that used to configure or manage the running instances: :param pulumi.Input[int] min_size: The minimum number of instances the group should have at any time. @@ -264,6 +266,8 @@ def __init__(__self__, *, pulumi.set(__self__, "key_name", key_name) if lifetime_period is not None: pulumi.set(__self__, "lifetime_period", lifetime_period) + if logging is not None: + pulumi.set(__self__, "logging", logging) if max_size is not None: pulumi.set(__self__, "max_size", max_size) if metadata_options is not None: @@ -854,6 +858,18 @@ def lifetime_period(self) -> Optional[pulumi.Input[str]]: def lifetime_period(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "lifetime_period", value) + @property + @pulumi.getter + def logging(self) -> Optional[pulumi.Input['ElastigroupLoggingArgs']]: + """ + Logging configuration. + """ + return pulumi.get(self, "logging") + + @logging.setter + def logging(self, value: Optional[pulumi.Input['ElastigroupLoggingArgs']]): + pulumi.set(self, "logging", value) + @property @pulumi.getter(name="maxSize") def max_size(self) -> Optional[pulumi.Input[int]]: @@ -1343,6 +1359,7 @@ def __init__(__self__, *, itfs: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupItfArgs']]]] = None, key_name: Optional[pulumi.Input[str]] = None, lifetime_period: Optional[pulumi.Input[str]] = None, + logging: Optional[pulumi.Input['ElastigroupLoggingArgs']] = None, max_size: Optional[pulumi.Input[int]] = None, metadata_options: Optional[pulumi.Input['ElastigroupMetadataOptionsArgs']] = None, min_size: Optional[pulumi.Input[int]] = None, @@ -1424,6 +1441,7 @@ def __init__(__self__, *, :param pulumi.Input['ElastigroupIntegrationRancherArgs'] integration_rancher: Describes the [Rancher](http://rancherlabs.com/) integration. :param pulumi.Input['ElastigroupIntegrationRoute53Args'] integration_route53: Describes the [Route53](https://aws.amazon.com/documentation/route53/?id=docs_gateway) integration. :param pulumi.Input[str] key_name: The key name that should be used for the instance. + :param pulumi.Input['ElastigroupLoggingArgs'] logging: Logging configuration. :param pulumi.Input[int] max_size: The maximum number of instances the group should have at any time. :param pulumi.Input['ElastigroupMetadataOptionsArgs'] metadata_options: Data that used to configure or manage the running instances: :param pulumi.Input[int] min_size: The minimum number of instances the group should have at any time. @@ -1548,6 +1566,8 @@ def __init__(__self__, *, pulumi.set(__self__, "key_name", key_name) if lifetime_period is not None: pulumi.set(__self__, "lifetime_period", lifetime_period) + if logging is not None: + pulumi.set(__self__, "logging", logging) if max_size is not None: pulumi.set(__self__, "max_size", max_size) if metadata_options is not None: @@ -2107,6 +2127,18 @@ def lifetime_period(self) -> Optional[pulumi.Input[str]]: def lifetime_period(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "lifetime_period", value) + @property + @pulumi.getter + def logging(self) -> Optional[pulumi.Input['ElastigroupLoggingArgs']]: + """ + Logging configuration. + """ + return pulumi.get(self, "logging") + + @logging.setter + def logging(self, value: Optional[pulumi.Input['ElastigroupLoggingArgs']]): + pulumi.set(self, "logging", value) + @property @pulumi.getter(name="maxSize") def max_size(self) -> Optional[pulumi.Input[int]]: @@ -2635,6 +2667,7 @@ def __init__(__self__, itfs: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ElastigroupItfArgs']]]]] = None, key_name: Optional[pulumi.Input[str]] = None, lifetime_period: Optional[pulumi.Input[str]] = None, + logging: Optional[pulumi.Input[pulumi.InputType['ElastigroupLoggingArgs']]] = None, max_size: Optional[pulumi.Input[int]] = None, metadata_options: Optional[pulumi.Input[pulumi.InputType['ElastigroupMetadataOptionsArgs']]] = None, min_size: Optional[pulumi.Input[int]] = None, @@ -2720,6 +2753,7 @@ def __init__(__self__, :param pulumi.Input[pulumi.InputType['ElastigroupIntegrationRancherArgs']] integration_rancher: Describes the [Rancher](http://rancherlabs.com/) integration. :param pulumi.Input[pulumi.InputType['ElastigroupIntegrationRoute53Args']] integration_route53: Describes the [Route53](https://aws.amazon.com/documentation/route53/?id=docs_gateway) integration. :param pulumi.Input[str] key_name: The key name that should be used for the instance. + :param pulumi.Input[pulumi.InputType['ElastigroupLoggingArgs']] logging: Logging configuration. :param pulumi.Input[int] max_size: The maximum number of instances the group should have at any time. :param pulumi.Input[pulumi.InputType['ElastigroupMetadataOptionsArgs']] metadata_options: Data that used to configure or manage the running instances: :param pulumi.Input[int] min_size: The minimum number of instances the group should have at any time. @@ -2827,6 +2861,7 @@ def _internal_init(__self__, itfs: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ElastigroupItfArgs']]]]] = None, key_name: Optional[pulumi.Input[str]] = None, lifetime_period: Optional[pulumi.Input[str]] = None, + logging: Optional[pulumi.Input[pulumi.InputType['ElastigroupLoggingArgs']]] = None, max_size: Optional[pulumi.Input[int]] = None, metadata_options: Optional[pulumi.Input[pulumi.InputType['ElastigroupMetadataOptionsArgs']]] = None, min_size: Optional[pulumi.Input[int]] = None, @@ -2921,6 +2956,7 @@ def _internal_init(__self__, __props__.__dict__["itfs"] = itfs __props__.__dict__["key_name"] = key_name __props__.__dict__["lifetime_period"] = lifetime_period + __props__.__dict__["logging"] = logging __props__.__dict__["max_size"] = max_size __props__.__dict__["metadata_options"] = metadata_options __props__.__dict__["min_size"] = min_size @@ -3020,6 +3056,7 @@ def get(resource_name: str, itfs: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ElastigroupItfArgs']]]]] = None, key_name: Optional[pulumi.Input[str]] = None, lifetime_period: Optional[pulumi.Input[str]] = None, + logging: Optional[pulumi.Input[pulumi.InputType['ElastigroupLoggingArgs']]] = None, max_size: Optional[pulumi.Input[int]] = None, metadata_options: Optional[pulumi.Input[pulumi.InputType['ElastigroupMetadataOptionsArgs']]] = None, min_size: Optional[pulumi.Input[int]] = None, @@ -3106,6 +3143,7 @@ def get(resource_name: str, :param pulumi.Input[pulumi.InputType['ElastigroupIntegrationRancherArgs']] integration_rancher: Describes the [Rancher](http://rancherlabs.com/) integration. :param pulumi.Input[pulumi.InputType['ElastigroupIntegrationRoute53Args']] integration_route53: Describes the [Route53](https://aws.amazon.com/documentation/route53/?id=docs_gateway) integration. :param pulumi.Input[str] key_name: The key name that should be used for the instance. + :param pulumi.Input[pulumi.InputType['ElastigroupLoggingArgs']] logging: Logging configuration. :param pulumi.Input[int] max_size: The maximum number of instances the group should have at any time. :param pulumi.Input[pulumi.InputType['ElastigroupMetadataOptionsArgs']] metadata_options: Data that used to configure or manage the running instances: :param pulumi.Input[int] min_size: The minimum number of instances the group should have at any time. @@ -3193,6 +3231,7 @@ def get(resource_name: str, __props__.__dict__["itfs"] = itfs __props__.__dict__["key_name"] = key_name __props__.__dict__["lifetime_period"] = lifetime_period + __props__.__dict__["logging"] = logging __props__.__dict__["max_size"] = max_size __props__.__dict__["metadata_options"] = metadata_options __props__.__dict__["min_size"] = min_size @@ -3547,6 +3586,14 @@ def key_name(self) -> pulumi.Output[Optional[str]]: def lifetime_period(self) -> pulumi.Output[Optional[str]]: return pulumi.get(self, "lifetime_period") + @property + @pulumi.getter + def logging(self) -> pulumi.Output[Optional['outputs.ElastigroupLogging']]: + """ + Logging configuration. + """ + return pulumi.get(self, "logging") + @property @pulumi.getter(name="maxSize") def max_size(self) -> pulumi.Output[int]: diff --git a/sdk/python/pulumi_spotinst/aws/outputs.py b/sdk/python/pulumi_spotinst/aws/outputs.py index 7e11fc87..f492e32d 100644 --- a/sdk/python/pulumi_spotinst/aws/outputs.py +++ b/sdk/python/pulumi_spotinst/aws/outputs.py @@ -61,6 +61,9 @@ 'ElastigroupItfTargetGroupConfig', 'ElastigroupItfTargetGroupConfigMatcher', 'ElastigroupItfTargetGroupConfigTag', + 'ElastigroupLogging', + 'ElastigroupLoggingExport', + 'ElastigroupLoggingExportS3', 'ElastigroupMetadataOptions', 'ElastigroupMultaiTargetSet', 'ElastigroupMultipleMetrics', @@ -903,7 +906,7 @@ class ElastigroupImageImage(dict): def __init__(__self__, *, id: str): """ - :param str id: The group ID. + :param str id: The identifier of The S3 data integration to export the logs to. """ pulumi.set(__self__, "id", id) @@ -911,7 +914,7 @@ def __init__(__self__, *, @pulumi.getter def id(self) -> str: """ - The group ID. + The identifier of The S3 data integration to export the logs to. """ return pulumi.get(self, "id") @@ -3329,6 +3332,62 @@ def tag_value(self) -> Optional[str]: return pulumi.get(self, "tag_value") +@pulumi.output_type +class ElastigroupLogging(dict): + def __init__(__self__, *, + export: Optional['outputs.ElastigroupLoggingExport'] = None): + """ + :param 'ElastigroupLoggingExportArgs' export: Logging Export configuration. + """ + if export is not None: + pulumi.set(__self__, "export", export) + + @property + @pulumi.getter + def export(self) -> Optional['outputs.ElastigroupLoggingExport']: + """ + Logging Export configuration. + """ + return pulumi.get(self, "export") + + +@pulumi.output_type +class ElastigroupLoggingExport(dict): + def __init__(__self__, *, + s3s: Optional[Sequence['outputs.ElastigroupLoggingExportS3']] = None): + """ + :param Sequence['ElastigroupLoggingExportS3Args'] s3s: Exports your cluster's logs to the S3 bucket and subdir configured on the S3 data integration given. + """ + if s3s is not None: + pulumi.set(__self__, "s3s", s3s) + + @property + @pulumi.getter + def s3s(self) -> Optional[Sequence['outputs.ElastigroupLoggingExportS3']]: + """ + Exports your cluster's logs to the S3 bucket and subdir configured on the S3 data integration given. + """ + return pulumi.get(self, "s3s") + + +@pulumi.output_type +class ElastigroupLoggingExportS3(dict): + def __init__(__self__, *, + id: str): + """ + :param str id: The identifier of The S3 data integration to export the logs to. + """ + pulumi.set(__self__, "id", id) + + @property + @pulumi.getter + def id(self) -> str: + """ + The identifier of The S3 data integration to export the logs to. + """ + return pulumi.get(self, "id") + + @pulumi.output_type class ElastigroupMetadataOptions(dict): @staticmethod diff --git a/upstream b/upstream index 02af0dc5..5b725a13 160000 --- a/upstream +++ b/upstream @@ -1 +1 @@ -Subproject commit 02af0dc570c73cd996c642ca8b8cb2df00731782 +Subproject commit 5b725a1326e145f3b7114d0abf6f9b87cb2c4040