diff --git a/sdk/dotnet/Alb/Inputs/ListenerMutualAuthenticationArgs.cs b/sdk/dotnet/Alb/Inputs/ListenerMutualAuthenticationArgs.cs
index 0c421a1328d..28c91b93f9e 100644
--- a/sdk/dotnet/Alb/Inputs/ListenerMutualAuthenticationArgs.cs
+++ b/sdk/dotnet/Alb/Inputs/ListenerMutualAuthenticationArgs.cs
@@ -12,6 +12,12 @@ namespace Pulumi.Aws.Alb.Inputs
public sealed class ListenerMutualAuthenticationArgs : global::Pulumi.ResourceArgs
{
+ ///
+ /// Valid values are `off` and `on`.
+ ///
+ [Input("advertiseTrustStoreCaNames")]
+ public Input? AdvertiseTrustStoreCaNames { get; set; }
+
///
/// Whether client certificate expiry is ignored. Default is `false`.
///
diff --git a/sdk/dotnet/Alb/Inputs/ListenerMutualAuthenticationGetArgs.cs b/sdk/dotnet/Alb/Inputs/ListenerMutualAuthenticationGetArgs.cs
index 9cc7b25ab4d..65be222dbce 100644
--- a/sdk/dotnet/Alb/Inputs/ListenerMutualAuthenticationGetArgs.cs
+++ b/sdk/dotnet/Alb/Inputs/ListenerMutualAuthenticationGetArgs.cs
@@ -12,6 +12,12 @@ namespace Pulumi.Aws.Alb.Inputs
public sealed class ListenerMutualAuthenticationGetArgs : global::Pulumi.ResourceArgs
{
+ ///
+ /// Valid values are `off` and `on`.
+ ///
+ [Input("advertiseTrustStoreCaNames")]
+ public Input? AdvertiseTrustStoreCaNames { get; set; }
+
///
/// Whether client certificate expiry is ignored. Default is `false`.
///
diff --git a/sdk/dotnet/Alb/Outputs/ListenerMutualAuthentication.cs b/sdk/dotnet/Alb/Outputs/ListenerMutualAuthentication.cs
index c2cd0be8df9..4af580cdc6f 100644
--- a/sdk/dotnet/Alb/Outputs/ListenerMutualAuthentication.cs
+++ b/sdk/dotnet/Alb/Outputs/ListenerMutualAuthentication.cs
@@ -13,6 +13,10 @@ namespace Pulumi.Aws.Alb.Outputs
[OutputType]
public sealed class ListenerMutualAuthentication
{
+ ///
+ /// Valid values are `off` and `on`.
+ ///
+ public readonly string? AdvertiseTrustStoreCaNames;
///
/// Whether client certificate expiry is ignored. Default is `false`.
///
@@ -28,12 +32,15 @@ public sealed class ListenerMutualAuthentication
[OutputConstructor]
private ListenerMutualAuthentication(
+ string? advertiseTrustStoreCaNames,
+
bool? ignoreClientCertificateExpiry,
string mode,
string? trustStoreArn)
{
+ AdvertiseTrustStoreCaNames = advertiseTrustStoreCaNames;
IgnoreClientCertificateExpiry = ignoreClientCertificateExpiry;
Mode = mode;
TrustStoreArn = trustStoreArn;
diff --git a/sdk/dotnet/Amplify/DomainAssociation.cs b/sdk/dotnet/Amplify/DomainAssociation.cs
index c36aab8aba7..d7b4aa6a35c 100644
--- a/sdk/dotnet/Amplify/DomainAssociation.cs
+++ b/sdk/dotnet/Amplify/DomainAssociation.cs
@@ -91,7 +91,7 @@ public partial class DomainAssociation : global::Pulumi.CustomResource
/// The type of SSL/TLS certificate to use for your custom domain. If you don't specify a certificate type, Amplify uses the default certificate that it provisions and manages for you.
///
[Output("certificateSettings")]
- public Output CertificateSettings { get; private set; } = null!;
+ public Output CertificateSettings { get; private set; } = null!;
///
/// DNS records for certificate verification in a space-delimited format (`<record> CNAME <target>`).
diff --git a/sdk/dotnet/Amplify/Inputs/DomainAssociationCertificateSettingsArgs.cs b/sdk/dotnet/Amplify/Inputs/DomainAssociationCertificateSettingsArgs.cs
index 6dc3e13e316..08e501ef4c8 100644
--- a/sdk/dotnet/Amplify/Inputs/DomainAssociationCertificateSettingsArgs.cs
+++ b/sdk/dotnet/Amplify/Inputs/DomainAssociationCertificateSettingsArgs.cs
@@ -20,12 +20,14 @@ public sealed class DomainAssociationCertificateSettingsArgs : global::Pulumi.Re
///
/// The Amazon resource name (ARN) for the custom certificate.
+ /// Required when `type` is `CUSTOM`.
///
[Input("customCertificateArn")]
public Input? CustomCertificateArn { get; set; }
///
- /// The certificate type. Valid values are `AMPLIFY_MANAGED` and `CUSTOM`.
+ /// The certificate type.
+ /// Valid values are `AMPLIFY_MANAGED` and `CUSTOM`.
///
[Input("type", required: true)]
public Input Type { get; set; } = null!;
diff --git a/sdk/dotnet/Amplify/Inputs/DomainAssociationCertificateSettingsGetArgs.cs b/sdk/dotnet/Amplify/Inputs/DomainAssociationCertificateSettingsGetArgs.cs
index 4f6b37cfee7..e3fdd8b5865 100644
--- a/sdk/dotnet/Amplify/Inputs/DomainAssociationCertificateSettingsGetArgs.cs
+++ b/sdk/dotnet/Amplify/Inputs/DomainAssociationCertificateSettingsGetArgs.cs
@@ -20,12 +20,14 @@ public sealed class DomainAssociationCertificateSettingsGetArgs : global::Pulumi
///
/// The Amazon resource name (ARN) for the custom certificate.
+ /// Required when `type` is `CUSTOM`.
///
[Input("customCertificateArn")]
public Input? CustomCertificateArn { get; set; }
///
- /// The certificate type. Valid values are `AMPLIFY_MANAGED` and `CUSTOM`.
+ /// The certificate type.
+ /// Valid values are `AMPLIFY_MANAGED` and `CUSTOM`.
///
[Input("type", required: true)]
public Input Type { get; set; } = null!;
diff --git a/sdk/dotnet/Amplify/Outputs/DomainAssociationCertificateSettings.cs b/sdk/dotnet/Amplify/Outputs/DomainAssociationCertificateSettings.cs
index b9400b25fe6..11b76117a9c 100644
--- a/sdk/dotnet/Amplify/Outputs/DomainAssociationCertificateSettings.cs
+++ b/sdk/dotnet/Amplify/Outputs/DomainAssociationCertificateSettings.cs
@@ -19,10 +19,12 @@ public sealed class DomainAssociationCertificateSettings
public readonly string? CertificateVerificationDnsRecord;
///
/// The Amazon resource name (ARN) for the custom certificate.
+ /// Required when `type` is `CUSTOM`.
///
public readonly string? CustomCertificateArn;
///
- /// The certificate type. Valid values are `AMPLIFY_MANAGED` and `CUSTOM`.
+ /// The certificate type.
+ /// Valid values are `AMPLIFY_MANAGED` and `CUSTOM`.
///
public readonly string Type;
diff --git a/sdk/dotnet/ApiGateway/DomainNameAccessAssociation.cs b/sdk/dotnet/ApiGateway/DomainNameAccessAssociation.cs
new file mode 100644
index 00000000000..4841a5e90fa
--- /dev/null
+++ b/sdk/dotnet/ApiGateway/DomainNameAccessAssociation.cs
@@ -0,0 +1,220 @@
+// *** 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.Aws.ApiGateway
+{
+ ///
+ /// Creates a domain name access association resource between an access association source and a private custom domain name.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```csharp
+ /// using System.Collections.Generic;
+ /// using System.Linq;
+ /// using Pulumi;
+ /// using Aws = Pulumi.Aws;
+ ///
+ /// return await Deployment.RunAsync(() =>
+ /// {
+ /// var example = new Aws.ApiGateway.DomainNameAccessAssociation("example", new()
+ /// {
+ /// AccessAssociationSource = exampleAwsVpcEndpoint.Id,
+ /// AccessAssociationSourceType = "VPCE",
+ /// DomainNameArn = exampleAwsApiGatewayDomainName.DomainNameArn,
+ /// });
+ ///
+ /// });
+ /// ```
+ ///
+ /// ## Import
+ ///
+ /// Using `pulumi import`, import API Gateway domain name acces associations as using their `arn`. For example:
+ ///
+ /// ```sh
+ /// $ pulumi import aws:apigateway/domainNameAccessAssociation:DomainNameAccessAssociation example arn:aws:apigateway:us-west-2:123456789012:/domainnameaccessassociations/domainname/12qmzgp2.9m7ilski.test+hykg7a12e7/vpcesource/vpce-05de3f8f82740a748
+ /// ```
+ ///
+ [AwsResourceType("aws:apigateway/domainNameAccessAssociation:DomainNameAccessAssociation")]
+ public partial class DomainNameAccessAssociation : global::Pulumi.CustomResource
+ {
+ ///
+ /// The identifier of the domain name access association source. For a `VPCE`, the value is the VPC endpoint ID.
+ ///
+ [Output("accessAssociationSource")]
+ public Output AccessAssociationSource { get; private set; } = null!;
+
+ ///
+ /// The type of the domain name access association source. Valid values are `VPCE`.
+ ///
+ [Output("accessAssociationSourceType")]
+ public Output AccessAssociationSourceType { get; private set; } = null!;
+
+ ///
+ /// ARN of the domain name access association.
+ ///
+ [Output("arn")]
+ public Output Arn { get; private set; } = null!;
+
+ ///
+ /// The ARN of the domain name.
+ ///
+ [Output("domainNameArn")]
+ public Output DomainNameArn { get; private set; } = null!;
+
+ ///
+ /// Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
+ ///
+ [Output("tags")]
+ public Output?> Tags { get; private set; } = null!;
+
+ ///
+ /// Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
+ ///
+ [Output("tagsAll")]
+ public Output> TagsAll { get; private set; } = null!;
+
+
+ ///
+ /// Create a DomainNameAccessAssociation resource with the given unique name, arguments, and options.
+ ///
+ ///
+ /// The unique name of the resource
+ /// The arguments used to populate this resource's properties
+ /// A bag of options that control this resource's behavior
+ public DomainNameAccessAssociation(string name, DomainNameAccessAssociationArgs args, CustomResourceOptions? options = null)
+ : base("aws:apigateway/domainNameAccessAssociation:DomainNameAccessAssociation", name, args ?? new DomainNameAccessAssociationArgs(), MakeResourceOptions(options, ""))
+ {
+ }
+
+ private DomainNameAccessAssociation(string name, Input id, DomainNameAccessAssociationState? state = null, CustomResourceOptions? options = null)
+ : base("aws:apigateway/domainNameAccessAssociation:DomainNameAccessAssociation", name, state, MakeResourceOptions(options, id))
+ {
+ }
+
+ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id)
+ {
+ var defaultOptions = new CustomResourceOptions
+ {
+ Version = Utilities.Version,
+ };
+ var merged = CustomResourceOptions.Merge(defaultOptions, options);
+ // Override the ID if one was specified for consistency with other language SDKs.
+ merged.Id = id ?? merged.Id;
+ return merged;
+ }
+ ///
+ /// Get an existing DomainNameAccessAssociation resource's state with the given name, ID, and optional extra
+ /// properties used to qualify the lookup.
+ ///
+ ///
+ /// The unique name of the resulting resource.
+ /// The unique provider ID of the resource to lookup.
+ /// Any extra arguments used during the lookup.
+ /// A bag of options that control this resource's behavior
+ public static DomainNameAccessAssociation Get(string name, Input id, DomainNameAccessAssociationState? state = null, CustomResourceOptions? options = null)
+ {
+ return new DomainNameAccessAssociation(name, id, state, options);
+ }
+ }
+
+ public sealed class DomainNameAccessAssociationArgs : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// The identifier of the domain name access association source. For a `VPCE`, the value is the VPC endpoint ID.
+ ///
+ [Input("accessAssociationSource", required: true)]
+ public Input AccessAssociationSource { get; set; } = null!;
+
+ ///
+ /// The type of the domain name access association source. Valid values are `VPCE`.
+ ///
+ [Input("accessAssociationSourceType", required: true)]
+ public Input AccessAssociationSourceType { get; set; } = null!;
+
+ ///
+ /// The ARN of the domain name.
+ ///
+ [Input("domainNameArn", required: true)]
+ public Input DomainNameArn { get; set; } = null!;
+
+ [Input("tags")]
+ private InputMap? _tags;
+
+ ///
+ /// Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
+ ///
+ public InputMap Tags
+ {
+ get => _tags ?? (_tags = new InputMap());
+ set => _tags = value;
+ }
+
+ public DomainNameAccessAssociationArgs()
+ {
+ }
+ public static new DomainNameAccessAssociationArgs Empty => new DomainNameAccessAssociationArgs();
+ }
+
+ public sealed class DomainNameAccessAssociationState : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// The identifier of the domain name access association source. For a `VPCE`, the value is the VPC endpoint ID.
+ ///
+ [Input("accessAssociationSource")]
+ public Input? AccessAssociationSource { get; set; }
+
+ ///
+ /// The type of the domain name access association source. Valid values are `VPCE`.
+ ///
+ [Input("accessAssociationSourceType")]
+ public Input? AccessAssociationSourceType { get; set; }
+
+ ///
+ /// ARN of the domain name access association.
+ ///
+ [Input("arn")]
+ public Input? Arn { get; set; }
+
+ ///
+ /// The ARN of the domain name.
+ ///
+ [Input("domainNameArn")]
+ public Input? DomainNameArn { get; set; }
+
+ [Input("tags")]
+ private InputMap? _tags;
+
+ ///
+ /// Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
+ ///
+ public InputMap Tags
+ {
+ get => _tags ?? (_tags = new InputMap());
+ set => _tags = value;
+ }
+
+ [Input("tagsAll")]
+ private InputMap? _tagsAll;
+
+ ///
+ /// Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
+ ///
+ [Obsolete(@"Please use `tags` instead.")]
+ public InputMap TagsAll
+ {
+ get => _tagsAll ?? (_tagsAll = new InputMap());
+ set => _tagsAll = value;
+ }
+
+ public DomainNameAccessAssociationState()
+ {
+ }
+ public static new DomainNameAccessAssociationState Empty => new DomainNameAccessAssociationState();
+ }
+}
diff --git a/sdk/dotnet/AppStream/Inputs/StackUserSettingArgs.cs b/sdk/dotnet/AppStream/Inputs/StackUserSettingArgs.cs
index 8152fd0bf40..e78ddd528dc 100644
--- a/sdk/dotnet/AppStream/Inputs/StackUserSettingArgs.cs
+++ b/sdk/dotnet/AppStream/Inputs/StackUserSettingArgs.cs
@@ -14,7 +14,7 @@ public sealed class StackUserSettingArgs : global::Pulumi.ResourceArgs
{
///
/// Action that is enabled or disabled.
- /// Valid values are `CLIPBOARD_COPY_FROM_LOCAL_DEVICE`, `CLIPBOARD_COPY_TO_LOCAL_DEVICE`, `FILE_UPLOAD`, `FILE_DOWNLOAD`, `PRINTING_TO_LOCAL_DEVICE`, `DOMAIN_PASSWORD_SIGNIN`, or `DOMAIN_SMART_CARD_SIGNIN`.
+ /// Valid values are `AUTO_TIME_ZONE_REDIRECTION`, `CLIPBOARD_COPY_FROM_LOCAL_DEVICE`, `CLIPBOARD_COPY_TO_LOCAL_DEVICE`, `DOMAIN_PASSWORD_SIGNIN`, `DOMAIN_SMART_CARD_SIGNIN`, `FILE_UPLOAD`, `FILE_DOWNLOAD`, or `PRINTING_TO_LOCAL_DEVICE`.
///
[Input("action", required: true)]
public Input Action { get; set; } = null!;
diff --git a/sdk/dotnet/AppStream/Inputs/StackUserSettingGetArgs.cs b/sdk/dotnet/AppStream/Inputs/StackUserSettingGetArgs.cs
index cd964027b03..2b18ad0917f 100644
--- a/sdk/dotnet/AppStream/Inputs/StackUserSettingGetArgs.cs
+++ b/sdk/dotnet/AppStream/Inputs/StackUserSettingGetArgs.cs
@@ -14,7 +14,7 @@ public sealed class StackUserSettingGetArgs : global::Pulumi.ResourceArgs
{
///
/// Action that is enabled or disabled.
- /// Valid values are `CLIPBOARD_COPY_FROM_LOCAL_DEVICE`, `CLIPBOARD_COPY_TO_LOCAL_DEVICE`, `FILE_UPLOAD`, `FILE_DOWNLOAD`, `PRINTING_TO_LOCAL_DEVICE`, `DOMAIN_PASSWORD_SIGNIN`, or `DOMAIN_SMART_CARD_SIGNIN`.
+ /// Valid values are `AUTO_TIME_ZONE_REDIRECTION`, `CLIPBOARD_COPY_FROM_LOCAL_DEVICE`, `CLIPBOARD_COPY_TO_LOCAL_DEVICE`, `DOMAIN_PASSWORD_SIGNIN`, `DOMAIN_SMART_CARD_SIGNIN`, `FILE_UPLOAD`, `FILE_DOWNLOAD`, or `PRINTING_TO_LOCAL_DEVICE`.
///
[Input("action", required: true)]
public Input Action { get; set; } = null!;
diff --git a/sdk/dotnet/AppStream/Outputs/StackUserSetting.cs b/sdk/dotnet/AppStream/Outputs/StackUserSetting.cs
index 5f753d4efab..bed1a4dda9a 100644
--- a/sdk/dotnet/AppStream/Outputs/StackUserSetting.cs
+++ b/sdk/dotnet/AppStream/Outputs/StackUserSetting.cs
@@ -15,7 +15,7 @@ public sealed class StackUserSetting
{
///
/// Action that is enabled or disabled.
- /// Valid values are `CLIPBOARD_COPY_FROM_LOCAL_DEVICE`, `CLIPBOARD_COPY_TO_LOCAL_DEVICE`, `FILE_UPLOAD`, `FILE_DOWNLOAD`, `PRINTING_TO_LOCAL_DEVICE`, `DOMAIN_PASSWORD_SIGNIN`, or `DOMAIN_SMART_CARD_SIGNIN`.
+ /// Valid values are `AUTO_TIME_ZONE_REDIRECTION`, `CLIPBOARD_COPY_FROM_LOCAL_DEVICE`, `CLIPBOARD_COPY_TO_LOCAL_DEVICE`, `DOMAIN_PASSWORD_SIGNIN`, `DOMAIN_SMART_CARD_SIGNIN`, `FILE_UPLOAD`, `FILE_DOWNLOAD`, or `PRINTING_TO_LOCAL_DEVICE`.
///
public readonly string Action;
///
diff --git a/sdk/dotnet/AppStream/Stack.cs b/sdk/dotnet/AppStream/Stack.cs
index 8fc5054139a..c150da693cf 100644
--- a/sdk/dotnet/AppStream/Stack.cs
+++ b/sdk/dotnet/AppStream/Stack.cs
@@ -40,6 +40,11 @@ namespace Pulumi.Aws.AppStream
/// {
/// new Aws.AppStream.Inputs.StackUserSettingArgs
/// {
+ /// Action = "AUTO_TIME_ZONE_REDIRECTION",
+ /// Permission = "DISABLED",
+ /// },
+ /// new Aws.AppStream.Inputs.StackUserSettingArgs
+ /// {
/// Action = "CLIPBOARD_COPY_FROM_LOCAL_DEVICE",
/// Permission = "ENABLED",
/// },
diff --git a/sdk/dotnet/AutoScaling/Group.cs b/sdk/dotnet/AutoScaling/Group.cs
index 4b64d6f9ffa..62d5227b840 100644
--- a/sdk/dotnet/AutoScaling/Group.cs
+++ b/sdk/dotnet/AutoScaling/Group.cs
@@ -650,6 +650,12 @@ public partial class Group : global::Pulumi.CustomResource
[Output("arn")]
public Output Arn { get; private set; } = null!;
+ ///
+ /// The instance capacity distribution across Availability Zones. See Availability Zone Distribution below for more details.
+ ///
+ [Output("availabilityZoneDistribution")]
+ public Output AvailabilityZoneDistribution { get; private set; } = null!;
+
///
/// A list of Availability Zones where instances in the Auto Scaling group can be created. Used for launching into the default VPC subnet in each Availability Zone when not using the `vpc_zone_identifier` attribute, or for attaching a network interface when an existing network interface ID is specified in a launch template. Conflicts with `vpc_zone_identifier`.
///
@@ -976,6 +982,12 @@ public static Group Get(string name, Input id, GroupState? state = null,
public sealed class GroupArgs : global::Pulumi.ResourceArgs
{
+ ///
+ /// The instance capacity distribution across Availability Zones. See Availability Zone Distribution below for more details.
+ ///
+ [Input("availabilityZoneDistribution")]
+ public Input? AvailabilityZoneDistribution { get; set; }
+
[Input("availabilityZones")]
private InputList? _availabilityZones;
@@ -1318,6 +1330,12 @@ public sealed class GroupState : global::Pulumi.ResourceArgs
[Input("arn")]
public Input? Arn { get; set; }
+ ///
+ /// The instance capacity distribution across Availability Zones. See Availability Zone Distribution below for more details.
+ ///
+ [Input("availabilityZoneDistribution")]
+ public Input? AvailabilityZoneDistribution { get; set; }
+
[Input("availabilityZones")]
private InputList? _availabilityZones;
diff --git a/sdk/dotnet/AutoScaling/Inputs/GroupAvailabilityZoneDistributionArgs.cs b/sdk/dotnet/AutoScaling/Inputs/GroupAvailabilityZoneDistributionArgs.cs
new file mode 100644
index 00000000000..b04f277a41a
--- /dev/null
+++ b/sdk/dotnet/AutoScaling/Inputs/GroupAvailabilityZoneDistributionArgs.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.Aws.AutoScaling.Inputs
+{
+
+ public sealed class GroupAvailabilityZoneDistributionArgs : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// The strategy to use for distributing capacity across the Availability Zones. Valid values are `balanced-only` and `balanced-best-effort`. Default is `balanced-best-effort`.
+ ///
+ [Input("capacityDistributionStrategy")]
+ public Input? CapacityDistributionStrategy { get; set; }
+
+ public GroupAvailabilityZoneDistributionArgs()
+ {
+ }
+ public static new GroupAvailabilityZoneDistributionArgs Empty => new GroupAvailabilityZoneDistributionArgs();
+ }
+}
diff --git a/sdk/dotnet/AutoScaling/Inputs/GroupAvailabilityZoneDistributionGetArgs.cs b/sdk/dotnet/AutoScaling/Inputs/GroupAvailabilityZoneDistributionGetArgs.cs
new file mode 100644
index 00000000000..54221db2790
--- /dev/null
+++ b/sdk/dotnet/AutoScaling/Inputs/GroupAvailabilityZoneDistributionGetArgs.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.Aws.AutoScaling.Inputs
+{
+
+ public sealed class GroupAvailabilityZoneDistributionGetArgs : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// The strategy to use for distributing capacity across the Availability Zones. Valid values are `balanced-only` and `balanced-best-effort`. Default is `balanced-best-effort`.
+ ///
+ [Input("capacityDistributionStrategy")]
+ public Input? CapacityDistributionStrategy { get; set; }
+
+ public GroupAvailabilityZoneDistributionGetArgs()
+ {
+ }
+ public static new GroupAvailabilityZoneDistributionGetArgs Empty => new GroupAvailabilityZoneDistributionGetArgs();
+ }
+}
diff --git a/sdk/dotnet/AutoScaling/Outputs/GroupAvailabilityZoneDistribution.cs b/sdk/dotnet/AutoScaling/Outputs/GroupAvailabilityZoneDistribution.cs
new file mode 100644
index 00000000000..35642e0ab79
--- /dev/null
+++ b/sdk/dotnet/AutoScaling/Outputs/GroupAvailabilityZoneDistribution.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.Aws.AutoScaling.Outputs
+{
+
+ [OutputType]
+ public sealed class GroupAvailabilityZoneDistribution
+ {
+ ///
+ /// The strategy to use for distributing capacity across the Availability Zones. Valid values are `balanced-only` and `balanced-best-effort`. Default is `balanced-best-effort`.
+ ///
+ public readonly string? CapacityDistributionStrategy;
+
+ [OutputConstructor]
+ private GroupAvailabilityZoneDistribution(string? capacityDistributionStrategy)
+ {
+ CapacityDistributionStrategy = capacityDistributionStrategy;
+ }
+ }
+}
diff --git a/sdk/dotnet/Bedrock/AgentAgent.cs b/sdk/dotnet/Bedrock/AgentAgent.cs
index 5f17224a5f1..4fd9c1a32d7 100644
--- a/sdk/dotnet/Bedrock/AgentAgent.cs
+++ b/sdk/dotnet/Bedrock/AgentAgent.cs
@@ -134,6 +134,12 @@ public partial class AgentAgent : global::Pulumi.CustomResource
[Output("agentArn")]
public Output AgentArn { get; private set; } = null!;
+ ///
+ /// Agents collaboration role. Valid values: `SUPERVISOR`, `SUPERVISOR_ROUTER`, `DISABLED`.
+ ///
+ [Output("agentCollaboration")]
+ public Output AgentCollaboration { get; private set; } = null!;
+
///
/// Unique identifier of the agent.
///
@@ -275,6 +281,12 @@ public static AgentAgent Get(string name, Input id, AgentAgentState? sta
public sealed class AgentAgentArgs : global::Pulumi.ResourceArgs
{
+ ///
+ /// Agents collaboration role. Valid values: `SUPERVISOR`, `SUPERVISOR_ROUTER`, `DISABLED`.
+ ///
+ [Input("agentCollaboration")]
+ public Input? AgentCollaboration { get; set; }
+
///
/// Name of the agent.
///
@@ -384,6 +396,12 @@ public sealed class AgentAgentState : global::Pulumi.ResourceArgs
[Input("agentArn")]
public Input? AgentArn { get; set; }
+ ///
+ /// Agents collaboration role. Valid values: `SUPERVISOR`, `SUPERVISOR_ROUTER`, `DISABLED`.
+ ///
+ [Input("agentCollaboration")]
+ public Input? AgentCollaboration { get; set; }
+
///
/// Unique identifier of the agent.
///
diff --git a/sdk/dotnet/CloudFront/Inputs/DistributionOriginArgs.cs b/sdk/dotnet/CloudFront/Inputs/DistributionOriginArgs.cs
index fe6ae367e2d..9990b702e55 100644
--- a/sdk/dotnet/CloudFront/Inputs/DistributionOriginArgs.cs
+++ b/sdk/dotnet/CloudFront/Inputs/DistributionOriginArgs.cs
@@ -75,6 +75,12 @@ public InputList CustomHeaders
[Input("s3OriginConfig")]
public Input? S3OriginConfig { get; set; }
+ ///
+ /// The VPC origin configuration.
+ ///
+ [Input("vpcOriginConfig")]
+ public Input? VpcOriginConfig { get; set; }
+
public DistributionOriginArgs()
{
}
diff --git a/sdk/dotnet/CloudFront/Inputs/DistributionOriginCustomOriginConfigArgs.cs b/sdk/dotnet/CloudFront/Inputs/DistributionOriginCustomOriginConfigArgs.cs
index ddbd9efe54f..509037c0d28 100644
--- a/sdk/dotnet/CloudFront/Inputs/DistributionOriginCustomOriginConfigArgs.cs
+++ b/sdk/dotnet/CloudFront/Inputs/DistributionOriginCustomOriginConfigArgs.cs
@@ -24,9 +24,6 @@ public sealed class DistributionOriginCustomOriginConfigArgs : global::Pulumi.Re
[Input("httpsPort", required: true)]
public Input HttpsPort { get; set; } = null!;
- ///
- /// The Custom KeepAlive timeout, in seconds. By default, AWS enforces an upper limit of `60`. But you can request an [increase](http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/RequestAndResponseBehaviorCustomOrigin.html#request-custom-request-timeout). Defaults to `5`.
- ///
[Input("originKeepaliveTimeout")]
public Input? OriginKeepaliveTimeout { get; set; }
@@ -36,9 +33,6 @@ public sealed class DistributionOriginCustomOriginConfigArgs : global::Pulumi.Re
[Input("originProtocolPolicy", required: true)]
public Input OriginProtocolPolicy { get; set; } = null!;
- ///
- /// The Custom Read timeout, in seconds. By default, AWS enforces an upper limit of `60`. But you can request an [increase](http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/RequestAndResponseBehaviorCustomOrigin.html#request-custom-request-timeout). Defaults to `30`.
- ///
[Input("originReadTimeout")]
public Input? OriginReadTimeout { get; set; }
diff --git a/sdk/dotnet/CloudFront/Inputs/DistributionOriginCustomOriginConfigGetArgs.cs b/sdk/dotnet/CloudFront/Inputs/DistributionOriginCustomOriginConfigGetArgs.cs
index e21f98c52cd..777fda909ff 100644
--- a/sdk/dotnet/CloudFront/Inputs/DistributionOriginCustomOriginConfigGetArgs.cs
+++ b/sdk/dotnet/CloudFront/Inputs/DistributionOriginCustomOriginConfigGetArgs.cs
@@ -24,9 +24,6 @@ public sealed class DistributionOriginCustomOriginConfigGetArgs : global::Pulumi
[Input("httpsPort", required: true)]
public Input HttpsPort { get; set; } = null!;
- ///
- /// The Custom KeepAlive timeout, in seconds. By default, AWS enforces an upper limit of `60`. But you can request an [increase](http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/RequestAndResponseBehaviorCustomOrigin.html#request-custom-request-timeout). Defaults to `5`.
- ///
[Input("originKeepaliveTimeout")]
public Input? OriginKeepaliveTimeout { get; set; }
@@ -36,9 +33,6 @@ public sealed class DistributionOriginCustomOriginConfigGetArgs : global::Pulumi
[Input("originProtocolPolicy", required: true)]
public Input OriginProtocolPolicy { get; set; } = null!;
- ///
- /// The Custom Read timeout, in seconds. By default, AWS enforces an upper limit of `60`. But you can request an [increase](http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/RequestAndResponseBehaviorCustomOrigin.html#request-custom-request-timeout). Defaults to `30`.
- ///
[Input("originReadTimeout")]
public Input? OriginReadTimeout { get; set; }
diff --git a/sdk/dotnet/CloudFront/Inputs/DistributionOriginGetArgs.cs b/sdk/dotnet/CloudFront/Inputs/DistributionOriginGetArgs.cs
index a2e9bd06c79..b48d98d288b 100644
--- a/sdk/dotnet/CloudFront/Inputs/DistributionOriginGetArgs.cs
+++ b/sdk/dotnet/CloudFront/Inputs/DistributionOriginGetArgs.cs
@@ -75,6 +75,12 @@ public InputList CustomHeaders
[Input("s3OriginConfig")]
public Input? S3OriginConfig { get; set; }
+ ///
+ /// The VPC origin configuration.
+ ///
+ [Input("vpcOriginConfig")]
+ public Input? VpcOriginConfig { get; set; }
+
public DistributionOriginGetArgs()
{
}
diff --git a/sdk/dotnet/CloudFront/Inputs/DistributionOriginVpcOriginConfigArgs.cs b/sdk/dotnet/CloudFront/Inputs/DistributionOriginVpcOriginConfigArgs.cs
new file mode 100644
index 00000000000..c3687b7ba13
--- /dev/null
+++ b/sdk/dotnet/CloudFront/Inputs/DistributionOriginVpcOriginConfigArgs.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.Aws.CloudFront.Inputs
+{
+
+ public sealed class DistributionOriginVpcOriginConfigArgs : global::Pulumi.ResourceArgs
+ {
+ [Input("originKeepaliveTimeout")]
+ public Input? OriginKeepaliveTimeout { get; set; }
+
+ [Input("originReadTimeout")]
+ public Input? OriginReadTimeout { get; set; }
+
+ ///
+ /// The VPC origin ID.
+ ///
+ [Input("vpcOriginId", required: true)]
+ public Input VpcOriginId { get; set; } = null!;
+
+ public DistributionOriginVpcOriginConfigArgs()
+ {
+ }
+ public static new DistributionOriginVpcOriginConfigArgs Empty => new DistributionOriginVpcOriginConfigArgs();
+ }
+}
diff --git a/sdk/dotnet/CloudFront/Inputs/DistributionOriginVpcOriginConfigGetArgs.cs b/sdk/dotnet/CloudFront/Inputs/DistributionOriginVpcOriginConfigGetArgs.cs
new file mode 100644
index 00000000000..690ea05b5ed
--- /dev/null
+++ b/sdk/dotnet/CloudFront/Inputs/DistributionOriginVpcOriginConfigGetArgs.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.Aws.CloudFront.Inputs
+{
+
+ public sealed class DistributionOriginVpcOriginConfigGetArgs : global::Pulumi.ResourceArgs
+ {
+ [Input("originKeepaliveTimeout")]
+ public Input? OriginKeepaliveTimeout { get; set; }
+
+ [Input("originReadTimeout")]
+ public Input? OriginReadTimeout { get; set; }
+
+ ///
+ /// The VPC origin ID.
+ ///
+ [Input("vpcOriginId", required: true)]
+ public Input VpcOriginId { get; set; } = null!;
+
+ public DistributionOriginVpcOriginConfigGetArgs()
+ {
+ }
+ public static new DistributionOriginVpcOriginConfigGetArgs Empty => new DistributionOriginVpcOriginConfigGetArgs();
+ }
+}
diff --git a/sdk/dotnet/CloudFront/Inputs/VpcOriginTimeoutsArgs.cs b/sdk/dotnet/CloudFront/Inputs/VpcOriginTimeoutsArgs.cs
new file mode 100644
index 00000000000..f7b04701c9c
--- /dev/null
+++ b/sdk/dotnet/CloudFront/Inputs/VpcOriginTimeoutsArgs.cs
@@ -0,0 +1,38 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.Aws.CloudFront.Inputs
+{
+
+ public sealed class VpcOriginTimeoutsArgs : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
+ ///
+ [Input("create")]
+ public Input? Create { get; set; }
+
+ ///
+ /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
+ ///
+ [Input("delete")]
+ public Input? Delete { get; set; }
+
+ ///
+ /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
+ ///
+ [Input("update")]
+ public Input? Update { get; set; }
+
+ public VpcOriginTimeoutsArgs()
+ {
+ }
+ public static new VpcOriginTimeoutsArgs Empty => new VpcOriginTimeoutsArgs();
+ }
+}
diff --git a/sdk/dotnet/CloudFront/Inputs/VpcOriginTimeoutsGetArgs.cs b/sdk/dotnet/CloudFront/Inputs/VpcOriginTimeoutsGetArgs.cs
new file mode 100644
index 00000000000..d242d338b53
--- /dev/null
+++ b/sdk/dotnet/CloudFront/Inputs/VpcOriginTimeoutsGetArgs.cs
@@ -0,0 +1,38 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.Aws.CloudFront.Inputs
+{
+
+ public sealed class VpcOriginTimeoutsGetArgs : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
+ ///
+ [Input("create")]
+ public Input? Create { get; set; }
+
+ ///
+ /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
+ ///
+ [Input("delete")]
+ public Input? Delete { get; set; }
+
+ ///
+ /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
+ ///
+ [Input("update")]
+ public Input? Update { get; set; }
+
+ public VpcOriginTimeoutsGetArgs()
+ {
+ }
+ public static new VpcOriginTimeoutsGetArgs Empty => new VpcOriginTimeoutsGetArgs();
+ }
+}
diff --git a/sdk/dotnet/CloudFront/Inputs/VpcOriginVpcOriginEndpointConfigArgs.cs b/sdk/dotnet/CloudFront/Inputs/VpcOriginVpcOriginEndpointConfigArgs.cs
new file mode 100644
index 00000000000..f6254b3fb81
--- /dev/null
+++ b/sdk/dotnet/CloudFront/Inputs/VpcOriginVpcOriginEndpointConfigArgs.cs
@@ -0,0 +1,56 @@
+// *** 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.Aws.CloudFront.Inputs
+{
+
+ public sealed class VpcOriginVpcOriginEndpointConfigArgs : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// The VPC origin ARN.
+ ///
+ [Input("arn", required: true)]
+ public Input Arn { get; set; } = null!;
+
+ ///
+ /// The HTTP port for the CloudFront VPC origin endpoint configuration.
+ ///
+ [Input("httpPort", required: true)]
+ public Input HttpPort { get; set; } = null!;
+
+ ///
+ /// The HTTPS port for the CloudFront VPC origin endpoint configuration.
+ ///
+ [Input("httpsPort", required: true)]
+ public Input HttpsPort { get; set; } = null!;
+
+ ///
+ /// The name of the CloudFront VPC origin endpoint configuration.
+ ///
+ [Input("name", required: true)]
+ public Input Name { get; set; } = null!;
+
+ ///
+ /// The origin protocol policy for the CloudFront VPC origin endpoint configuration.
+ ///
+ [Input("originProtocolPolicy", required: true)]
+ public Input OriginProtocolPolicy { get; set; } = null!;
+
+ ///
+ /// A complex type that contains information about the SSL/TLS protocols that CloudFront can use when establishing an HTTPS connection with your origin.
+ ///
+ [Input("originSslProtocols")]
+ public Input? OriginSslProtocols { get; set; }
+
+ public VpcOriginVpcOriginEndpointConfigArgs()
+ {
+ }
+ public static new VpcOriginVpcOriginEndpointConfigArgs Empty => new VpcOriginVpcOriginEndpointConfigArgs();
+ }
+}
diff --git a/sdk/dotnet/CloudFront/Inputs/VpcOriginVpcOriginEndpointConfigGetArgs.cs b/sdk/dotnet/CloudFront/Inputs/VpcOriginVpcOriginEndpointConfigGetArgs.cs
new file mode 100644
index 00000000000..af69744ff01
--- /dev/null
+++ b/sdk/dotnet/CloudFront/Inputs/VpcOriginVpcOriginEndpointConfigGetArgs.cs
@@ -0,0 +1,56 @@
+// *** 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.Aws.CloudFront.Inputs
+{
+
+ public sealed class VpcOriginVpcOriginEndpointConfigGetArgs : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// The VPC origin ARN.
+ ///
+ [Input("arn", required: true)]
+ public Input Arn { get; set; } = null!;
+
+ ///
+ /// The HTTP port for the CloudFront VPC origin endpoint configuration.
+ ///
+ [Input("httpPort", required: true)]
+ public Input HttpPort { get; set; } = null!;
+
+ ///
+ /// The HTTPS port for the CloudFront VPC origin endpoint configuration.
+ ///
+ [Input("httpsPort", required: true)]
+ public Input HttpsPort { get; set; } = null!;
+
+ ///
+ /// The name of the CloudFront VPC origin endpoint configuration.
+ ///
+ [Input("name", required: true)]
+ public Input Name { get; set; } = null!;
+
+ ///
+ /// The origin protocol policy for the CloudFront VPC origin endpoint configuration.
+ ///
+ [Input("originProtocolPolicy", required: true)]
+ public Input OriginProtocolPolicy { get; set; } = null!;
+
+ ///
+ /// A complex type that contains information about the SSL/TLS protocols that CloudFront can use when establishing an HTTPS connection with your origin.
+ ///
+ [Input("originSslProtocols")]
+ public Input? OriginSslProtocols { get; set; }
+
+ public VpcOriginVpcOriginEndpointConfigGetArgs()
+ {
+ }
+ public static new VpcOriginVpcOriginEndpointConfigGetArgs Empty => new VpcOriginVpcOriginEndpointConfigGetArgs();
+ }
+}
diff --git a/sdk/dotnet/CloudFront/Inputs/VpcOriginVpcOriginEndpointConfigOriginSslProtocolsArgs.cs b/sdk/dotnet/CloudFront/Inputs/VpcOriginVpcOriginEndpointConfigOriginSslProtocolsArgs.cs
new file mode 100644
index 00000000000..5fc6f310802
--- /dev/null
+++ b/sdk/dotnet/CloudFront/Inputs/VpcOriginVpcOriginEndpointConfigOriginSslProtocolsArgs.cs
@@ -0,0 +1,31 @@
+// *** 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.Aws.CloudFront.Inputs
+{
+
+ public sealed class VpcOriginVpcOriginEndpointConfigOriginSslProtocolsArgs : global::Pulumi.ResourceArgs
+ {
+ [Input("items", required: true)]
+ private InputList? _items;
+ public InputList Items
+ {
+ get => _items ?? (_items = new InputList());
+ set => _items = value;
+ }
+
+ [Input("quantity", required: true)]
+ public Input Quantity { get; set; } = null!;
+
+ public VpcOriginVpcOriginEndpointConfigOriginSslProtocolsArgs()
+ {
+ }
+ public static new VpcOriginVpcOriginEndpointConfigOriginSslProtocolsArgs Empty => new VpcOriginVpcOriginEndpointConfigOriginSslProtocolsArgs();
+ }
+}
diff --git a/sdk/dotnet/CloudFront/Inputs/VpcOriginVpcOriginEndpointConfigOriginSslProtocolsGetArgs.cs b/sdk/dotnet/CloudFront/Inputs/VpcOriginVpcOriginEndpointConfigOriginSslProtocolsGetArgs.cs
new file mode 100644
index 00000000000..59f4d242699
--- /dev/null
+++ b/sdk/dotnet/CloudFront/Inputs/VpcOriginVpcOriginEndpointConfigOriginSslProtocolsGetArgs.cs
@@ -0,0 +1,31 @@
+// *** 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.Aws.CloudFront.Inputs
+{
+
+ public sealed class VpcOriginVpcOriginEndpointConfigOriginSslProtocolsGetArgs : global::Pulumi.ResourceArgs
+ {
+ [Input("items", required: true)]
+ private InputList? _items;
+ public InputList Items
+ {
+ get => _items ?? (_items = new InputList());
+ set => _items = value;
+ }
+
+ [Input("quantity", required: true)]
+ public Input Quantity { get; set; } = null!;
+
+ public VpcOriginVpcOriginEndpointConfigOriginSslProtocolsGetArgs()
+ {
+ }
+ public static new VpcOriginVpcOriginEndpointConfigOriginSslProtocolsGetArgs Empty => new VpcOriginVpcOriginEndpointConfigOriginSslProtocolsGetArgs();
+ }
+}
diff --git a/sdk/dotnet/CloudFront/Outputs/DistributionOrigin.cs b/sdk/dotnet/CloudFront/Outputs/DistributionOrigin.cs
index c03067304a9..74c0c82f7b6 100644
--- a/sdk/dotnet/CloudFront/Outputs/DistributionOrigin.cs
+++ b/sdk/dotnet/CloudFront/Outputs/DistributionOrigin.cs
@@ -50,6 +50,10 @@ public sealed class DistributionOrigin
/// CloudFront S3 origin configuration information. If a custom origin is required, use `custom_origin_config` instead.
///
public readonly Outputs.DistributionOriginS3OriginConfig? S3OriginConfig;
+ ///
+ /// The VPC origin configuration.
+ ///
+ public readonly Outputs.DistributionOriginVpcOriginConfig? VpcOriginConfig;
[OutputConstructor]
private DistributionOrigin(
@@ -71,7 +75,9 @@ private DistributionOrigin(
Outputs.DistributionOriginOriginShield? originShield,
- Outputs.DistributionOriginS3OriginConfig? s3OriginConfig)
+ Outputs.DistributionOriginS3OriginConfig? s3OriginConfig,
+
+ Outputs.DistributionOriginVpcOriginConfig? vpcOriginConfig)
{
ConnectionAttempts = connectionAttempts;
ConnectionTimeout = connectionTimeout;
@@ -83,6 +89,7 @@ private DistributionOrigin(
OriginPath = originPath;
OriginShield = originShield;
S3OriginConfig = s3OriginConfig;
+ VpcOriginConfig = vpcOriginConfig;
}
}
}
diff --git a/sdk/dotnet/CloudFront/Outputs/DistributionOriginCustomOriginConfig.cs b/sdk/dotnet/CloudFront/Outputs/DistributionOriginCustomOriginConfig.cs
index feed883ecdd..41e42354b46 100644
--- a/sdk/dotnet/CloudFront/Outputs/DistributionOriginCustomOriginConfig.cs
+++ b/sdk/dotnet/CloudFront/Outputs/DistributionOriginCustomOriginConfig.cs
@@ -21,17 +21,11 @@ public sealed class DistributionOriginCustomOriginConfig
/// HTTPS port the custom origin listens on.
///
public readonly int HttpsPort;
- ///
- /// The Custom KeepAlive timeout, in seconds. By default, AWS enforces an upper limit of `60`. But you can request an [increase](http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/RequestAndResponseBehaviorCustomOrigin.html#request-custom-request-timeout). Defaults to `5`.
- ///
public readonly int? OriginKeepaliveTimeout;
///
/// Origin protocol policy to apply to your origin. One of `http-only`, `https-only`, or `match-viewer`.
///
public readonly string OriginProtocolPolicy;
- ///
- /// The Custom Read timeout, in seconds. By default, AWS enforces an upper limit of `60`. But you can request an [increase](http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/RequestAndResponseBehaviorCustomOrigin.html#request-custom-request-timeout). Defaults to `30`.
- ///
public readonly int? OriginReadTimeout;
///
/// List of SSL/TLS protocols that CloudFront can use when connecting to your origin over HTTPS. Valid values: `SSLv3`, `TLSv1`, `TLSv1.1`, `TLSv1.2`. For more information, see [Minimum Origin SSL Protocol](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginSSLProtocols) in the Amazon CloudFront Developer Guide.
diff --git a/sdk/dotnet/CloudFront/Outputs/DistributionOriginVpcOriginConfig.cs b/sdk/dotnet/CloudFront/Outputs/DistributionOriginVpcOriginConfig.cs
new file mode 100644
index 00000000000..32634d565c7
--- /dev/null
+++ b/sdk/dotnet/CloudFront/Outputs/DistributionOriginVpcOriginConfig.cs
@@ -0,0 +1,36 @@
+// *** 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.Aws.CloudFront.Outputs
+{
+
+ [OutputType]
+ public sealed class DistributionOriginVpcOriginConfig
+ {
+ public readonly int? OriginKeepaliveTimeout;
+ public readonly int? OriginReadTimeout;
+ ///
+ /// The VPC origin ID.
+ ///
+ public readonly string VpcOriginId;
+
+ [OutputConstructor]
+ private DistributionOriginVpcOriginConfig(
+ int? originKeepaliveTimeout,
+
+ int? originReadTimeout,
+
+ string vpcOriginId)
+ {
+ OriginKeepaliveTimeout = originKeepaliveTimeout;
+ OriginReadTimeout = originReadTimeout;
+ VpcOriginId = vpcOriginId;
+ }
+ }
+}
diff --git a/sdk/dotnet/CloudFront/Outputs/VpcOriginTimeouts.cs b/sdk/dotnet/CloudFront/Outputs/VpcOriginTimeouts.cs
new file mode 100644
index 00000000000..25c5a5b9c57
--- /dev/null
+++ b/sdk/dotnet/CloudFront/Outputs/VpcOriginTimeouts.cs
@@ -0,0 +1,42 @@
+// *** 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.Aws.CloudFront.Outputs
+{
+
+ [OutputType]
+ public sealed class VpcOriginTimeouts
+ {
+ ///
+ /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
+ ///
+ public readonly string? Create;
+ ///
+ /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
+ ///
+ public readonly string? Delete;
+ ///
+ /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
+ ///
+ public readonly string? Update;
+
+ [OutputConstructor]
+ private VpcOriginTimeouts(
+ string? create,
+
+ string? delete,
+
+ string? update)
+ {
+ Create = create;
+ Delete = delete;
+ Update = update;
+ }
+ }
+}
diff --git a/sdk/dotnet/CloudFront/Outputs/VpcOriginVpcOriginEndpointConfig.cs b/sdk/dotnet/CloudFront/Outputs/VpcOriginVpcOriginEndpointConfig.cs
new file mode 100644
index 00000000000..facf8c4ebca
--- /dev/null
+++ b/sdk/dotnet/CloudFront/Outputs/VpcOriginVpcOriginEndpointConfig.cs
@@ -0,0 +1,63 @@
+// *** 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.Aws.CloudFront.Outputs
+{
+
+ [OutputType]
+ public sealed class VpcOriginVpcOriginEndpointConfig
+ {
+ ///
+ /// The VPC origin ARN.
+ ///
+ public readonly string Arn;
+ ///
+ /// The HTTP port for the CloudFront VPC origin endpoint configuration.
+ ///
+ public readonly int HttpPort;
+ ///
+ /// The HTTPS port for the CloudFront VPC origin endpoint configuration.
+ ///
+ public readonly int HttpsPort;
+ ///
+ /// The name of the CloudFront VPC origin endpoint configuration.
+ ///
+ public readonly string Name;
+ ///
+ /// The origin protocol policy for the CloudFront VPC origin endpoint configuration.
+ ///
+ public readonly string OriginProtocolPolicy;
+ ///
+ /// A complex type that contains information about the SSL/TLS protocols that CloudFront can use when establishing an HTTPS connection with your origin.
+ ///
+ public readonly Outputs.VpcOriginVpcOriginEndpointConfigOriginSslProtocols? OriginSslProtocols;
+
+ [OutputConstructor]
+ private VpcOriginVpcOriginEndpointConfig(
+ string arn,
+
+ int httpPort,
+
+ int httpsPort,
+
+ string name,
+
+ string originProtocolPolicy,
+
+ Outputs.VpcOriginVpcOriginEndpointConfigOriginSslProtocols? originSslProtocols)
+ {
+ Arn = arn;
+ HttpPort = httpPort;
+ HttpsPort = httpsPort;
+ Name = name;
+ OriginProtocolPolicy = originProtocolPolicy;
+ OriginSslProtocols = originSslProtocols;
+ }
+ }
+}
diff --git a/sdk/dotnet/CloudFront/Outputs/VpcOriginVpcOriginEndpointConfigOriginSslProtocols.cs b/sdk/dotnet/CloudFront/Outputs/VpcOriginVpcOriginEndpointConfigOriginSslProtocols.cs
new file mode 100644
index 00000000000..cbf0a8b4c8c
--- /dev/null
+++ b/sdk/dotnet/CloudFront/Outputs/VpcOriginVpcOriginEndpointConfigOriginSslProtocols.cs
@@ -0,0 +1,29 @@
+// *** 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.Aws.CloudFront.Outputs
+{
+
+ [OutputType]
+ public sealed class VpcOriginVpcOriginEndpointConfigOriginSslProtocols
+ {
+ public readonly ImmutableArray Items;
+ public readonly int Quantity;
+
+ [OutputConstructor]
+ private VpcOriginVpcOriginEndpointConfigOriginSslProtocols(
+ ImmutableArray items,
+
+ int quantity)
+ {
+ Items = items;
+ Quantity = quantity;
+ }
+ }
+}
diff --git a/sdk/dotnet/CloudFront/VpcOrigin.cs b/sdk/dotnet/CloudFront/VpcOrigin.cs
new file mode 100644
index 00000000000..36f04b588e4
--- /dev/null
+++ b/sdk/dotnet/CloudFront/VpcOrigin.cs
@@ -0,0 +1,215 @@
+// *** 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.Aws.CloudFront
+{
+ ///
+ /// Creates an Amazon CloudFront VPC origin.
+ ///
+ /// For information about CloudFront VPC origins, see
+ /// [Amazon CloudFront Developer Guide - Restrict access with VPC origins][1].
+ ///
+ /// ## Example Usage
+ ///
+ /// ### Application Load Balancer
+ ///
+ /// The following example below creates a CloudFront VPC origin for a Application Load Balancer.
+ ///
+ /// ```csharp
+ /// using System.Collections.Generic;
+ /// using System.Linq;
+ /// using Pulumi;
+ /// using Aws = Pulumi.Aws;
+ ///
+ /// return await Deployment.RunAsync(() =>
+ /// {
+ /// var alb = new Aws.CloudFront.VpcOrigin("alb", new()
+ /// {
+ /// VpcOriginEndpointConfig = new Aws.CloudFront.Inputs.VpcOriginVpcOriginEndpointConfigArgs
+ /// {
+ /// Name = "Example VPC Origin",
+ /// Arn = @this.Arn,
+ /// HttpPort = 8080,
+ /// HttpsPort = 8443,
+ /// OriginProtocolPolicy = "https-only",
+ /// OriginSslProtocols = new Aws.CloudFront.Inputs.VpcOriginVpcOriginEndpointConfigOriginSslProtocolsArgs
+ /// {
+ /// Items = new[]
+ /// {
+ /// "TLSv1.2",
+ /// },
+ /// Quantity = 1,
+ /// },
+ /// },
+ /// });
+ ///
+ /// });
+ /// ```
+ ///
+ /// ## Import
+ ///
+ /// terraform
+ ///
+ /// import {
+ ///
+ /// to = aws_cloudfront_vpc_origin.origin
+ ///
+ /// id = vo_JQEa410sssUFoY6wMkx69j
+ ///
+ /// }
+ ///
+ /// Using `pulumi import`, import Cloudfront VPC origins using the `id`. For example:
+ ///
+ /// console
+ ///
+ /// % pulumi import aws_cloudfront_vpc_origin vo_JQEa410sssUFoY6wMkx69j
+ ///
+ [AwsResourceType("aws:cloudfront/vpcOrigin:VpcOrigin")]
+ public partial class VpcOrigin : global::Pulumi.CustomResource
+ {
+ ///
+ /// The VPC origin ARN.
+ ///
+ [Output("arn")]
+ public Output Arn { get; private set; } = null!;
+
+ ///
+ /// The current version of the origin.
+ ///
+ [Output("etag")]
+ public Output Etag { get; private set; } = null!;
+
+ [Output("tags")]
+ public Output?> Tags { get; private set; } = null!;
+
+ ///
+ /// A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
+ ///
+ [Output("tagsAll")]
+ public Output> TagsAll { get; private set; } = null!;
+
+ [Output("timeouts")]
+ public Output Timeouts { get; private set; } = null!;
+
+ [Output("vpcOriginEndpointConfig")]
+ public Output VpcOriginEndpointConfig { get; private set; } = null!;
+
+
+ ///
+ /// Create a VpcOrigin resource with the given unique name, arguments, and options.
+ ///
+ ///
+ /// The unique name of the resource
+ /// The arguments used to populate this resource's properties
+ /// A bag of options that control this resource's behavior
+ public VpcOrigin(string name, VpcOriginArgs? args = null, CustomResourceOptions? options = null)
+ : base("aws:cloudfront/vpcOrigin:VpcOrigin", name, args ?? new VpcOriginArgs(), MakeResourceOptions(options, ""))
+ {
+ }
+
+ private VpcOrigin(string name, Input id, VpcOriginState? state = null, CustomResourceOptions? options = null)
+ : base("aws:cloudfront/vpcOrigin:VpcOrigin", name, state, MakeResourceOptions(options, id))
+ {
+ }
+
+ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id)
+ {
+ var defaultOptions = new CustomResourceOptions
+ {
+ Version = Utilities.Version,
+ };
+ var merged = CustomResourceOptions.Merge(defaultOptions, options);
+ // Override the ID if one was specified for consistency with other language SDKs.
+ merged.Id = id ?? merged.Id;
+ return merged;
+ }
+ ///
+ /// Get an existing VpcOrigin resource's state with the given name, ID, and optional extra
+ /// properties used to qualify the lookup.
+ ///
+ ///
+ /// The unique name of the resulting resource.
+ /// The unique provider ID of the resource to lookup.
+ /// Any extra arguments used during the lookup.
+ /// A bag of options that control this resource's behavior
+ public static VpcOrigin Get(string name, Input id, VpcOriginState? state = null, CustomResourceOptions? options = null)
+ {
+ return new VpcOrigin(name, id, state, options);
+ }
+ }
+
+ public sealed class VpcOriginArgs : global::Pulumi.ResourceArgs
+ {
+ [Input("tags")]
+ private InputMap? _tags;
+ public InputMap Tags
+ {
+ get => _tags ?? (_tags = new InputMap());
+ set => _tags = value;
+ }
+
+ [Input("timeouts")]
+ public Input? Timeouts { get; set; }
+
+ [Input("vpcOriginEndpointConfig")]
+ public Input? VpcOriginEndpointConfig { get; set; }
+
+ public VpcOriginArgs()
+ {
+ }
+ public static new VpcOriginArgs Empty => new VpcOriginArgs();
+ }
+
+ public sealed class VpcOriginState : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// The VPC origin ARN.
+ ///
+ [Input("arn")]
+ public Input? Arn { get; set; }
+
+ ///
+ /// The current version of the origin.
+ ///
+ [Input("etag")]
+ public Input? Etag { get; set; }
+
+ [Input("tags")]
+ private InputMap? _tags;
+ public InputMap Tags
+ {
+ get => _tags ?? (_tags = new InputMap());
+ set => _tags = value;
+ }
+
+ [Input("tagsAll")]
+ private InputMap? _tagsAll;
+
+ ///
+ /// A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
+ ///
+ [Obsolete(@"Please use `tags` instead.")]
+ public InputMap TagsAll
+ {
+ get => _tagsAll ?? (_tagsAll = new InputMap());
+ set => _tagsAll = value;
+ }
+
+ [Input("timeouts")]
+ public Input? Timeouts { get; set; }
+
+ [Input("vpcOriginEndpointConfig")]
+ public Input? VpcOriginEndpointConfig { get; set; }
+
+ public VpcOriginState()
+ {
+ }
+ public static new VpcOriginState Empty => new VpcOriginState();
+ }
+}
diff --git a/sdk/dotnet/CloudWatch/LogAccountPolicy.cs b/sdk/dotnet/CloudWatch/LogAccountPolicy.cs
index 0849d7a84ad..c6f532c3e7a 100644
--- a/sdk/dotnet/CloudWatch/LogAccountPolicy.cs
+++ b/sdk/dotnet/CloudWatch/LogAccountPolicy.cs
@@ -102,6 +102,34 @@ namespace Pulumi.Aws.CloudWatch
/// });
/// ```
///
+ /// ### Field Index Policy
+ ///
+ /// ```csharp
+ /// using System.Collections.Generic;
+ /// using System.Linq;
+ /// using System.Text.Json;
+ /// using Pulumi;
+ /// using Aws = Pulumi.Aws;
+ ///
+ /// return await Deployment.RunAsync(() =>
+ /// {
+ /// var fieldIndex = new Aws.CloudWatch.LogAccountPolicy("field_index", new()
+ /// {
+ /// PolicyName = "field-index",
+ /// PolicyType = "FIELD_INDEX_POLICY",
+ /// PolicyDocument = JsonSerializer.Serialize(new Dictionary<string, object?>
+ /// {
+ /// ["Fields"] = new[]
+ /// {
+ /// "field1",
+ /// "field2",
+ /// },
+ /// }),
+ /// });
+ ///
+ /// });
+ /// ```
+ ///
/// ## Import
///
/// Using `pulumi import`, import this resource using the `policy_name` and `policy_type` separated by `:`. For example:
@@ -126,7 +154,7 @@ public partial class LogAccountPolicy : global::Pulumi.CustomResource
public Output PolicyName { get; private set; } = null!;
///
- /// Type of account policy. Either `DATA_PROTECTION_POLICY` or `SUBSCRIPTION_FILTER_POLICY`. You can have one account policy per type in an account.
+ /// Type of account policy. One of `DATA_PROTECTION_POLICY`, `SUBSCRIPTION_FILTER_POLICY`, `FIELD_INDEX_POLICY` or `TRANSFORMER_POLICY`. You can have one account policy per type in an account.
///
[Output("policyType")]
public Output PolicyType { get; private set; } = null!;
@@ -202,7 +230,7 @@ public sealed class LogAccountPolicyArgs : global::Pulumi.ResourceArgs
public Input PolicyName { get; set; } = null!;
///
- /// Type of account policy. Either `DATA_PROTECTION_POLICY` or `SUBSCRIPTION_FILTER_POLICY`. You can have one account policy per type in an account.
+ /// Type of account policy. One of `DATA_PROTECTION_POLICY`, `SUBSCRIPTION_FILTER_POLICY`, `FIELD_INDEX_POLICY` or `TRANSFORMER_POLICY`. You can have one account policy per type in an account.
///
[Input("policyType", required: true)]
public Input PolicyType { get; set; } = null!;
@@ -240,7 +268,7 @@ public sealed class LogAccountPolicyState : global::Pulumi.ResourceArgs
public Input? PolicyName { get; set; }
///
- /// Type of account policy. Either `DATA_PROTECTION_POLICY` or `SUBSCRIPTION_FILTER_POLICY`. You can have one account policy per type in an account.
+ /// Type of account policy. One of `DATA_PROTECTION_POLICY`, `SUBSCRIPTION_FILTER_POLICY`, `FIELD_INDEX_POLICY` or `TRANSFORMER_POLICY`. You can have one account policy per type in an account.
///
[Input("policyType")]
public Input? PolicyType { get; set; }
diff --git a/sdk/dotnet/CodeConnections/Inputs/HostVpcConfigurationArgs.cs b/sdk/dotnet/CodeConnections/Inputs/HostVpcConfigurationArgs.cs
index f96996c2bdf..38eb1833f54 100644
--- a/sdk/dotnet/CodeConnections/Inputs/HostVpcConfigurationArgs.cs
+++ b/sdk/dotnet/CodeConnections/Inputs/HostVpcConfigurationArgs.cs
@@ -39,8 +39,8 @@ public InputList SubnetIds
///
/// The value of the Transport Layer Security (TLS) certificate associated with the infrastructure where your provider type is installed.
///
- [Input("tlsCertificate", required: true)]
- public Input TlsCertificate { get; set; } = null!;
+ [Input("tlsCertificate")]
+ public Input? TlsCertificate { get; set; }
///
/// The ID of the Amazon VPC connected to the infrastructure where your provider type is installed.
diff --git a/sdk/dotnet/CodeConnections/Inputs/HostVpcConfigurationGetArgs.cs b/sdk/dotnet/CodeConnections/Inputs/HostVpcConfigurationGetArgs.cs
index e552789af80..26beef433e8 100644
--- a/sdk/dotnet/CodeConnections/Inputs/HostVpcConfigurationGetArgs.cs
+++ b/sdk/dotnet/CodeConnections/Inputs/HostVpcConfigurationGetArgs.cs
@@ -39,8 +39,8 @@ public InputList SubnetIds
///
/// The value of the Transport Layer Security (TLS) certificate associated with the infrastructure where your provider type is installed.
///
- [Input("tlsCertificate", required: true)]
- public Input TlsCertificate { get; set; } = null!;
+ [Input("tlsCertificate")]
+ public Input? TlsCertificate { get; set; }
///
/// The ID of the Amazon VPC connected to the infrastructure where your provider type is installed.
diff --git a/sdk/dotnet/CodeConnections/Outputs/HostVpcConfiguration.cs b/sdk/dotnet/CodeConnections/Outputs/HostVpcConfiguration.cs
index 9da28a5fcb6..ce09323976d 100644
--- a/sdk/dotnet/CodeConnections/Outputs/HostVpcConfiguration.cs
+++ b/sdk/dotnet/CodeConnections/Outputs/HostVpcConfiguration.cs
@@ -24,7 +24,7 @@ public sealed class HostVpcConfiguration
///
/// The value of the Transport Layer Security (TLS) certificate associated with the infrastructure where your provider type is installed.
///
- public readonly string TlsCertificate;
+ public readonly string? TlsCertificate;
///
/// The ID of the Amazon VPC connected to the infrastructure where your provider type is installed.
///
@@ -36,7 +36,7 @@ private HostVpcConfiguration(
ImmutableArray subnetIds,
- string tlsCertificate,
+ string? tlsCertificate,
string vpcId)
{
diff --git a/sdk/dotnet/Config/Config.cs b/sdk/dotnet/Config/Config.cs
index ad59f31309d..291e2dc0730 100644
--- a/sdk/dotnet/Config/Config.cs
+++ b/sdk/dotnet/Config/Config.cs
@@ -1189,6 +1189,10 @@ public class Endpoints
public string? Memorydb { get; set; } = null!;
///
/// Use this to override the default service endpoint URL
+ ///
+ public string? Mgn { get; set; } = null!;
+ ///
+ /// Use this to override the default service endpoint URL
///
public string? Mq { get; set; } = null!;
///
@@ -1561,6 +1565,10 @@ public class Endpoints
public string? Timestreaminfluxdb { get; set; } = null!;
///
/// Use this to override the default service endpoint URL
+ ///
+ public string? Timestreamquery { get; set; } = null!;
+ ///
+ /// Use this to override the default service endpoint URL
///
public string? Timestreamwrite { get; set; } = null!;
///
diff --git a/sdk/dotnet/DirectConnect/Gateway.cs b/sdk/dotnet/DirectConnect/Gateway.cs
index 4ebb17381cc..d9e35430da9 100644
--- a/sdk/dotnet/DirectConnect/Gateway.cs
+++ b/sdk/dotnet/DirectConnect/Gateway.cs
@@ -48,6 +48,12 @@ public partial class Gateway : global::Pulumi.CustomResource
[Output("amazonSideAsn")]
public Output AmazonSideAsn { get; private set; } = null!;
+ ///
+ /// The ARN of the gateway.
+ ///
+ [Output("arn")]
+ public Output Arn { get; private set; } = null!;
+
///
/// The name of the connection.
///
@@ -132,6 +138,12 @@ public sealed class GatewayState : global::Pulumi.ResourceArgs
[Input("amazonSideAsn")]
public Input? AmazonSideAsn { get; set; }
+ ///
+ /// The ARN of the gateway.
+ ///
+ [Input("arn")]
+ public Input? Arn { get; set; }
+
///
/// The name of the connection.
///
diff --git a/sdk/dotnet/DirectConnect/GetGateway.cs b/sdk/dotnet/DirectConnect/GetGateway.cs
index ad16e34d797..1c8b8fb9877 100644
--- a/sdk/dotnet/DirectConnect/GetGateway.cs
+++ b/sdk/dotnet/DirectConnect/GetGateway.cs
@@ -122,6 +122,10 @@ public sealed class GetGatewayResult
///
public readonly string AmazonSideAsn;
///
+ /// ARN of the gateway.
+ ///
+ public readonly string Arn;
+ ///
/// The provider-assigned unique ID for this managed resource.
///
public readonly string Id;
@@ -135,6 +139,8 @@ public sealed class GetGatewayResult
private GetGatewayResult(
string amazonSideAsn,
+ string arn,
+
string id,
string name,
@@ -142,6 +148,7 @@ private GetGatewayResult(
string ownerAccountId)
{
AmazonSideAsn = amazonSideAsn;
+ Arn = arn;
Id = id;
Name = name;
OwnerAccountId = ownerAccountId;
diff --git a/sdk/dotnet/Ec2/VpcEndpoint.cs b/sdk/dotnet/Ec2/VpcEndpoint.cs
index bd3cbeaedd2..b449a1adc1d 100644
--- a/sdk/dotnet/Ec2/VpcEndpoint.cs
+++ b/sdk/dotnet/Ec2/VpcEndpoint.cs
@@ -269,6 +269,12 @@ public partial class VpcEndpoint : global::Pulumi.CustomResource
[Output("serviceName")]
public Output ServiceName { get; private set; } = null!;
+ ///
+ /// The AWS region of the VPC Endpoint Service. If specified, the VPC endpoint will connect to the service in the provided region. Applicable for endpoints of type `Interface`.
+ ///
+ [Output("serviceRegion")]
+ public Output ServiceRegion { get; private set; } = null!;
+
///
/// The state of the VPC endpoint.
///
@@ -419,6 +425,12 @@ public InputList SecurityGroupIds
[Input("serviceName", required: true)]
public Input ServiceName { get; set; } = null!;
+ ///
+ /// The AWS region of the VPC Endpoint Service. If specified, the VPC endpoint will connect to the service in the provided region. Applicable for endpoints of type `Interface`.
+ ///
+ [Input("serviceRegion")]
+ public Input? ServiceRegion { get; set; }
+
[Input("subnetConfigurations")]
private InputList? _subnetConfigurations;
@@ -597,6 +609,12 @@ public InputList SecurityGroupIds
[Input("serviceName")]
public Input? ServiceName { get; set; }
+ ///
+ /// The AWS region of the VPC Endpoint Service. If specified, the VPC endpoint will connect to the service in the provided region. Applicable for endpoints of type `Interface`.
+ ///
+ [Input("serviceRegion")]
+ public Input? ServiceRegion { get; set; }
+
///
/// The state of the VPC endpoint.
///
diff --git a/sdk/dotnet/Eks/Cluster.cs b/sdk/dotnet/Eks/Cluster.cs
index 5a64d18cee2..f329863af98 100644
--- a/sdk/dotnet/Eks/Cluster.cs
+++ b/sdk/dotnet/Eks/Cluster.cs
@@ -87,7 +87,7 @@ namespace Pulumi.Aws.Eks
///
/// ### EKS Cluster with EKS Auto Mode
///
- /// > **NOTE:** When using EKS Auto Mode `compute_config.enabled`, `kubernetes_network_config.elastic_load_balancing.enabled`, and `storage_config.block_storage.enabled` must *ALL be set to `true`. Likewise for disabling EKS Auto Mode, all three arguments must be set to `false`.
+ /// > **NOTE:** When using EKS Auto Mode `compute_config.enabled`, `kubernetes_network_config.elastic_load_balancing.enabled`, and `storage_config.block_storage.enabled` must *ALL be set to `true`. Likewise for disabling EKS Auto Mode, all three arguments must be set to `false`. Enabling EKS Auto Mode also requires that `bootstrap_self_managed_addons` is set to `false`.
///
/// ```csharp
/// using System.Collections.Generic;
@@ -186,6 +186,7 @@ namespace Pulumi.Aws.Eks
/// },
/// RoleArn = cluster.Arn,
/// Version = "1.31",
+ /// BootstrapSelfManagedAddons = false,
/// ComputeConfig = new Aws.Eks.Inputs.ClusterComputeConfigArgs
/// {
/// Enabled = true,
diff --git a/sdk/dotnet/ElastiCache/ReplicationGroup.cs b/sdk/dotnet/ElastiCache/ReplicationGroup.cs
index c1288aae4b6..0a4fe2744c7 100644
--- a/sdk/dotnet/ElastiCache/ReplicationGroup.cs
+++ b/sdk/dotnet/ElastiCache/ReplicationGroup.cs
@@ -279,9 +279,11 @@ public partial class ReplicationGroup : global::Pulumi.CustomResource
///
/// Whether to enable encryption at rest.
+ /// When `engine` is `redis`, default is `false`.
+ /// When `engine` is `valkey`, default is `true`.
///
[Output("atRestEncryptionEnabled")]
- public Output AtRestEncryptionEnabled { get; private set; } = null!;
+ public Output AtRestEncryptionEnabled { get; private set; } = null!;
///
/// Password used to access a password protected server. Can be specified only if `transit_encryption_enabled = true`.
@@ -340,7 +342,9 @@ public partial class ReplicationGroup : global::Pulumi.CustomResource
public Output Description { get; private set; } = null!;
///
- /// Name of the cache engine to be used for the clusters in this replication group. Valid values are `redis` or `valkey`.
+ /// Name of the cache engine to be used for the clusters in this replication group.
+ /// Valid values are `redis` or `valkey`.
+ /// Default is `redis`.
///
[Output("engine")]
public Output Engine { get; private set; } = null!;
@@ -634,9 +638,11 @@ public sealed class ReplicationGroupArgs : global::Pulumi.ResourceArgs
///
/// Whether to enable encryption at rest.
+ /// When `engine` is `redis`, default is `false`.
+ /// When `engine` is `valkey`, default is `true`.
///
[Input("atRestEncryptionEnabled")]
- public Input? AtRestEncryptionEnabled { get; set; }
+ public Input? AtRestEncryptionEnabled { get; set; }
[Input("authToken")]
private Input? _authToken;
@@ -693,7 +699,9 @@ public Input? AuthToken
public Input Description { get; set; } = null!;
///
- /// Name of the cache engine to be used for the clusters in this replication group. Valid values are `redis` or `valkey`.
+ /// Name of the cache engine to be used for the clusters in this replication group.
+ /// Valid values are `redis` or `valkey`.
+ /// Default is `redis`.
///
[Input("engine")]
public Input? Engine { get; set; }
@@ -963,9 +971,11 @@ public sealed class ReplicationGroupState : global::Pulumi.ResourceArgs
///
/// Whether to enable encryption at rest.
+ /// When `engine` is `redis`, default is `false`.
+ /// When `engine` is `valkey`, default is `true`.
///
[Input("atRestEncryptionEnabled")]
- public Input? AtRestEncryptionEnabled { get; set; }
+ public Input? AtRestEncryptionEnabled { get; set; }
[Input("authToken")]
private Input? _authToken;
@@ -1034,7 +1044,9 @@ public Input? AuthToken
public Input? Description { get; set; }
///
- /// Name of the cache engine to be used for the clusters in this replication group. Valid values are `redis` or `valkey`.
+ /// Name of the cache engine to be used for the clusters in this replication group.
+ /// Valid values are `redis` or `valkey`.
+ /// Default is `redis`.
///
[Input("engine")]
public Input? Engine { get; set; }
diff --git a/sdk/dotnet/Fsx/LustreFileSystem.cs b/sdk/dotnet/Fsx/LustreFileSystem.cs
index abeef248840..628503ed18e 100644
--- a/sdk/dotnet/Fsx/LustreFileSystem.cs
+++ b/sdk/dotnet/Fsx/LustreFileSystem.cs
@@ -106,6 +106,12 @@ public partial class LustreFileSystem : global::Pulumi.CustomResource
[Output("driveCacheType")]
public Output DriveCacheType { get; private set; } = null!;
+ ///
+ /// Adds support for Elastic Fabric Adapter (EFA) and GPUDirect Storage (GDS) to Lustre. This must be set at creation. If set this cannot be changed and this prevents changes to `per_unit_storage_throughput`. This is only supported when deployment_type is set to `PERSISTENT_2`, `metadata_configuration` is used, and an EFA-enabled security group is attached.
+ ///
+ [Output("efaEnabled")]
+ public Output EfaEnabled { get; private set; } = null!;
+
///
/// S3 URI (with optional prefix) where the root of your Amazon FSx file system is exported. Can only be specified with `import_path` argument and the path must use the same Amazon S3 bucket as specified in `import_path`. Set equal to `import_path` to overwrite files on export. Defaults to `s3://{IMPORT BUCKET}/FSxLustre{CREATION TIMESTAMP}`. Only supported on `PERSISTENT_1` deployment types.
///
@@ -338,6 +344,12 @@ public sealed class LustreFileSystemArgs : global::Pulumi.ResourceArgs
[Input("driveCacheType")]
public Input? DriveCacheType { get; set; }
+ ///
+ /// Adds support for Elastic Fabric Adapter (EFA) and GPUDirect Storage (GDS) to Lustre. This must be set at creation. If set this cannot be changed and this prevents changes to `per_unit_storage_throughput`. This is only supported when deployment_type is set to `PERSISTENT_2`, `metadata_configuration` is used, and an EFA-enabled security group is attached.
+ ///
+ [Input("efaEnabled")]
+ public Input? EfaEnabled { get; set; }
+
///
/// S3 URI (with optional prefix) where the root of your Amazon FSx file system is exported. Can only be specified with `import_path` argument and the path must use the same Amazon S3 bucket as specified in `import_path`. Set equal to `import_path` to overwrite files on export. Defaults to `s3://{IMPORT BUCKET}/FSxLustre{CREATION TIMESTAMP}`. Only supported on `PERSISTENT_1` deployment types.
///
@@ -532,6 +544,12 @@ public sealed class LustreFileSystemState : global::Pulumi.ResourceArgs
[Input("driveCacheType")]
public Input? DriveCacheType { get; set; }
+ ///
+ /// Adds support for Elastic Fabric Adapter (EFA) and GPUDirect Storage (GDS) to Lustre. This must be set at creation. If set this cannot be changed and this prevents changes to `per_unit_storage_throughput`. This is only supported when deployment_type is set to `PERSISTENT_2`, `metadata_configuration` is used, and an EFA-enabled security group is attached.
+ ///
+ [Input("efaEnabled")]
+ public Input? EfaEnabled { get; set; }
+
///
/// S3 URI (with optional prefix) where the root of your Amazon FSx file system is exported. Can only be specified with `import_path` argument and the path must use the same Amazon S3 bucket as specified in `import_path`. Set equal to `import_path` to overwrite files on export. Defaults to `s3://{IMPORT BUCKET}/FSxLustre{CREATION TIMESTAMP}`. Only supported on `PERSISTENT_1` deployment types.
///
diff --git a/sdk/dotnet/Inputs/ProviderEndpointArgs.cs b/sdk/dotnet/Inputs/ProviderEndpointArgs.cs
index 97638a6e5a1..6c42920601e 100644
--- a/sdk/dotnet/Inputs/ProviderEndpointArgs.cs
+++ b/sdk/dotnet/Inputs/ProviderEndpointArgs.cs
@@ -1134,6 +1134,12 @@ public sealed class ProviderEndpointArgs : global::Pulumi.ResourceArgs
[Input("memorydb")]
public Input? Memorydb { get; set; }
+ ///
+ /// Use this to override the default service endpoint URL
+ ///
+ [Input("mgn")]
+ public Input? Mgn { get; set; }
+
///
/// Use this to override the default service endpoint URL
///
@@ -1692,6 +1698,12 @@ public sealed class ProviderEndpointArgs : global::Pulumi.ResourceArgs
[Input("timestreaminfluxdb")]
public Input? Timestreaminfluxdb { get; set; }
+ ///
+ /// Use this to override the default service endpoint URL
+ ///
+ [Input("timestreamquery")]
+ public Input? Timestreamquery { get; set; }
+
///
/// Use this to override the default service endpoint URL
///
diff --git a/sdk/dotnet/LB/Inputs/ListenerMutualAuthenticationArgs.cs b/sdk/dotnet/LB/Inputs/ListenerMutualAuthenticationArgs.cs
index e1cf3662603..60df4108c71 100644
--- a/sdk/dotnet/LB/Inputs/ListenerMutualAuthenticationArgs.cs
+++ b/sdk/dotnet/LB/Inputs/ListenerMutualAuthenticationArgs.cs
@@ -12,6 +12,12 @@ namespace Pulumi.Aws.LB.Inputs
public sealed class ListenerMutualAuthenticationArgs : global::Pulumi.ResourceArgs
{
+ ///
+ /// Valid values are `off` and `on`.
+ ///
+ [Input("advertiseTrustStoreCaNames")]
+ public Input? AdvertiseTrustStoreCaNames { get; set; }
+
///
/// Whether client certificate expiry is ignored. Default is `false`.
///
diff --git a/sdk/dotnet/LB/Inputs/ListenerMutualAuthenticationGetArgs.cs b/sdk/dotnet/LB/Inputs/ListenerMutualAuthenticationGetArgs.cs
index 88e1f3fc507..aa55d72daf7 100644
--- a/sdk/dotnet/LB/Inputs/ListenerMutualAuthenticationGetArgs.cs
+++ b/sdk/dotnet/LB/Inputs/ListenerMutualAuthenticationGetArgs.cs
@@ -12,6 +12,12 @@ namespace Pulumi.Aws.LB.Inputs
public sealed class ListenerMutualAuthenticationGetArgs : global::Pulumi.ResourceArgs
{
+ ///
+ /// Valid values are `off` and `on`.
+ ///
+ [Input("advertiseTrustStoreCaNames")]
+ public Input? AdvertiseTrustStoreCaNames { get; set; }
+
///
/// Whether client certificate expiry is ignored. Default is `false`.
///
diff --git a/sdk/dotnet/LB/Outputs/ListenerMutualAuthentication.cs b/sdk/dotnet/LB/Outputs/ListenerMutualAuthentication.cs
index 708a6bc30aa..57b0e248293 100644
--- a/sdk/dotnet/LB/Outputs/ListenerMutualAuthentication.cs
+++ b/sdk/dotnet/LB/Outputs/ListenerMutualAuthentication.cs
@@ -13,6 +13,10 @@ namespace Pulumi.Aws.LB.Outputs
[OutputType]
public sealed class ListenerMutualAuthentication
{
+ ///
+ /// Valid values are `off` and `on`.
+ ///
+ public readonly string? AdvertiseTrustStoreCaNames;
///
/// Whether client certificate expiry is ignored. Default is `false`.
///
@@ -28,12 +32,15 @@ public sealed class ListenerMutualAuthentication
[OutputConstructor]
private ListenerMutualAuthentication(
+ string? advertiseTrustStoreCaNames,
+
bool? ignoreClientCertificateExpiry,
string mode,
string? trustStoreArn)
{
+ AdvertiseTrustStoreCaNames = advertiseTrustStoreCaNames;
IgnoreClientCertificateExpiry = ignoreClientCertificateExpiry;
Mode = mode;
TrustStoreArn = trustStoreArn;
diff --git a/sdk/dotnet/LakeFormation/Permissions.cs b/sdk/dotnet/LakeFormation/Permissions.cs
index c18c0a94537..7d32c75d77b 100644
--- a/sdk/dotnet/LakeFormation/Permissions.cs
+++ b/sdk/dotnet/LakeFormation/Permissions.cs
@@ -125,6 +125,21 @@ namespace Pulumi.Aws.LakeFormation
/// | ---- | ---- |
/// | `SELECT` column wildcard (i.e., all columns) | `SELECT` on `"event"` (as expected) |
///
+ /// ## `ALLIAMPrincipals` group
+ ///
+ /// AllIAMPrincipals is a pseudo-entity group that acts like a Lake Formation principal. The group includes all IAMs in the account that is defined.
+ ///
+ /// resource "aws.lakeformation.Permissions" "example" {
+ /// permissions = ["SELECT"]
+ /// principal = "123456789012:IAMPrincipals"
+ ///
+ /// table_with_columns {
+ /// database_name = aws_glue_catalog_table.example.database_name
+ /// name = aws_glue_catalog_table.example.name
+ /// column_names = ["event"]
+ /// }
+ /// }
+ ///
/// ## Using Lake Formation Permissions
///
/// Lake Formation grants implicit permissions to data lake administrators, database creators, and table creators. These implicit permissions cannot be revoked _per se_. If this resource reads implicit permissions, it will attempt to revoke them, which causes an error when the resource is destroyed.
diff --git a/sdk/dotnet/LicenseManager/Outputs/GetReceivedLicenseEntitlementResult.cs b/sdk/dotnet/LicenseManager/Outputs/GetReceivedLicenseEntitlementResult.cs
index a207a39d6e0..bdc5bf28974 100644
--- a/sdk/dotnet/LicenseManager/Outputs/GetReceivedLicenseEntitlementResult.cs
+++ b/sdk/dotnet/LicenseManager/Outputs/GetReceivedLicenseEntitlementResult.cs
@@ -26,6 +26,10 @@ public sealed class GetReceivedLicenseEntitlementResult
///
public readonly string Name;
///
+ /// Indicates whether overages are allowed.
+ ///
+ public readonly bool Overage;
+ ///
/// Entitlement unit.
///
public readonly string Unit;
@@ -42,6 +46,8 @@ private GetReceivedLicenseEntitlementResult(
string name,
+ bool overage,
+
string unit,
string value)
@@ -49,6 +55,7 @@ private GetReceivedLicenseEntitlementResult(
AllowCheckIn = allowCheckIn;
MaxCount = maxCount;
Name = name;
+ Overage = overage;
Unit = unit;
Value = value;
}
diff --git a/sdk/dotnet/MemoryDb/Cluster.cs b/sdk/dotnet/MemoryDb/Cluster.cs
index 011c9092cc0..f6caa4baeb5 100644
--- a/sdk/dotnet/MemoryDb/Cluster.cs
+++ b/sdk/dotnet/MemoryDb/Cluster.cs
@@ -123,6 +123,12 @@ public partial class Cluster : global::Pulumi.CustomResource
[Output("maintenanceWindow")]
public Output MaintenanceWindow { get; private set; } = null!;
+ ///
+ /// The multi region cluster identifier specified on `aws.memorydb.MultiRegionCluster`.
+ ///
+ [Output("multiRegionClusterName")]
+ public Output MultiRegionClusterName { get; private set; } = null!;
+
///
/// Name of the cluster. If omitted, the provider will assign a random, unique name. Conflicts with `name_prefix`.
///
@@ -333,6 +339,12 @@ public sealed class ClusterArgs : global::Pulumi.ResourceArgs
[Input("maintenanceWindow")]
public Input? MaintenanceWindow { get; set; }
+ ///
+ /// The multi region cluster identifier specified on `aws.memorydb.MultiRegionCluster`.
+ ///
+ [Input("multiRegionClusterName")]
+ public Input? MultiRegionClusterName { get; set; }
+
///
/// Name of the cluster. If omitted, the provider will assign a random, unique name. Conflicts with `name_prefix`.
///
@@ -531,6 +543,12 @@ public InputList ClusterEndpoints
[Input("maintenanceWindow")]
public Input? MaintenanceWindow { get; set; }
+ ///
+ /// The multi region cluster identifier specified on `aws.memorydb.MultiRegionCluster`.
+ ///
+ [Input("multiRegionClusterName")]
+ public Input? MultiRegionClusterName { get; set; }
+
///
/// Name of the cluster. If omitted, the provider will assign a random, unique name. Conflicts with `name_prefix`.
///
diff --git a/sdk/dotnet/MemoryDb/Inputs/MultiRegionClusterTimeoutsArgs.cs b/sdk/dotnet/MemoryDb/Inputs/MultiRegionClusterTimeoutsArgs.cs
new file mode 100644
index 00000000000..2cf6b582e8d
--- /dev/null
+++ b/sdk/dotnet/MemoryDb/Inputs/MultiRegionClusterTimeoutsArgs.cs
@@ -0,0 +1,38 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.Aws.MemoryDb.Inputs
+{
+
+ public sealed class MultiRegionClusterTimeoutsArgs : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
+ ///
+ [Input("create")]
+ public Input? Create { get; set; }
+
+ ///
+ /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
+ ///
+ [Input("delete")]
+ public Input? Delete { get; set; }
+
+ ///
+ /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
+ ///
+ [Input("update")]
+ public Input? Update { get; set; }
+
+ public MultiRegionClusterTimeoutsArgs()
+ {
+ }
+ public static new MultiRegionClusterTimeoutsArgs Empty => new MultiRegionClusterTimeoutsArgs();
+ }
+}
diff --git a/sdk/dotnet/MemoryDb/Inputs/MultiRegionClusterTimeoutsGetArgs.cs b/sdk/dotnet/MemoryDb/Inputs/MultiRegionClusterTimeoutsGetArgs.cs
new file mode 100644
index 00000000000..f2faa2f2fc1
--- /dev/null
+++ b/sdk/dotnet/MemoryDb/Inputs/MultiRegionClusterTimeoutsGetArgs.cs
@@ -0,0 +1,38 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.Aws.MemoryDb.Inputs
+{
+
+ public sealed class MultiRegionClusterTimeoutsGetArgs : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
+ ///
+ [Input("create")]
+ public Input? Create { get; set; }
+
+ ///
+ /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
+ ///
+ [Input("delete")]
+ public Input? Delete { get; set; }
+
+ ///
+ /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
+ ///
+ [Input("update")]
+ public Input? Update { get; set; }
+
+ public MultiRegionClusterTimeoutsGetArgs()
+ {
+ }
+ public static new MultiRegionClusterTimeoutsGetArgs Empty => new MultiRegionClusterTimeoutsGetArgs();
+ }
+}
diff --git a/sdk/dotnet/MemoryDb/MultiRegionCluster.cs b/sdk/dotnet/MemoryDb/MultiRegionCluster.cs
new file mode 100644
index 00000000000..14d0ec63fbe
--- /dev/null
+++ b/sdk/dotnet/MemoryDb/MultiRegionCluster.cs
@@ -0,0 +1,369 @@
+// *** 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.Aws.MemoryDb
+{
+ ///
+ /// Provides a MemoryDB Multi Region Cluster.
+ ///
+ /// More information about MemoryDB can be found in the [Developer Guide](https://docs.aws.amazon.com/memorydb/latest/devguide/what-is-memorydb-for-redis.html).
+ ///
+ /// ## Example Usage
+ ///
+ /// ```csharp
+ /// using System.Collections.Generic;
+ /// using System.Linq;
+ /// using Pulumi;
+ /// using Aws = Pulumi.Aws;
+ ///
+ /// return await Deployment.RunAsync(() =>
+ /// {
+ /// var example = new Aws.MemoryDb.MultiRegionCluster("example", new()
+ /// {
+ /// MultiRegionClusterNameSuffix = "example",
+ /// NodeType = "db.r7g.xlarge",
+ /// });
+ ///
+ /// var exampleCluster = new Aws.MemoryDb.Cluster("example", new()
+ /// {
+ /// AclName = exampleAwsMemorydbAcl.Id,
+ /// AutoMinorVersionUpgrade = false,
+ /// Name = "example",
+ /// NodeType = "db.t4g.small",
+ /// NumShards = 2,
+ /// SecurityGroupIds = new[]
+ /// {
+ /// exampleAwsSecurityGroup.Id,
+ /// },
+ /// SnapshotRetentionLimit = 7,
+ /// SubnetGroupName = exampleAwsMemorydbSubnetGroup.Id,
+ /// MultiRegionClusterName = example.MultiRegionClusterName,
+ /// });
+ ///
+ /// });
+ /// ```
+ ///
+ /// ## Import
+ ///
+ /// Using `pulumi import`, import a cluster using the `multi_region_cluster_name`. For example:
+ ///
+ /// ```sh
+ /// $ pulumi import aws:memorydb/multiRegionCluster:MultiRegionCluster example virxk-example
+ /// ```
+ ///
+ [AwsResourceType("aws:memorydb/multiRegionCluster:MultiRegionCluster")]
+ public partial class MultiRegionCluster : global::Pulumi.CustomResource
+ {
+ ///
+ /// The ARN of the multi-region cluster.
+ ///
+ [Output("arn")]
+ public Output Arn { get; private set; } = null!;
+
+ ///
+ /// description for the multi-region cluster.
+ ///
+ [Output("description")]
+ public Output Description { get; private set; } = null!;
+
+ ///
+ /// The name of the engine to be used for the multi-region cluster. Valid values are `redis` and `valkey`.
+ ///
+ [Output("engine")]
+ public Output Engine { get; private set; } = null!;
+
+ ///
+ /// The version of the engine to be used for the multi-region cluster. Downgrades are not supported.
+ ///
+ [Output("engineVersion")]
+ public Output EngineVersion { get; private set; } = null!;
+
+ ///
+ /// The name of the multi-region cluster.
+ ///
+ [Output("multiRegionClusterName")]
+ public Output MultiRegionClusterName { get; private set; } = null!;
+
+ ///
+ /// A suffix to be added to the multi-region cluster name. An AWS generated prefix is automatically applied to the multi-region cluster name when it is created.
+ ///
+ [Output("multiRegionClusterNameSuffix")]
+ public Output MultiRegionClusterNameSuffix { get; private set; } = null!;
+
+ ///
+ /// The name of the multi-region parameter group to be associated with the cluster.
+ ///
+ [Output("multiRegionParameterGroupName")]
+ public Output MultiRegionParameterGroupName { get; private set; } = null!;
+
+ ///
+ /// The node type to be used for the multi-region cluster.
+ ///
+ /// The following arguments are optional:
+ ///
+ [Output("nodeType")]
+ public Output NodeType { get; private set; } = null!;
+
+ ///
+ /// The number of shards for the multi-region cluster.
+ ///
+ [Output("numShards")]
+ public Output NumShards { get; private set; } = null!;
+
+ [Output("status")]
+ public Output Status { get; private set; } = null!;
+
+ ///
+ /// A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
+ ///
+ [Output("tags")]
+ public Output?> Tags { get; private set; } = null!;
+
+ ///
+ /// A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
+ ///
+ [Output("tagsAll")]
+ public Output> TagsAll { get; private set; } = null!;
+
+ [Output("timeouts")]
+ public Output Timeouts { get; private set; } = null!;
+
+ ///
+ /// A flag to enable in-transit encryption on the cluster.
+ ///
+ [Output("tlsEnabled")]
+ public Output TlsEnabled { get; private set; } = null!;
+
+ [Output("updateStrategy")]
+ public Output UpdateStrategy { get; private set; } = null!;
+
+
+ ///
+ /// Create a MultiRegionCluster resource with the given unique name, arguments, and options.
+ ///
+ ///
+ /// The unique name of the resource
+ /// The arguments used to populate this resource's properties
+ /// A bag of options that control this resource's behavior
+ public MultiRegionCluster(string name, MultiRegionClusterArgs args, CustomResourceOptions? options = null)
+ : base("aws:memorydb/multiRegionCluster:MultiRegionCluster", name, args ?? new MultiRegionClusterArgs(), MakeResourceOptions(options, ""))
+ {
+ }
+
+ private MultiRegionCluster(string name, Input id, MultiRegionClusterState? state = null, CustomResourceOptions? options = null)
+ : base("aws:memorydb/multiRegionCluster:MultiRegionCluster", name, state, MakeResourceOptions(options, id))
+ {
+ }
+
+ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id)
+ {
+ var defaultOptions = new CustomResourceOptions
+ {
+ Version = Utilities.Version,
+ };
+ var merged = CustomResourceOptions.Merge(defaultOptions, options);
+ // Override the ID if one was specified for consistency with other language SDKs.
+ merged.Id = id ?? merged.Id;
+ return merged;
+ }
+ ///
+ /// Get an existing MultiRegionCluster resource's state with the given name, ID, and optional extra
+ /// properties used to qualify the lookup.
+ ///
+ ///
+ /// The unique name of the resulting resource.
+ /// The unique provider ID of the resource to lookup.
+ /// Any extra arguments used during the lookup.
+ /// A bag of options that control this resource's behavior
+ public static MultiRegionCluster Get(string name, Input id, MultiRegionClusterState? state = null, CustomResourceOptions? options = null)
+ {
+ return new MultiRegionCluster(name, id, state, options);
+ }
+ }
+
+ public sealed class MultiRegionClusterArgs : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// description for the multi-region cluster.
+ ///
+ [Input("description")]
+ public Input? Description { get; set; }
+
+ ///
+ /// The name of the engine to be used for the multi-region cluster. Valid values are `redis` and `valkey`.
+ ///
+ [Input("engine")]
+ public Input? Engine { get; set; }
+
+ ///
+ /// The version of the engine to be used for the multi-region cluster. Downgrades are not supported.
+ ///
+ [Input("engineVersion")]
+ public Input? EngineVersion { get; set; }
+
+ ///
+ /// A suffix to be added to the multi-region cluster name. An AWS generated prefix is automatically applied to the multi-region cluster name when it is created.
+ ///
+ [Input("multiRegionClusterNameSuffix", required: true)]
+ public Input MultiRegionClusterNameSuffix { get; set; } = null!;
+
+ ///
+ /// The name of the multi-region parameter group to be associated with the cluster.
+ ///
+ [Input("multiRegionParameterGroupName")]
+ public Input? MultiRegionParameterGroupName { get; set; }
+
+ ///
+ /// The node type to be used for the multi-region cluster.
+ ///
+ /// The following arguments are optional:
+ ///
+ [Input("nodeType", required: true)]
+ public Input NodeType { get; set; } = null!;
+
+ ///
+ /// The number of shards for the multi-region cluster.
+ ///
+ [Input("numShards")]
+ public Input? NumShards { get; set; }
+
+ [Input("tags")]
+ private InputMap? _tags;
+
+ ///
+ /// A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
+ ///
+ public InputMap Tags
+ {
+ get => _tags ?? (_tags = new InputMap());
+ set => _tags = value;
+ }
+
+ [Input("timeouts")]
+ public Input? Timeouts { get; set; }
+
+ ///
+ /// A flag to enable in-transit encryption on the cluster.
+ ///
+ [Input("tlsEnabled")]
+ public Input? TlsEnabled { get; set; }
+
+ [Input("updateStrategy")]
+ public Input? UpdateStrategy { get; set; }
+
+ public MultiRegionClusterArgs()
+ {
+ }
+ public static new MultiRegionClusterArgs Empty => new MultiRegionClusterArgs();
+ }
+
+ public sealed class MultiRegionClusterState : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// The ARN of the multi-region cluster.
+ ///
+ [Input("arn")]
+ public Input? Arn { get; set; }
+
+ ///
+ /// description for the multi-region cluster.
+ ///
+ [Input("description")]
+ public Input? Description { get; set; }
+
+ ///
+ /// The name of the engine to be used for the multi-region cluster. Valid values are `redis` and `valkey`.
+ ///
+ [Input("engine")]
+ public Input? Engine { get; set; }
+
+ ///
+ /// The version of the engine to be used for the multi-region cluster. Downgrades are not supported.
+ ///
+ [Input("engineVersion")]
+ public Input? EngineVersion { get; set; }
+
+ ///
+ /// The name of the multi-region cluster.
+ ///
+ [Input("multiRegionClusterName")]
+ public Input? MultiRegionClusterName { get; set; }
+
+ ///
+ /// A suffix to be added to the multi-region cluster name. An AWS generated prefix is automatically applied to the multi-region cluster name when it is created.
+ ///
+ [Input("multiRegionClusterNameSuffix")]
+ public Input? MultiRegionClusterNameSuffix { get; set; }
+
+ ///
+ /// The name of the multi-region parameter group to be associated with the cluster.
+ ///
+ [Input("multiRegionParameterGroupName")]
+ public Input? MultiRegionParameterGroupName { get; set; }
+
+ ///
+ /// The node type to be used for the multi-region cluster.
+ ///
+ /// The following arguments are optional:
+ ///
+ [Input("nodeType")]
+ public Input? NodeType { get; set; }
+
+ ///
+ /// The number of shards for the multi-region cluster.
+ ///
+ [Input("numShards")]
+ public Input? NumShards { get; set; }
+
+ [Input("status")]
+ public Input? Status { get; set; }
+
+ [Input("tags")]
+ private InputMap? _tags;
+
+ ///
+ /// A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
+ ///
+ public InputMap Tags
+ {
+ get => _tags ?? (_tags = new InputMap());
+ set => _tags = value;
+ }
+
+ [Input("tagsAll")]
+ private InputMap? _tagsAll;
+
+ ///
+ /// A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
+ ///
+ [Obsolete(@"Please use `tags` instead.")]
+ public InputMap TagsAll
+ {
+ get => _tagsAll ?? (_tagsAll = new InputMap());
+ set => _tagsAll = value;
+ }
+
+ [Input("timeouts")]
+ public Input? Timeouts { get; set; }
+
+ ///
+ /// A flag to enable in-transit encryption on the cluster.
+ ///
+ [Input("tlsEnabled")]
+ public Input? TlsEnabled { get; set; }
+
+ [Input("updateStrategy")]
+ public Input? UpdateStrategy { get; set; }
+
+ public MultiRegionClusterState()
+ {
+ }
+ public static new MultiRegionClusterState Empty => new MultiRegionClusterState();
+ }
+}
diff --git a/sdk/dotnet/MemoryDb/Outputs/MultiRegionClusterTimeouts.cs b/sdk/dotnet/MemoryDb/Outputs/MultiRegionClusterTimeouts.cs
new file mode 100644
index 00000000000..01560535e8d
--- /dev/null
+++ b/sdk/dotnet/MemoryDb/Outputs/MultiRegionClusterTimeouts.cs
@@ -0,0 +1,42 @@
+// *** 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.Aws.MemoryDb.Outputs
+{
+
+ [OutputType]
+ public sealed class MultiRegionClusterTimeouts
+ {
+ ///
+ /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
+ ///
+ public readonly string? Create;
+ ///
+ /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
+ ///
+ public readonly string? Delete;
+ ///
+ /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
+ ///
+ public readonly string? Update;
+
+ [OutputConstructor]
+ private MultiRegionClusterTimeouts(
+ string? create,
+
+ string? delete,
+
+ string? update)
+ {
+ Create = create;
+ Delete = delete;
+ Update = update;
+ }
+ }
+}
diff --git a/sdk/dotnet/NetworkManager/AttachmentAccepter.cs b/sdk/dotnet/NetworkManager/AttachmentAccepter.cs
index 9fca2f81ef2..bd74bccb5fc 100644
--- a/sdk/dotnet/NetworkManager/AttachmentAccepter.cs
+++ b/sdk/dotnet/NetworkManager/AttachmentAccepter.cs
@@ -86,11 +86,17 @@ public partial class AttachmentAccepter : global::Pulumi.CustomResource
public Output CoreNetworkId { get; private set; } = null!;
///
- /// The Region where the edge is located.
+ /// The Region where the edge is located. This is returned for all attachment types except a Direct Connect gateway attachment, which instead returns `edge_locations`.
///
[Output("edgeLocation")]
public Output EdgeLocation { get; private set; } = null!;
+ ///
+ /// The edge locations that the Direct Connect gateway is associated with. This is returned only for Direct Connect gateway attachments. All other attachment types return `edge_location`
+ ///
+ [Output("edgeLocations")]
+ public Output> EdgeLocations { get; private set; } = null!;
+
///
/// The ID of the attachment account owner.
///
@@ -212,11 +218,23 @@ public sealed class AttachmentAccepterState : global::Pulumi.ResourceArgs
public Input? CoreNetworkId { get; set; }
///
- /// The Region where the edge is located.
+ /// The Region where the edge is located. This is returned for all attachment types except a Direct Connect gateway attachment, which instead returns `edge_locations`.
///
[Input("edgeLocation")]
public Input? EdgeLocation { get; set; }
+ [Input("edgeLocations")]
+ private InputList? _edgeLocations;
+
+ ///
+ /// The edge locations that the Direct Connect gateway is associated with. This is returned only for Direct Connect gateway attachments. All other attachment types return `edge_location`
+ ///
+ public InputList EdgeLocations
+ {
+ get => _edgeLocations ?? (_edgeLocations = new InputList());
+ set => _edgeLocations = value;
+ }
+
///
/// The ID of the attachment account owner.
///
diff --git a/sdk/dotnet/NetworkManager/DxGatewayAttachment.cs b/sdk/dotnet/NetworkManager/DxGatewayAttachment.cs
new file mode 100644
index 00000000000..5884b3b498b
--- /dev/null
+++ b/sdk/dotnet/NetworkManager/DxGatewayAttachment.cs
@@ -0,0 +1,318 @@
+// *** 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.Aws.NetworkManager
+{
+ ///
+ /// Resource for managing an AWS Network Manager Direct Connect (DX) Gateway Attachment.
+ ///
+ /// ## Example Usage
+ ///
+ /// ### Basic Usage
+ ///
+ /// ```csharp
+ /// using System.Collections.Generic;
+ /// using System.Linq;
+ /// using Pulumi;
+ /// using Aws = Pulumi.Aws;
+ ///
+ /// return await Deployment.RunAsync(() =>
+ /// {
+ /// var test = new Aws.NetworkManager.DxGatewayAttachment("test", new()
+ /// {
+ /// CoreNetworkId = testAwsNetworkmanagerCoreNetworkPolicyAttachment.CoreNetworkId,
+ /// DirectConnectGatewayArn = $"arn:aws:directconnect::{current.AccountId}:dx-gateway/{testAwsDxGateway.Id}",
+ /// EdgeLocations = new[]
+ /// {
+ /// currentAwsRegion.Name,
+ /// },
+ /// });
+ ///
+ /// });
+ /// ```
+ ///
+ /// ## Import
+ ///
+ /// Using `pulumi import`, import Network Manager DX Gateway Attachment using the `id`. For example:
+ ///
+ /// ```sh
+ /// $ pulumi import aws:networkmanager/dxGatewayAttachment:DxGatewayAttachment example attachment-1a2b3c4d5e6f7g
+ /// ```
+ ///
+ [AwsResourceType("aws:networkmanager/dxGatewayAttachment:DxGatewayAttachment")]
+ public partial class DxGatewayAttachment : global::Pulumi.CustomResource
+ {
+ [Output("arn")]
+ public Output Arn { get; private set; } = null!;
+
+ ///
+ /// Policy rule number associated with the attachment.
+ ///
+ [Output("attachmentPolicyRuleNumber")]
+ public Output AttachmentPolicyRuleNumber { get; private set; } = null!;
+
+ ///
+ /// Type of attachment.
+ ///
+ [Output("attachmentType")]
+ public Output AttachmentType { get; private set; } = null!;
+
+ ///
+ /// ARN of the core network for the attachment.
+ ///
+ [Output("coreNetworkArn")]
+ public Output CoreNetworkArn { get; private set; } = null!;
+
+ ///
+ /// ID of the Cloud WAN core network to which the Direct Connect gateway attachment should be attached.
+ ///
+ [Output("coreNetworkId")]
+ public Output CoreNetworkId { get; private set; } = null!;
+
+ ///
+ /// ARN of the Direct Connect gateway attachment.
+ ///
+ [Output("directConnectGatewayArn")]
+ public Output DirectConnectGatewayArn { get; private set; } = null!;
+
+ ///
+ /// One or more core network edge locations to associate with the Direct Connect gateway attachment.
+ ///
+ /// The following arguments are optional:
+ ///
+ [Output("edgeLocations")]
+ public Output> EdgeLocations { get; private set; } = null!;
+
+ ///
+ /// ID of the attachment account owner.
+ ///
+ [Output("ownerAccountId")]
+ public Output OwnerAccountId { get; private set; } = null!;
+
+ ///
+ /// Name of the segment attachment.
+ ///
+ [Output("segmentName")]
+ public Output SegmentName { get; private set; } = null!;
+
+ ///
+ /// State of the attachment.
+ ///
+ [Output("state")]
+ public Output State { get; private set; } = null!;
+
+ ///
+ /// Key-value tags for the attachment. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
+ ///
+ [Output("tags")]
+ public Output?> Tags { get; private set; } = null!;
+
+ ///
+ /// A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
+ ///
+ [Output("tagsAll")]
+ public Output> TagsAll { get; private set; } = null!;
+
+ [Output("timeouts")]
+ public Output Timeouts { get; private set; } = null!;
+
+
+ ///
+ /// Create a DxGatewayAttachment resource with the given unique name, arguments, and options.
+ ///
+ ///
+ /// The unique name of the resource
+ /// The arguments used to populate this resource's properties
+ /// A bag of options that control this resource's behavior
+ public DxGatewayAttachment(string name, DxGatewayAttachmentArgs args, CustomResourceOptions? options = null)
+ : base("aws:networkmanager/dxGatewayAttachment:DxGatewayAttachment", name, args ?? new DxGatewayAttachmentArgs(), MakeResourceOptions(options, ""))
+ {
+ }
+
+ private DxGatewayAttachment(string name, Input id, DxGatewayAttachmentState? state = null, CustomResourceOptions? options = null)
+ : base("aws:networkmanager/dxGatewayAttachment:DxGatewayAttachment", name, state, MakeResourceOptions(options, id))
+ {
+ }
+
+ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id)
+ {
+ var defaultOptions = new CustomResourceOptions
+ {
+ Version = Utilities.Version,
+ };
+ var merged = CustomResourceOptions.Merge(defaultOptions, options);
+ // Override the ID if one was specified for consistency with other language SDKs.
+ merged.Id = id ?? merged.Id;
+ return merged;
+ }
+ ///
+ /// Get an existing DxGatewayAttachment resource's state with the given name, ID, and optional extra
+ /// properties used to qualify the lookup.
+ ///
+ ///
+ /// The unique name of the resulting resource.
+ /// The unique provider ID of the resource to lookup.
+ /// Any extra arguments used during the lookup.
+ /// A bag of options that control this resource's behavior
+ public static DxGatewayAttachment Get(string name, Input id, DxGatewayAttachmentState? state = null, CustomResourceOptions? options = null)
+ {
+ return new DxGatewayAttachment(name, id, state, options);
+ }
+ }
+
+ public sealed class DxGatewayAttachmentArgs : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// ID of the Cloud WAN core network to which the Direct Connect gateway attachment should be attached.
+ ///
+ [Input("coreNetworkId", required: true)]
+ public Input CoreNetworkId { get; set; } = null!;
+
+ ///
+ /// ARN of the Direct Connect gateway attachment.
+ ///
+ [Input("directConnectGatewayArn", required: true)]
+ public Input DirectConnectGatewayArn { get; set; } = null!;
+
+ [Input("edgeLocations", required: true)]
+ private InputList? _edgeLocations;
+
+ ///
+ /// One or more core network edge locations to associate with the Direct Connect gateway attachment.
+ ///
+ /// The following arguments are optional:
+ ///
+ public InputList EdgeLocations
+ {
+ get => _edgeLocations ?? (_edgeLocations = new InputList());
+ set => _edgeLocations = value;
+ }
+
+ [Input("tags")]
+ private InputMap? _tags;
+
+ ///
+ /// Key-value tags for the attachment. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
+ ///
+ public InputMap Tags
+ {
+ get => _tags ?? (_tags = new InputMap());
+ set => _tags = value;
+ }
+
+ [Input("timeouts")]
+ public Input? Timeouts { get; set; }
+
+ public DxGatewayAttachmentArgs()
+ {
+ }
+ public static new DxGatewayAttachmentArgs Empty => new DxGatewayAttachmentArgs();
+ }
+
+ public sealed class DxGatewayAttachmentState : global::Pulumi.ResourceArgs
+ {
+ [Input("arn")]
+ public Input? Arn { get; set; }
+
+ ///
+ /// Policy rule number associated with the attachment.
+ ///
+ [Input("attachmentPolicyRuleNumber")]
+ public Input? AttachmentPolicyRuleNumber { get; set; }
+
+ ///
+ /// Type of attachment.
+ ///
+ [Input("attachmentType")]
+ public Input? AttachmentType { get; set; }
+
+ ///
+ /// ARN of the core network for the attachment.
+ ///
+ [Input("coreNetworkArn")]
+ public Input? CoreNetworkArn { get; set; }
+
+ ///
+ /// ID of the Cloud WAN core network to which the Direct Connect gateway attachment should be attached.
+ ///
+ [Input("coreNetworkId")]
+ public Input? CoreNetworkId { get; set; }
+
+ ///
+ /// ARN of the Direct Connect gateway attachment.
+ ///
+ [Input("directConnectGatewayArn")]
+ public Input? DirectConnectGatewayArn { get; set; }
+
+ [Input("edgeLocations")]
+ private InputList? _edgeLocations;
+
+ ///
+ /// One or more core network edge locations to associate with the Direct Connect gateway attachment.
+ ///
+ /// The following arguments are optional:
+ ///
+ public InputList EdgeLocations
+ {
+ get => _edgeLocations ?? (_edgeLocations = new InputList());
+ set => _edgeLocations = value;
+ }
+
+ ///
+ /// ID of the attachment account owner.
+ ///
+ [Input("ownerAccountId")]
+ public Input? OwnerAccountId { get; set; }
+
+ ///
+ /// Name of the segment attachment.
+ ///
+ [Input("segmentName")]
+ public Input? SegmentName { get; set; }
+
+ ///
+ /// State of the attachment.
+ ///
+ [Input("state")]
+ public Input? State { get; set; }
+
+ [Input("tags")]
+ private InputMap? _tags;
+
+ ///
+ /// Key-value tags for the attachment. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
+ ///
+ public InputMap Tags
+ {
+ get => _tags ?? (_tags = new InputMap());
+ set => _tags = value;
+ }
+
+ [Input("tagsAll")]
+ private InputMap? _tagsAll;
+
+ ///
+ /// A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
+ ///
+ [Obsolete(@"Please use `tags` instead.")]
+ public InputMap TagsAll
+ {
+ get => _tagsAll ?? (_tagsAll = new InputMap());
+ set => _tagsAll = value;
+ }
+
+ [Input("timeouts")]
+ public Input? Timeouts { get; set; }
+
+ public DxGatewayAttachmentState()
+ {
+ }
+ public static new DxGatewayAttachmentState Empty => new DxGatewayAttachmentState();
+ }
+}
diff --git a/sdk/dotnet/NetworkManager/Inputs/DxGatewayAttachmentTimeoutsArgs.cs b/sdk/dotnet/NetworkManager/Inputs/DxGatewayAttachmentTimeoutsArgs.cs
new file mode 100644
index 00000000000..ac3f0fbc114
--- /dev/null
+++ b/sdk/dotnet/NetworkManager/Inputs/DxGatewayAttachmentTimeoutsArgs.cs
@@ -0,0 +1,38 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.Aws.NetworkManager.Inputs
+{
+
+ public sealed class DxGatewayAttachmentTimeoutsArgs : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
+ ///
+ [Input("create")]
+ public Input? Create { get; set; }
+
+ ///
+ /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
+ ///
+ [Input("delete")]
+ public Input? Delete { get; set; }
+
+ ///
+ /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
+ ///
+ [Input("update")]
+ public Input? Update { get; set; }
+
+ public DxGatewayAttachmentTimeoutsArgs()
+ {
+ }
+ public static new DxGatewayAttachmentTimeoutsArgs Empty => new DxGatewayAttachmentTimeoutsArgs();
+ }
+}
diff --git a/sdk/dotnet/NetworkManager/Inputs/DxGatewayAttachmentTimeoutsGetArgs.cs b/sdk/dotnet/NetworkManager/Inputs/DxGatewayAttachmentTimeoutsGetArgs.cs
new file mode 100644
index 00000000000..9bbef7a7a1b
--- /dev/null
+++ b/sdk/dotnet/NetworkManager/Inputs/DxGatewayAttachmentTimeoutsGetArgs.cs
@@ -0,0 +1,38 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.Aws.NetworkManager.Inputs
+{
+
+ public sealed class DxGatewayAttachmentTimeoutsGetArgs : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
+ ///
+ [Input("create")]
+ public Input? Create { get; set; }
+
+ ///
+ /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
+ ///
+ [Input("delete")]
+ public Input? Delete { get; set; }
+
+ ///
+ /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
+ ///
+ [Input("update")]
+ public Input? Update { get; set; }
+
+ public DxGatewayAttachmentTimeoutsGetArgs()
+ {
+ }
+ public static new DxGatewayAttachmentTimeoutsGetArgs Empty => new DxGatewayAttachmentTimeoutsGetArgs();
+ }
+}
diff --git a/sdk/dotnet/NetworkManager/Outputs/DxGatewayAttachmentTimeouts.cs b/sdk/dotnet/NetworkManager/Outputs/DxGatewayAttachmentTimeouts.cs
new file mode 100644
index 00000000000..a4c49df0ee9
--- /dev/null
+++ b/sdk/dotnet/NetworkManager/Outputs/DxGatewayAttachmentTimeouts.cs
@@ -0,0 +1,42 @@
+// *** 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.Aws.NetworkManager.Outputs
+{
+
+ [OutputType]
+ public sealed class DxGatewayAttachmentTimeouts
+ {
+ ///
+ /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
+ ///
+ public readonly string? Create;
+ ///
+ /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
+ ///
+ public readonly string? Delete;
+ ///
+ /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
+ ///
+ public readonly string? Update;
+
+ [OutputConstructor]
+ private DxGatewayAttachmentTimeouts(
+ string? create,
+
+ string? delete,
+
+ string? update)
+ {
+ Create = create;
+ Delete = delete;
+ Update = update;
+ }
+ }
+}
diff --git a/sdk/dotnet/Rds/Cluster.cs b/sdk/dotnet/Rds/Cluster.cs
index 3b2b3c11ca7..33e57325846 100644
--- a/sdk/dotnet/Rds/Cluster.cs
+++ b/sdk/dotnet/Rds/Cluster.cs
@@ -588,19 +588,19 @@ public partial class Cluster : global::Pulumi.CustomResource
public Output NetworkType { get; private set; } = null!;
///
- /// Valid only for Non-Aurora Multi-AZ DB Clusters. Enables Performance Insights for the RDS Cluster
+ /// Enables Performance Insights for the RDS Cluster
///
[Output("performanceInsightsEnabled")]
public Output PerformanceInsightsEnabled { get; private set; } = null!;
///
- /// Valid only for Non-Aurora Multi-AZ DB Clusters. Specifies the KMS Key ID to encrypt Performance Insights data. If not specified, the default RDS KMS key will be used (`aws/rds`).
+ /// Specifies the KMS Key ID to encrypt Performance Insights data. If not specified, the default RDS KMS key will be used (`aws/rds`).
///
[Output("performanceInsightsKmsKeyId")]
public Output PerformanceInsightsKmsKeyId { get; private set; } = null!;
///
- /// Valid only for Non-Aurora Multi-AZ DB Clusters. Specifies the amount of time to retain performance insights data for. Defaults to 7 days if Performance Insights are enabled. Valid values are `7`, `month * 31` (where month is a number of months from 1-23), and `731`. See [here](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.Overview.cost.html) for more information on retention periods.
+ /// Specifies the amount of time to retain performance insights data for. Defaults to 7 days if Performance Insights are enabled. Valid values are `7`, `month * 31` (where month is a number of months from 1-23), and `731`. See [here](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.Overview.cost.html) for more information on retention periods.
///
[Output("performanceInsightsRetentionPeriod")]
public Output PerformanceInsightsRetentionPeriod { get; private set; } = null!;
@@ -1036,19 +1036,19 @@ public Input? MasterPassword
public Input? NetworkType { get; set; }
///
- /// Valid only for Non-Aurora Multi-AZ DB Clusters. Enables Performance Insights for the RDS Cluster
+ /// Enables Performance Insights for the RDS Cluster
///
[Input("performanceInsightsEnabled")]
public Input? PerformanceInsightsEnabled { get; set; }
///
- /// Valid only for Non-Aurora Multi-AZ DB Clusters. Specifies the KMS Key ID to encrypt Performance Insights data. If not specified, the default RDS KMS key will be used (`aws/rds`).
+ /// Specifies the KMS Key ID to encrypt Performance Insights data. If not specified, the default RDS KMS key will be used (`aws/rds`).
///
[Input("performanceInsightsKmsKeyId")]
public Input? PerformanceInsightsKmsKeyId { get; set; }
///
- /// Valid only for Non-Aurora Multi-AZ DB Clusters. Specifies the amount of time to retain performance insights data for. Defaults to 7 days if Performance Insights are enabled. Valid values are `7`, `month * 31` (where month is a number of months from 1-23), and `731`. See [here](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.Overview.cost.html) for more information on retention periods.
+ /// Specifies the amount of time to retain performance insights data for. Defaults to 7 days if Performance Insights are enabled. Valid values are `7`, `month * 31` (where month is a number of months from 1-23), and `731`. See [here](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.Overview.cost.html) for more information on retention periods.
///
[Input("performanceInsightsRetentionPeriod")]
public Input? PerformanceInsightsRetentionPeriod { get; set; }
@@ -1489,19 +1489,19 @@ public InputList MasterUserSecrets
public Input? NetworkType { get; set; }
///
- /// Valid only for Non-Aurora Multi-AZ DB Clusters. Enables Performance Insights for the RDS Cluster
+ /// Enables Performance Insights for the RDS Cluster
///
[Input("performanceInsightsEnabled")]
public Input? PerformanceInsightsEnabled { get; set; }
///
- /// Valid only for Non-Aurora Multi-AZ DB Clusters. Specifies the KMS Key ID to encrypt Performance Insights data. If not specified, the default RDS KMS key will be used (`aws/rds`).
+ /// Specifies the KMS Key ID to encrypt Performance Insights data. If not specified, the default RDS KMS key will be used (`aws/rds`).
///
[Input("performanceInsightsKmsKeyId")]
public Input? PerformanceInsightsKmsKeyId { get; set; }
///
- /// Valid only for Non-Aurora Multi-AZ DB Clusters. Specifies the amount of time to retain performance insights data for. Defaults to 7 days if Performance Insights are enabled. Valid values are `7`, `month * 31` (where month is a number of months from 1-23), and `731`. See [here](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.Overview.cost.html) for more information on retention periods.
+ /// Specifies the amount of time to retain performance insights data for. Defaults to 7 days if Performance Insights are enabled. Valid values are `7`, `month * 31` (where month is a number of months from 1-23), and `731`. See [here](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.Overview.cost.html) for more information on retention periods.
///
[Input("performanceInsightsRetentionPeriod")]
public Input? PerformanceInsightsRetentionPeriod { get; set; }
diff --git a/sdk/dotnet/Rds/ClusterSnapshotCopy.cs b/sdk/dotnet/Rds/ClusterSnapshotCopy.cs
new file mode 100644
index 00000000000..936c2b95d20
--- /dev/null
+++ b/sdk/dotnet/Rds/ClusterSnapshotCopy.cs
@@ -0,0 +1,424 @@
+// *** 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.Aws.Rds
+{
+ ///
+ /// Manages an RDS database cluster snapshot copy. For managing RDS database instance snapshot copies, see the `aws.rds.SnapshotCopy` resource.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```csharp
+ /// using System.Collections.Generic;
+ /// using System.Linq;
+ /// using Pulumi;
+ /// using Aws = Pulumi.Aws;
+ ///
+ /// return await Deployment.RunAsync(() =>
+ /// {
+ /// var example = new Aws.Rds.Cluster("example", new()
+ /// {
+ /// ClusterIdentifier = "aurora-cluster-demo",
+ /// DatabaseName = "test",
+ /// Engine = Aws.Rds.EngineType.AuroraMysql,
+ /// MasterUsername = "tfacctest",
+ /// MasterPassword = "avoid-plaintext-passwords",
+ /// SkipFinalSnapshot = true,
+ /// });
+ ///
+ /// var exampleClusterSnapshot = new Aws.Rds.ClusterSnapshot("example", new()
+ /// {
+ /// DbClusterIdentifier = example.ClusterIdentifier,
+ /// DbClusterSnapshotIdentifier = "example",
+ /// });
+ ///
+ /// var exampleClusterSnapshotCopy = new Aws.Rds.ClusterSnapshotCopy("example", new()
+ /// {
+ /// SourceDbClusterSnapshotIdentifier = exampleClusterSnapshot.DbClusterSnapshotArn,
+ /// TargetDbClusterSnapshotIdentifier = "example-copy",
+ /// });
+ ///
+ /// });
+ /// ```
+ ///
+ /// ## Import
+ ///
+ /// Using `pulumi import`, import `aws_rds_cluster_snapshot_copy` using the `id`. For example:
+ ///
+ /// ```sh
+ /// $ pulumi import aws:rds/clusterSnapshotCopy:ClusterSnapshotCopy example my-snapshot
+ /// ```
+ ///
+ [AwsResourceType("aws:rds/clusterSnapshotCopy:ClusterSnapshotCopy")]
+ public partial class ClusterSnapshotCopy : global::Pulumi.CustomResource
+ {
+ ///
+ /// Specifies the allocated storage size in gigabytes (GB).
+ ///
+ [Output("allocatedStorage")]
+ public Output AllocatedStorage { get; private set; } = null!;
+
+ ///
+ /// Whether to copy existing tags. Defaults to `false`.
+ ///
+ [Output("copyTags")]
+ public Output CopyTags { get; private set; } = null!;
+
+ ///
+ /// The Amazon Resource Name (ARN) for the DB cluster snapshot.
+ ///
+ [Output("dbClusterSnapshotArn")]
+ public Output DbClusterSnapshotArn { get; private set; } = null!;
+
+ ///
+ /// The Destination region to place snapshot copy.
+ ///
+ [Output("destinationRegion")]
+ public Output DestinationRegion { get; private set; } = null!;
+
+ ///
+ /// Specifies the name of the database engine.
+ ///
+ [Output("engine")]
+ public Output Engine { get; private set; } = null!;
+
+ ///
+ /// Specifies the version of the database engine.
+ ///
+ [Output("engineVersion")]
+ public Output EngineVersion { get; private set; } = null!;
+
+ ///
+ /// KMS key ID.
+ ///
+ [Output("kmsKeyId")]
+ public Output KmsKeyId { get; private set; } = null!;
+
+ ///
+ /// License model information for the restored DB instance.
+ ///
+ [Output("licenseModel")]
+ public Output LicenseModel { get; private set; } = null!;
+
+ ///
+ /// URL that contains a Signature Version 4 signed request.
+ ///
+ [Output("presignedUrl")]
+ public Output PresignedUrl { get; private set; } = null!;
+
+ ///
+ /// List of AWS Account IDs to share the snapshot with. Use `all` to make the snapshot public.
+ ///
+ [Output("sharedAccounts")]
+ public Output> SharedAccounts { get; private set; } = null!;
+
+ [Output("snapshotType")]
+ public Output SnapshotType { get; private set; } = null!;
+
+ ///
+ /// Identifier of the source snapshot.
+ ///
+ [Output("sourceDbClusterSnapshotIdentifier")]
+ public Output SourceDbClusterSnapshotIdentifier { get; private set; } = null!;
+
+ ///
+ /// Specifies whether the DB cluster snapshot is encrypted.
+ ///
+ [Output("storageEncrypted")]
+ public Output StorageEncrypted { get; private set; } = null!;
+
+ ///
+ /// Specifies the storage type associated with DB cluster snapshot.
+ ///
+ [Output("storageType")]
+ public Output StorageType { get; private set; } = null!;
+
+ ///
+ /// Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
+ ///
+ [Output("tags")]
+ public Output?> Tags { get; private set; } = null!;
+
+ ///
+ /// A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
+ ///
+ [Output("tagsAll")]
+ public Output> TagsAll { get; private set; } = null!;
+
+ ///
+ /// Identifier for the snapshot.
+ ///
+ /// The following arguments are optional:
+ ///
+ [Output("targetDbClusterSnapshotIdentifier")]
+ public Output TargetDbClusterSnapshotIdentifier { get; private set; } = null!;
+
+ [Output("timeouts")]
+ public Output Timeouts { get; private set; } = null!;
+
+ ///
+ /// Provides the VPC ID associated with the DB cluster snapshot.
+ ///
+ [Output("vpcId")]
+ public Output VpcId { get; private set; } = null!;
+
+
+ ///
+ /// Create a ClusterSnapshotCopy resource with the given unique name, arguments, and options.
+ ///
+ ///
+ /// The unique name of the resource
+ /// The arguments used to populate this resource's properties
+ /// A bag of options that control this resource's behavior
+ public ClusterSnapshotCopy(string name, ClusterSnapshotCopyArgs args, CustomResourceOptions? options = null)
+ : base("aws:rds/clusterSnapshotCopy:ClusterSnapshotCopy", name, args ?? new ClusterSnapshotCopyArgs(), MakeResourceOptions(options, ""))
+ {
+ }
+
+ private ClusterSnapshotCopy(string name, Input id, ClusterSnapshotCopyState? state = null, CustomResourceOptions? options = null)
+ : base("aws:rds/clusterSnapshotCopy:ClusterSnapshotCopy", name, state, MakeResourceOptions(options, id))
+ {
+ }
+
+ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id)
+ {
+ var defaultOptions = new CustomResourceOptions
+ {
+ Version = Utilities.Version,
+ };
+ var merged = CustomResourceOptions.Merge(defaultOptions, options);
+ // Override the ID if one was specified for consistency with other language SDKs.
+ merged.Id = id ?? merged.Id;
+ return merged;
+ }
+ ///
+ /// Get an existing ClusterSnapshotCopy resource's state with the given name, ID, and optional extra
+ /// properties used to qualify the lookup.
+ ///
+ ///
+ /// The unique name of the resulting resource.
+ /// The unique provider ID of the resource to lookup.
+ /// Any extra arguments used during the lookup.
+ /// A bag of options that control this resource's behavior
+ public static ClusterSnapshotCopy Get(string name, Input id, ClusterSnapshotCopyState? state = null, CustomResourceOptions? options = null)
+ {
+ return new ClusterSnapshotCopy(name, id, state, options);
+ }
+ }
+
+ public sealed class ClusterSnapshotCopyArgs : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// Whether to copy existing tags. Defaults to `false`.
+ ///
+ [Input("copyTags")]
+ public Input? CopyTags { get; set; }
+
+ ///
+ /// The Destination region to place snapshot copy.
+ ///
+ [Input("destinationRegion")]
+ public Input? DestinationRegion { get; set; }
+
+ ///
+ /// KMS key ID.
+ ///
+ [Input("kmsKeyId")]
+ public Input? KmsKeyId { get; set; }
+
+ ///
+ /// URL that contains a Signature Version 4 signed request.
+ ///
+ [Input("presignedUrl")]
+ public Input? PresignedUrl { get; set; }
+
+ [Input("sharedAccounts")]
+ private InputList? _sharedAccounts;
+
+ ///
+ /// List of AWS Account IDs to share the snapshot with. Use `all` to make the snapshot public.
+ ///
+ public InputList SharedAccounts
+ {
+ get => _sharedAccounts ?? (_sharedAccounts = new InputList());
+ set => _sharedAccounts = value;
+ }
+
+ ///
+ /// Identifier of the source snapshot.
+ ///
+ [Input("sourceDbClusterSnapshotIdentifier", required: true)]
+ public Input SourceDbClusterSnapshotIdentifier { get; set; } = null!;
+
+ [Input("tags")]
+ private InputMap? _tags;
+
+ ///
+ /// Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
+ ///
+ public InputMap Tags
+ {
+ get => _tags ?? (_tags = new InputMap());
+ set => _tags = value;
+ }
+
+ ///
+ /// Identifier for the snapshot.
+ ///
+ /// The following arguments are optional:
+ ///
+ [Input("targetDbClusterSnapshotIdentifier", required: true)]
+ public Input TargetDbClusterSnapshotIdentifier { get; set; } = null!;
+
+ [Input("timeouts")]
+ public Input? Timeouts { get; set; }
+
+ public ClusterSnapshotCopyArgs()
+ {
+ }
+ public static new ClusterSnapshotCopyArgs Empty => new ClusterSnapshotCopyArgs();
+ }
+
+ public sealed class ClusterSnapshotCopyState : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// Specifies the allocated storage size in gigabytes (GB).
+ ///
+ [Input("allocatedStorage")]
+ public Input? AllocatedStorage { get; set; }
+
+ ///
+ /// Whether to copy existing tags. Defaults to `false`.
+ ///
+ [Input("copyTags")]
+ public Input? CopyTags { get; set; }
+
+ ///
+ /// The Amazon Resource Name (ARN) for the DB cluster snapshot.
+ ///
+ [Input("dbClusterSnapshotArn")]
+ public Input? DbClusterSnapshotArn { get; set; }
+
+ ///
+ /// The Destination region to place snapshot copy.
+ ///
+ [Input("destinationRegion")]
+ public Input? DestinationRegion { get; set; }
+
+ ///
+ /// Specifies the name of the database engine.
+ ///
+ [Input("engine")]
+ public Input? Engine { get; set; }
+
+ ///
+ /// Specifies the version of the database engine.
+ ///
+ [Input("engineVersion")]
+ public Input? EngineVersion { get; set; }
+
+ ///
+ /// KMS key ID.
+ ///
+ [Input("kmsKeyId")]
+ public Input? KmsKeyId { get; set; }
+
+ ///
+ /// License model information for the restored DB instance.
+ ///
+ [Input("licenseModel")]
+ public Input? LicenseModel { get; set; }
+
+ ///
+ /// URL that contains a Signature Version 4 signed request.
+ ///
+ [Input("presignedUrl")]
+ public Input? PresignedUrl { get; set; }
+
+ [Input("sharedAccounts")]
+ private InputList? _sharedAccounts;
+
+ ///
+ /// List of AWS Account IDs to share the snapshot with. Use `all` to make the snapshot public.
+ ///
+ public InputList SharedAccounts
+ {
+ get => _sharedAccounts ?? (_sharedAccounts = new InputList());
+ set => _sharedAccounts = value;
+ }
+
+ [Input("snapshotType")]
+ public Input? SnapshotType { get; set; }
+
+ ///
+ /// Identifier of the source snapshot.
+ ///
+ [Input("sourceDbClusterSnapshotIdentifier")]
+ public Input? SourceDbClusterSnapshotIdentifier { get; set; }
+
+ ///
+ /// Specifies whether the DB cluster snapshot is encrypted.
+ ///
+ [Input("storageEncrypted")]
+ public Input? StorageEncrypted { get; set; }
+
+ ///
+ /// Specifies the storage type associated with DB cluster snapshot.
+ ///
+ [Input("storageType")]
+ public Input? StorageType { get; set; }
+
+ [Input("tags")]
+ private InputMap? _tags;
+
+ ///
+ /// Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
+ ///
+ public InputMap Tags
+ {
+ get => _tags ?? (_tags = new InputMap());
+ set => _tags = value;
+ }
+
+ [Input("tagsAll")]
+ private InputMap? _tagsAll;
+
+ ///
+ /// A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
+ ///
+ [Obsolete(@"Please use `tags` instead.")]
+ public InputMap TagsAll
+ {
+ get => _tagsAll ?? (_tagsAll = new InputMap());
+ set => _tagsAll = value;
+ }
+
+ ///
+ /// Identifier for the snapshot.
+ ///
+ /// The following arguments are optional:
+ ///
+ [Input("targetDbClusterSnapshotIdentifier")]
+ public Input? TargetDbClusterSnapshotIdentifier { get; set; }
+
+ [Input("timeouts")]
+ public Input? Timeouts { get; set; }
+
+ ///
+ /// Provides the VPC ID associated with the DB cluster snapshot.
+ ///
+ [Input("vpcId")]
+ public Input? VpcId { get; set; }
+
+ public ClusterSnapshotCopyState()
+ {
+ }
+ public static new ClusterSnapshotCopyState Empty => new ClusterSnapshotCopyState();
+ }
+}
diff --git a/sdk/dotnet/Rds/Inputs/ClusterSnapshotCopyTimeoutsArgs.cs b/sdk/dotnet/Rds/Inputs/ClusterSnapshotCopyTimeoutsArgs.cs
new file mode 100644
index 00000000000..b3352b1856f
--- /dev/null
+++ b/sdk/dotnet/Rds/Inputs/ClusterSnapshotCopyTimeoutsArgs.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.Aws.Rds.Inputs
+{
+
+ public sealed class ClusterSnapshotCopyTimeoutsArgs : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
+ ///
+ [Input("create")]
+ public Input? Create { get; set; }
+
+ public ClusterSnapshotCopyTimeoutsArgs()
+ {
+ }
+ public static new ClusterSnapshotCopyTimeoutsArgs Empty => new ClusterSnapshotCopyTimeoutsArgs();
+ }
+}
diff --git a/sdk/dotnet/Rds/Inputs/ClusterSnapshotCopyTimeoutsGetArgs.cs b/sdk/dotnet/Rds/Inputs/ClusterSnapshotCopyTimeoutsGetArgs.cs
new file mode 100644
index 00000000000..a3d768b288e
--- /dev/null
+++ b/sdk/dotnet/Rds/Inputs/ClusterSnapshotCopyTimeoutsGetArgs.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.Aws.Rds.Inputs
+{
+
+ public sealed class ClusterSnapshotCopyTimeoutsGetArgs : global::Pulumi.ResourceArgs
+ {
+ ///