diff --git a/sdk/dotnet/Acm/Certificate.cs b/sdk/dotnet/Acm/Certificate.cs index 99710e4abb6..c3e2e698e1a 100644 --- a/sdk/dotnet/Acm/Certificate.cs +++ b/sdk/dotnet/Acm/Certificate.cs @@ -222,7 +222,7 @@ public partial class Certificate : global::Pulumi.CustomResource /// Configuration block used to set certificate options. Detailed below. /// [Output("options")] - public Output Options { get; private set; } = null!; + public Output Options { get; private set; } = null!; /// /// `true` if a Private certificate eligible for managed renewal is within the `early_renewal_duration` period. diff --git a/sdk/dotnet/Amplify/DomainAssociation.cs b/sdk/dotnet/Amplify/DomainAssociation.cs index 0d331bfea6a..5253c0b42ed 100644 --- a/sdk/dotnet/Amplify/DomainAssociation.cs +++ b/sdk/dotnet/Amplify/DomainAssociation.cs @@ -97,6 +97,12 @@ public partial class DomainAssociation : global::Pulumi.CustomResource [Output("domainName")] public Output DomainName { get; private set; } = null!; + /// + /// Enables the automated creation of subdomains for branches. + /// + [Output("enableAutoSubDomain")] + public Output EnableAutoSubDomain { get; private set; } = null!; + /// /// Setting for the subdomain. Documented below. /// @@ -167,6 +173,12 @@ public sealed class DomainAssociationArgs : global::Pulumi.ResourceArgs [Input("domainName", required: true)] public Input DomainName { get; set; } = null!; + /// + /// Enables the automated creation of subdomains for branches. + /// + [Input("enableAutoSubDomain")] + public Input? EnableAutoSubDomain { get; set; } + [Input("subDomains", required: true)] private InputList? _subDomains; @@ -217,6 +229,12 @@ public sealed class DomainAssociationState : global::Pulumi.ResourceArgs [Input("domainName")] public Input? DomainName { get; set; } + /// + /// Enables the automated creation of subdomains for branches. + /// + [Input("enableAutoSubDomain")] + public Input? EnableAutoSubDomain { get; set; } + [Input("subDomains")] private InputList? _subDomains; diff --git a/sdk/dotnet/ApiGateway/Account.cs b/sdk/dotnet/ApiGateway/Account.cs index e6f69e71fa9..5ff4a0c4329 100644 --- a/sdk/dotnet/ApiGateway/Account.cs +++ b/sdk/dotnet/ApiGateway/Account.cs @@ -87,7 +87,7 @@ namespace Pulumi.Aws.ApiGateway /// var cloudwatchRolePolicy = new Aws.Iam.RolePolicy("cloudwatchRolePolicy", new() /// { /// Role = cloudwatchRole.Id, - /// Policy = data.Aws_iam_policy_document.Json, + /// Policy = cloudwatchPolicyDocument.Apply(getPolicyDocumentResult => getPolicyDocumentResult.Json), /// }); /// /// }); diff --git a/sdk/dotnet/AppRunner/Inputs/ServiceSourceConfigurationCodeRepositoryCodeConfigurationCodeConfigurationValuesArgs.cs b/sdk/dotnet/AppRunner/Inputs/ServiceSourceConfigurationCodeRepositoryCodeConfigurationCodeConfigurationValuesArgs.cs index 0388dfb6c3b..6fb892d489c 100644 --- a/sdk/dotnet/AppRunner/Inputs/ServiceSourceConfigurationCodeRepositoryCodeConfigurationCodeConfigurationValuesArgs.cs +++ b/sdk/dotnet/AppRunner/Inputs/ServiceSourceConfigurationCodeRepositoryCodeConfigurationCodeConfigurationValuesArgs.cs @@ -34,7 +34,7 @@ public sealed class ServiceSourceConfigurationCodeRepositoryCodeConfigurationCod private InputMap? _runtimeEnvironmentSecrets; /// - /// Secrets and parameters available to your service as environment variables. A map of key/value pairs. + /// Secrets and parameters available to your service as environment variables. A map of key/value pairs, where the key is the desired name of the Secret in the environment (i.e. it does not have to match the name of the secret in Secrets Manager or SSM Parameter Store), and the value is the ARN of the secret from AWS Secrets Manager or the ARN of the parameter in AWS SSM Parameter Store. /// public InputMap RuntimeEnvironmentSecrets { diff --git a/sdk/dotnet/AppRunner/Inputs/ServiceSourceConfigurationCodeRepositoryCodeConfigurationCodeConfigurationValuesGetArgs.cs b/sdk/dotnet/AppRunner/Inputs/ServiceSourceConfigurationCodeRepositoryCodeConfigurationCodeConfigurationValuesGetArgs.cs index a801db38621..b83b1639cd7 100644 --- a/sdk/dotnet/AppRunner/Inputs/ServiceSourceConfigurationCodeRepositoryCodeConfigurationCodeConfigurationValuesGetArgs.cs +++ b/sdk/dotnet/AppRunner/Inputs/ServiceSourceConfigurationCodeRepositoryCodeConfigurationCodeConfigurationValuesGetArgs.cs @@ -34,7 +34,7 @@ public sealed class ServiceSourceConfigurationCodeRepositoryCodeConfigurationCod private InputMap? _runtimeEnvironmentSecrets; /// - /// Secrets and parameters available to your service as environment variables. A map of key/value pairs. + /// Secrets and parameters available to your service as environment variables. A map of key/value pairs, where the key is the desired name of the Secret in the environment (i.e. it does not have to match the name of the secret in Secrets Manager or SSM Parameter Store), and the value is the ARN of the secret from AWS Secrets Manager or the ARN of the parameter in AWS SSM Parameter Store. /// public InputMap RuntimeEnvironmentSecrets { diff --git a/sdk/dotnet/AppRunner/Inputs/ServiceSourceConfigurationImageRepositoryImageConfigurationArgs.cs b/sdk/dotnet/AppRunner/Inputs/ServiceSourceConfigurationImageRepositoryImageConfigurationArgs.cs index 935aa523799..6600835ec8e 100644 --- a/sdk/dotnet/AppRunner/Inputs/ServiceSourceConfigurationImageRepositoryImageConfigurationArgs.cs +++ b/sdk/dotnet/AppRunner/Inputs/ServiceSourceConfigurationImageRepositoryImageConfigurationArgs.cs @@ -22,7 +22,7 @@ public sealed class ServiceSourceConfigurationImageRepositoryImageConfigurationA private InputMap? _runtimeEnvironmentSecrets; /// - /// Secrets and parameters available to your service as environment variables. A map of key/value pairs. + /// Secrets and parameters available to your service as environment variables. A map of key/value pairs, where the key is the desired name of the Secret in the environment (i.e. it does not have to match the name of the secret in Secrets Manager or SSM Parameter Store), and the value is the ARN of the secret from AWS Secrets Manager or the ARN of the parameter in AWS SSM Parameter Store. /// public InputMap RuntimeEnvironmentSecrets { diff --git a/sdk/dotnet/AppRunner/Inputs/ServiceSourceConfigurationImageRepositoryImageConfigurationGetArgs.cs b/sdk/dotnet/AppRunner/Inputs/ServiceSourceConfigurationImageRepositoryImageConfigurationGetArgs.cs index d252ac85148..eafd69055b8 100644 --- a/sdk/dotnet/AppRunner/Inputs/ServiceSourceConfigurationImageRepositoryImageConfigurationGetArgs.cs +++ b/sdk/dotnet/AppRunner/Inputs/ServiceSourceConfigurationImageRepositoryImageConfigurationGetArgs.cs @@ -22,7 +22,7 @@ public sealed class ServiceSourceConfigurationImageRepositoryImageConfigurationG private InputMap? _runtimeEnvironmentSecrets; /// - /// Secrets and parameters available to your service as environment variables. A map of key/value pairs. + /// Secrets and parameters available to your service as environment variables. A map of key/value pairs, where the key is the desired name of the Secret in the environment (i.e. it does not have to match the name of the secret in Secrets Manager or SSM Parameter Store), and the value is the ARN of the secret from AWS Secrets Manager or the ARN of the parameter in AWS SSM Parameter Store. /// public InputMap RuntimeEnvironmentSecrets { diff --git a/sdk/dotnet/AppRunner/Outputs/ServiceSourceConfigurationCodeRepositoryCodeConfigurationCodeConfigurationValues.cs b/sdk/dotnet/AppRunner/Outputs/ServiceSourceConfigurationCodeRepositoryCodeConfigurationCodeConfigurationValues.cs index 1b3f3e9a13a..d0f060b5cca 100644 --- a/sdk/dotnet/AppRunner/Outputs/ServiceSourceConfigurationCodeRepositoryCodeConfigurationCodeConfigurationValues.cs +++ b/sdk/dotnet/AppRunner/Outputs/ServiceSourceConfigurationCodeRepositoryCodeConfigurationCodeConfigurationValues.cs @@ -26,7 +26,7 @@ public sealed class ServiceSourceConfigurationCodeRepositoryCodeConfigurationCod /// public readonly string Runtime; /// - /// Secrets and parameters available to your service as environment variables. A map of key/value pairs. + /// Secrets and parameters available to your service as environment variables. A map of key/value pairs, where the key is the desired name of the Secret in the environment (i.e. it does not have to match the name of the secret in Secrets Manager or SSM Parameter Store), and the value is the ARN of the secret from AWS Secrets Manager or the ARN of the parameter in AWS SSM Parameter Store. /// public readonly ImmutableDictionary? RuntimeEnvironmentSecrets; /// diff --git a/sdk/dotnet/AppRunner/Outputs/ServiceSourceConfigurationImageRepositoryImageConfiguration.cs b/sdk/dotnet/AppRunner/Outputs/ServiceSourceConfigurationImageRepositoryImageConfiguration.cs index 86640b0fac3..75282d1d11f 100644 --- a/sdk/dotnet/AppRunner/Outputs/ServiceSourceConfigurationImageRepositoryImageConfiguration.cs +++ b/sdk/dotnet/AppRunner/Outputs/ServiceSourceConfigurationImageRepositoryImageConfiguration.cs @@ -18,7 +18,7 @@ public sealed class ServiceSourceConfigurationImageRepositoryImageConfiguration /// public readonly string? Port; /// - /// Secrets and parameters available to your service as environment variables. A map of key/value pairs. + /// Secrets and parameters available to your service as environment variables. A map of key/value pairs, where the key is the desired name of the Secret in the environment (i.e. it does not have to match the name of the secret in Secrets Manager or SSM Parameter Store), and the value is the ARN of the secret from AWS Secrets Manager or the ARN of the parameter in AWS SSM Parameter Store. /// public readonly ImmutableDictionary? RuntimeEnvironmentSecrets; /// diff --git a/sdk/dotnet/AppSync/DataSource.cs b/sdk/dotnet/AppSync/DataSource.cs index bbb61180fa8..3680c836df1 100644 --- a/sdk/dotnet/AppSync/DataSource.cs +++ b/sdk/dotnet/AppSync/DataSource.cs @@ -12,6 +12,106 @@ namespace Pulumi.Aws.AppSync /// /// Provides an AppSync Data Source. /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var exampleTable = new Aws.DynamoDB.Table("exampleTable", new() + /// { + /// ReadCapacity = 1, + /// WriteCapacity = 1, + /// HashKey = "UserId", + /// Attributes = new[] + /// { + /// new Aws.DynamoDB.Inputs.TableAttributeArgs + /// { + /// Name = "UserId", + /// Type = "S", + /// }, + /// }, + /// }); + /// + /// var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new() + /// { + /// Statements = new[] + /// { + /// new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs + /// { + /// Effect = "Allow", + /// Principals = new[] + /// { + /// new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs + /// { + /// Type = "Service", + /// Identifiers = new[] + /// { + /// "appsync.amazonaws.com", + /// }, + /// }, + /// }, + /// Actions = new[] + /// { + /// "sts:AssumeRole", + /// }, + /// }, + /// }, + /// }); + /// + /// var exampleRole = new Aws.Iam.Role("exampleRole", new() + /// { + /// AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult => getPolicyDocumentResult.Json), + /// }); + /// + /// var examplePolicyDocument = Aws.Iam.GetPolicyDocument.Invoke(new() + /// { + /// Statements = new[] + /// { + /// new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs + /// { + /// Effect = "Allow", + /// Actions = new[] + /// { + /// "dynamodb:*", + /// }, + /// Resources = new[] + /// { + /// exampleTable.Arn, + /// }, + /// }, + /// }, + /// }); + /// + /// var exampleRolePolicy = new Aws.Iam.RolePolicy("exampleRolePolicy", new() + /// { + /// Role = exampleRole.Id, + /// Policy = examplePolicyDocument.Apply(getPolicyDocumentResult => getPolicyDocumentResult.Json), + /// }); + /// + /// var exampleGraphQLApi = new Aws.AppSync.GraphQLApi("exampleGraphQLApi", new() + /// { + /// AuthenticationType = "API_KEY", + /// }); + /// + /// var exampleDataSource = new Aws.AppSync.DataSource("exampleDataSource", new() + /// { + /// ApiId = exampleGraphQLApi.Id, + /// Name = "my_appsync_example", + /// ServiceRoleArn = exampleRole.Arn, + /// Type = "AMAZON_DYNAMODB", + /// DynamodbConfig = new Aws.AppSync.Inputs.DataSourceDynamodbConfigArgs + /// { + /// TableName = exampleTable.Name, + /// }, + /// }); + /// + /// }); + /// ``` + /// /// ## Import /// /// `aws_appsync_datasource` can be imported with their `api_id`, a hyphen, and `name`, e.g., diff --git a/sdk/dotnet/CloudHsmV2/Hsm.cs b/sdk/dotnet/CloudHsmV2/Hsm.cs index c158eb07882..26d26fd1faa 100644 --- a/sdk/dotnet/CloudHsmV2/Hsm.cs +++ b/sdk/dotnet/CloudHsmV2/Hsm.cs @@ -49,7 +49,7 @@ namespace Pulumi.Aws.CloudHsmV2 public partial class Hsm : global::Pulumi.CustomResource { /// - /// The IDs of AZ in which HSM module will be located. Do not use together with subnet_id. + /// The IDs of AZ in which HSM module will be located. Conflicts with `subnet_id`. /// [Output("availabilityZone")] public Output AvailabilityZone { get; private set; } = null!; @@ -85,7 +85,7 @@ public partial class Hsm : global::Pulumi.CustomResource public Output IpAddress { get; private set; } = null!; /// - /// The ID of subnet in which HSM module will be located. + /// The ID of subnet in which HSM module will be located. Conflicts with `availability_zone`. /// [Output("subnetId")] public Output SubnetId { get; private set; } = null!; @@ -137,7 +137,7 @@ public static Hsm Get(string name, Input id, HsmState? state = null, Cus public sealed class HsmArgs : global::Pulumi.ResourceArgs { /// - /// The IDs of AZ in which HSM module will be located. Do not use together with subnet_id. + /// The IDs of AZ in which HSM module will be located. Conflicts with `subnet_id`. /// [Input("availabilityZone")] public Input? AvailabilityZone { get; set; } @@ -155,7 +155,7 @@ public sealed class HsmArgs : global::Pulumi.ResourceArgs public Input? IpAddress { get; set; } /// - /// The ID of subnet in which HSM module will be located. + /// The ID of subnet in which HSM module will be located. Conflicts with `availability_zone`. /// [Input("subnetId")] public Input? SubnetId { get; set; } @@ -169,7 +169,7 @@ public HsmArgs() public sealed class HsmState : global::Pulumi.ResourceArgs { /// - /// The IDs of AZ in which HSM module will be located. Do not use together with subnet_id. + /// The IDs of AZ in which HSM module will be located. Conflicts with `subnet_id`. /// [Input("availabilityZone")] public Input? AvailabilityZone { get; set; } @@ -205,7 +205,7 @@ public sealed class HsmState : global::Pulumi.ResourceArgs public Input? IpAddress { get; set; } /// - /// The ID of subnet in which HSM module will be located. + /// The ID of subnet in which HSM module will be located. Conflicts with `availability_zone`. /// [Input("subnetId")] public Input? SubnetId { get; set; } diff --git a/sdk/dotnet/CodeBuild/Inputs/ProjectSecondaryArtifactArgs.cs b/sdk/dotnet/CodeBuild/Inputs/ProjectSecondaryArtifactArgs.cs index ef11a08bc0a..36f2ee4b623 100644 --- a/sdk/dotnet/CodeBuild/Inputs/ProjectSecondaryArtifactArgs.cs +++ b/sdk/dotnet/CodeBuild/Inputs/ProjectSecondaryArtifactArgs.cs @@ -19,7 +19,7 @@ public sealed class ProjectSecondaryArtifactArgs : global::Pulumi.ResourceArgs public Input ArtifactIdentifier { get; set; } = null!; /// - /// Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has access to these objects. This property allows you to give the bucket owner access to these objects. Valid values are `NONE`, `READ_ONLY`, and `FULL`. your CodeBuild service role must have the `s3:PutBucketAcl` permission. This permission allows CodeBuild to modify the access control list for the bucket. + /// Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has access to these objects. This property allows you to give the bucket owner access to these objects. Valid values are `NONE`, `READ_ONLY`, and `FULL`. The CodeBuild service role must have the `s3:PutBucketAcl` permission. This permission allows CodeBuild to modify the access control list for the bucket. /// [Input("bucketOwnerAccess")] public Input? BucketOwnerAccess { get; set; } @@ -31,19 +31,19 @@ public sealed class ProjectSecondaryArtifactArgs : global::Pulumi.ResourceArgs public Input? EncryptionDisabled { get; set; } /// - /// Information about the build output artifact location. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored. If `type` is set to `S3`, this is the name of the output bucket. If `path` is not also specified, then `location` can also specify the path of the output artifact in the output bucket. + /// Information about the build output artifact location. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, this is the name of the output bucket. If `path` is not specified, `location` can specify the path of the output artifact in the output bucket. /// [Input("location")] public Input? Location { get; set; } /// - /// Name of the project. If `type` is set to `S3`, this is the name of the output artifact object + /// Name of the project. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, this is the name of the output artifact object. /// [Input("name")] public Input? Name { get; set; } /// - /// Namespace to use in storing build artifacts. If `type` is set to `S3`, then valid values are `BUILD_ID` or `NONE`. + /// Namespace to use in storing build artifacts. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, valid values are `BUILD_ID` or `NONE`. /// [Input("namespaceType")] public Input? NamespaceType { get; set; } @@ -55,19 +55,19 @@ public sealed class ProjectSecondaryArtifactArgs : global::Pulumi.ResourceArgs public Input? OverrideArtifactName { get; set; } /// - /// Type of build output artifact to create. If `type` is set to `S3`, valid values are `NONE`, `ZIP` + /// Type of build output artifact to create. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, valid values are `NONE` or `ZIP`. /// [Input("packaging")] public Input? Packaging { get; set; } /// - /// If `type` is set to `S3`, this is the path to the output artifact. + /// Along with `namespace_type` and `name`, the pattern that AWS CodeBuild uses to name and store the output artifact. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, this is the path to the output artifact. /// [Input("path")] public Input? Path { get; set; } /// - /// Build output artifact's type. The only valid value is `S3`. + /// Build output artifact's type. Valid values `CODEPIPELINE`, `NO_ARTIFACTS`, and `S3`. /// [Input("type", required: true)] public Input Type { get; set; } = null!; diff --git a/sdk/dotnet/CodeBuild/Inputs/ProjectSecondaryArtifactGetArgs.cs b/sdk/dotnet/CodeBuild/Inputs/ProjectSecondaryArtifactGetArgs.cs index eeb0162d3d0..21d36f3cd35 100644 --- a/sdk/dotnet/CodeBuild/Inputs/ProjectSecondaryArtifactGetArgs.cs +++ b/sdk/dotnet/CodeBuild/Inputs/ProjectSecondaryArtifactGetArgs.cs @@ -19,7 +19,7 @@ public sealed class ProjectSecondaryArtifactGetArgs : global::Pulumi.ResourceArg public Input ArtifactIdentifier { get; set; } = null!; /// - /// Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has access to these objects. This property allows you to give the bucket owner access to these objects. Valid values are `NONE`, `READ_ONLY`, and `FULL`. your CodeBuild service role must have the `s3:PutBucketAcl` permission. This permission allows CodeBuild to modify the access control list for the bucket. + /// Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has access to these objects. This property allows you to give the bucket owner access to these objects. Valid values are `NONE`, `READ_ONLY`, and `FULL`. The CodeBuild service role must have the `s3:PutBucketAcl` permission. This permission allows CodeBuild to modify the access control list for the bucket. /// [Input("bucketOwnerAccess")] public Input? BucketOwnerAccess { get; set; } @@ -31,19 +31,19 @@ public sealed class ProjectSecondaryArtifactGetArgs : global::Pulumi.ResourceArg public Input? EncryptionDisabled { get; set; } /// - /// Information about the build output artifact location. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored. If `type` is set to `S3`, this is the name of the output bucket. If `path` is not also specified, then `location` can also specify the path of the output artifact in the output bucket. + /// Information about the build output artifact location. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, this is the name of the output bucket. If `path` is not specified, `location` can specify the path of the output artifact in the output bucket. /// [Input("location")] public Input? Location { get; set; } /// - /// Name of the project. If `type` is set to `S3`, this is the name of the output artifact object + /// Name of the project. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, this is the name of the output artifact object. /// [Input("name")] public Input? Name { get; set; } /// - /// Namespace to use in storing build artifacts. If `type` is set to `S3`, then valid values are `BUILD_ID` or `NONE`. + /// Namespace to use in storing build artifacts. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, valid values are `BUILD_ID` or `NONE`. /// [Input("namespaceType")] public Input? NamespaceType { get; set; } @@ -55,19 +55,19 @@ public sealed class ProjectSecondaryArtifactGetArgs : global::Pulumi.ResourceArg public Input? OverrideArtifactName { get; set; } /// - /// Type of build output artifact to create. If `type` is set to `S3`, valid values are `NONE`, `ZIP` + /// Type of build output artifact to create. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, valid values are `NONE` or `ZIP`. /// [Input("packaging")] public Input? Packaging { get; set; } /// - /// If `type` is set to `S3`, this is the path to the output artifact. + /// Along with `namespace_type` and `name`, the pattern that AWS CodeBuild uses to name and store the output artifact. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, this is the path to the output artifact. /// [Input("path")] public Input? Path { get; set; } /// - /// Build output artifact's type. The only valid value is `S3`. + /// Build output artifact's type. Valid values `CODEPIPELINE`, `NO_ARTIFACTS`, and `S3`. /// [Input("type", required: true)] public Input Type { get; set; } = null!; diff --git a/sdk/dotnet/CodeBuild/Outputs/ProjectSecondaryArtifact.cs b/sdk/dotnet/CodeBuild/Outputs/ProjectSecondaryArtifact.cs index 8cf16f5dcab..9bf8190dd09 100644 --- a/sdk/dotnet/CodeBuild/Outputs/ProjectSecondaryArtifact.cs +++ b/sdk/dotnet/CodeBuild/Outputs/ProjectSecondaryArtifact.cs @@ -18,7 +18,7 @@ public sealed class ProjectSecondaryArtifact /// public readonly string ArtifactIdentifier; /// - /// Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has access to these objects. This property allows you to give the bucket owner access to these objects. Valid values are `NONE`, `READ_ONLY`, and `FULL`. your CodeBuild service role must have the `s3:PutBucketAcl` permission. This permission allows CodeBuild to modify the access control list for the bucket. + /// Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has access to these objects. This property allows you to give the bucket owner access to these objects. Valid values are `NONE`, `READ_ONLY`, and `FULL`. The CodeBuild service role must have the `s3:PutBucketAcl` permission. This permission allows CodeBuild to modify the access control list for the bucket. /// public readonly string? BucketOwnerAccess; /// @@ -26,15 +26,15 @@ public sealed class ProjectSecondaryArtifact /// public readonly bool? EncryptionDisabled; /// - /// Information about the build output artifact location. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored. If `type` is set to `S3`, this is the name of the output bucket. If `path` is not also specified, then `location` can also specify the path of the output artifact in the output bucket. + /// Information about the build output artifact location. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, this is the name of the output bucket. If `path` is not specified, `location` can specify the path of the output artifact in the output bucket. /// public readonly string? Location; /// - /// Name of the project. If `type` is set to `S3`, this is the name of the output artifact object + /// Name of the project. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, this is the name of the output artifact object. /// public readonly string? Name; /// - /// Namespace to use in storing build artifacts. If `type` is set to `S3`, then valid values are `BUILD_ID` or `NONE`. + /// Namespace to use in storing build artifacts. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, valid values are `BUILD_ID` or `NONE`. /// public readonly string? NamespaceType; /// @@ -42,15 +42,15 @@ public sealed class ProjectSecondaryArtifact /// public readonly bool? OverrideArtifactName; /// - /// Type of build output artifact to create. If `type` is set to `S3`, valid values are `NONE`, `ZIP` + /// Type of build output artifact to create. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, valid values are `NONE` or `ZIP`. /// public readonly string? Packaging; /// - /// If `type` is set to `S3`, this is the path to the output artifact. + /// Along with `namespace_type` and `name`, the pattern that AWS CodeBuild uses to name and store the output artifact. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, this is the path to the output artifact. /// public readonly string? Path; /// - /// Build output artifact's type. The only valid value is `S3`. + /// Build output artifact's type. Valid values `CODEPIPELINE`, `NO_ARTIFACTS`, and `S3`. /// public readonly string Type; diff --git a/sdk/dotnet/CodeBuild/Project.cs b/sdk/dotnet/CodeBuild/Project.cs index 3ca9dc93cd7..700f1af2c9b 100644 --- a/sdk/dotnet/CodeBuild/Project.cs +++ b/sdk/dotnet/CodeBuild/Project.cs @@ -12,6 +12,274 @@ namespace Pulumi.Aws.CodeBuild /// /// Provides a CodeBuild Project resource. See also the `aws.codebuild.Webhook` resource, which manages the webhook to the source (e.g., the "rebuild every time a code change is pushed" option in the CodeBuild web console). /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var exampleBucketV2 = new Aws.S3.BucketV2("exampleBucketV2"); + /// + /// var exampleBucketAclV2 = new Aws.S3.BucketAclV2("exampleBucketAclV2", new() + /// { + /// Bucket = exampleBucketV2.Id, + /// Acl = "private", + /// }); + /// + /// var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new() + /// { + /// Statements = new[] + /// { + /// new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs + /// { + /// Effect = "Allow", + /// Principals = new[] + /// { + /// new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs + /// { + /// Type = "Service", + /// Identifiers = new[] + /// { + /// "codebuild.amazonaws.com", + /// }, + /// }, + /// }, + /// Actions = new[] + /// { + /// "sts:AssumeRole", + /// }, + /// }, + /// }, + /// }); + /// + /// var exampleRole = new Aws.Iam.Role("exampleRole", new() + /// { + /// AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult => getPolicyDocumentResult.Json), + /// }); + /// + /// var examplePolicyDocument = Aws.Iam.GetPolicyDocument.Invoke(new() + /// { + /// Statements = new[] + /// { + /// new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs + /// { + /// Effect = "Allow", + /// Actions = new[] + /// { + /// "logs:CreateLogGroup", + /// "logs:CreateLogStream", + /// "logs:PutLogEvents", + /// }, + /// Resources = new[] + /// { + /// "*", + /// }, + /// }, + /// new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs + /// { + /// Effect = "Allow", + /// Actions = new[] + /// { + /// "ec2:CreateNetworkInterface", + /// "ec2:DescribeDhcpOptions", + /// "ec2:DescribeNetworkInterfaces", + /// "ec2:DeleteNetworkInterface", + /// "ec2:DescribeSubnets", + /// "ec2:DescribeSecurityGroups", + /// "ec2:DescribeVpcs", + /// }, + /// Resources = new[] + /// { + /// "*", + /// }, + /// }, + /// new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs + /// { + /// Effect = "Allow", + /// Actions = new[] + /// { + /// "ec2:CreateNetworkInterfacePermission", + /// }, + /// Resources = new[] + /// { + /// "arn:aws:ec2:us-east-1:123456789012:network-interface/*", + /// }, + /// Conditions = new[] + /// { + /// new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs + /// { + /// Test = "StringEquals", + /// Variable = "ec2:Subnet", + /// Values = new[] + /// { + /// aws_subnet.Example1.Arn, + /// aws_subnet.Example2.Arn, + /// }, + /// }, + /// new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs + /// { + /// Test = "StringEquals", + /// Variable = "ec2:AuthorizedService", + /// Values = new[] + /// { + /// "codebuild.amazonaws.com", + /// }, + /// }, + /// }, + /// }, + /// new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs + /// { + /// Effect = "Allow", + /// Actions = new[] + /// { + /// "s3:*", + /// }, + /// Resources = new[] + /// { + /// exampleBucketV2.Arn, + /// $"{exampleBucketV2.Arn}/*", + /// }, + /// }, + /// }, + /// }); + /// + /// var exampleRolePolicy = new Aws.Iam.RolePolicy("exampleRolePolicy", new() + /// { + /// Role = exampleRole.Name, + /// Policy = examplePolicyDocument.Apply(getPolicyDocumentResult => getPolicyDocumentResult.Json), + /// }); + /// + /// var exampleProject = new Aws.CodeBuild.Project("exampleProject", new() + /// { + /// Description = "test_codebuild_project", + /// BuildTimeout = 5, + /// ServiceRole = exampleRole.Arn, + /// Artifacts = new Aws.CodeBuild.Inputs.ProjectArtifactsArgs + /// { + /// Type = "NO_ARTIFACTS", + /// }, + /// Cache = new Aws.CodeBuild.Inputs.ProjectCacheArgs + /// { + /// Type = "S3", + /// Location = exampleBucketV2.Bucket, + /// }, + /// Environment = new Aws.CodeBuild.Inputs.ProjectEnvironmentArgs + /// { + /// ComputeType = "BUILD_GENERAL1_SMALL", + /// Image = "aws/codebuild/standard:1.0", + /// Type = "LINUX_CONTAINER", + /// ImagePullCredentialsType = "CODEBUILD", + /// EnvironmentVariables = new[] + /// { + /// new Aws.CodeBuild.Inputs.ProjectEnvironmentEnvironmentVariableArgs + /// { + /// Name = "SOME_KEY1", + /// Value = "SOME_VALUE1", + /// }, + /// new Aws.CodeBuild.Inputs.ProjectEnvironmentEnvironmentVariableArgs + /// { + /// Name = "SOME_KEY2", + /// Value = "SOME_VALUE2", + /// Type = "PARAMETER_STORE", + /// }, + /// }, + /// }, + /// LogsConfig = new Aws.CodeBuild.Inputs.ProjectLogsConfigArgs + /// { + /// CloudwatchLogs = new Aws.CodeBuild.Inputs.ProjectLogsConfigCloudwatchLogsArgs + /// { + /// GroupName = "log-group", + /// StreamName = "log-stream", + /// }, + /// S3Logs = new Aws.CodeBuild.Inputs.ProjectLogsConfigS3LogsArgs + /// { + /// Status = "ENABLED", + /// Location = exampleBucketV2.Id.Apply(id => $"{id}/build-log"), + /// }, + /// }, + /// Source = new Aws.CodeBuild.Inputs.ProjectSourceArgs + /// { + /// Type = "GITHUB", + /// Location = "https://github.com/mitchellh/packer.git", + /// GitCloneDepth = 1, + /// GitSubmodulesConfig = new Aws.CodeBuild.Inputs.ProjectSourceGitSubmodulesConfigArgs + /// { + /// FetchSubmodules = true, + /// }, + /// }, + /// SourceVersion = "master", + /// VpcConfig = new Aws.CodeBuild.Inputs.ProjectVpcConfigArgs + /// { + /// VpcId = aws_vpc.Example.Id, + /// Subnets = new[] + /// { + /// aws_subnet.Example1.Id, + /// aws_subnet.Example2.Id, + /// }, + /// SecurityGroupIds = new[] + /// { + /// aws_security_group.Example1.Id, + /// aws_security_group.Example2.Id, + /// }, + /// }, + /// Tags = + /// { + /// { "Environment", "Test" }, + /// }, + /// }); + /// + /// var project_with_cache = new Aws.CodeBuild.Project("project-with-cache", new() + /// { + /// Description = "test_codebuild_project_cache", + /// BuildTimeout = 5, + /// QueuedTimeout = 5, + /// ServiceRole = exampleRole.Arn, + /// Artifacts = new Aws.CodeBuild.Inputs.ProjectArtifactsArgs + /// { + /// Type = "NO_ARTIFACTS", + /// }, + /// Cache = new Aws.CodeBuild.Inputs.ProjectCacheArgs + /// { + /// Type = "LOCAL", + /// Modes = new[] + /// { + /// "LOCAL_DOCKER_LAYER_CACHE", + /// "LOCAL_SOURCE_CACHE", + /// }, + /// }, + /// Environment = new Aws.CodeBuild.Inputs.ProjectEnvironmentArgs + /// { + /// ComputeType = "BUILD_GENERAL1_SMALL", + /// Image = "aws/codebuild/standard:1.0", + /// Type = "LINUX_CONTAINER", + /// ImagePullCredentialsType = "CODEBUILD", + /// EnvironmentVariables = new[] + /// { + /// new Aws.CodeBuild.Inputs.ProjectEnvironmentEnvironmentVariableArgs + /// { + /// Name = "SOME_KEY1", + /// Value = "SOME_VALUE1", + /// }, + /// }, + /// }, + /// Source = new Aws.CodeBuild.Inputs.ProjectSourceArgs + /// { + /// Type = "GITHUB", + /// Location = "https://github.com/mitchellh/packer.git", + /// GitCloneDepth = 1, + /// }, + /// Tags = + /// { + /// { "Environment", "Test" }, + /// }, + /// }); + /// + /// }); + /// ``` + /// /// ## Import /// /// CodeBuild Project can be imported using the `name`, e.g., diff --git a/sdk/dotnet/Cognito/ResourceServer.cs b/sdk/dotnet/Cognito/ResourceServer.cs index 6cf3aaa51cb..612fa48d35a 100644 --- a/sdk/dotnet/Cognito/ResourceServer.cs +++ b/sdk/dotnet/Cognito/ResourceServer.cs @@ -65,7 +65,7 @@ namespace Pulumi.Aws.Cognito /// `aws_cognito_resource_server` can be imported using their User Pool ID and Identifier, e.g., /// /// ```sh - /// $ pulumi import aws:cognito/resourceServer:ResourceServer example us-west-2_abc123:https://example.com + /// $ pulumi import aws:cognito/resourceServer:ResourceServer example "us-west-2_abc123|https://example.com" /// ``` /// [AwsResourceType("aws:cognito/resourceServer:ResourceServer")] diff --git a/sdk/dotnet/DynamoDB/Table.cs b/sdk/dotnet/DynamoDB/Table.cs index c894b749df3..25e40c658d0 100644 --- a/sdk/dotnet/DynamoDB/Table.cs +++ b/sdk/dotnet/DynamoDB/Table.cs @@ -177,7 +177,7 @@ public partial class Table : global::Pulumi.CustomResource public Output HashKey { get; private set; } = null!; /// - /// Describe an LSI on the table; these can only be allocated *at creation* so you cannot change this definition after you have created the resource. See below. + /// Describe an LSI on the table; these can only be allocated _at creation_ so you cannot change this definition after you have created the resource. See below. /// [Output("localSecondaryIndexes")] public Output> LocalSecondaryIndexes { get; private set; } = null!; @@ -261,7 +261,9 @@ public partial class Table : global::Pulumi.CustomResource public Output StreamViewType { get; private set; } = null!; /// - /// Storage class of the table. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + /// Storage class of the table. + /// Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + /// Default value is `STANDARD`. /// [Output("tableClass")] public Output TableClass { get; private set; } = null!; @@ -376,7 +378,7 @@ public InputList GlobalSecondaryIndexes private InputList? _localSecondaryIndexes; /// - /// Describe an LSI on the table; these can only be allocated *at creation* so you cannot change this definition after you have created the resource. See below. + /// Describe an LSI on the table; these can only be allocated _at creation_ so you cannot change this definition after you have created the resource. See below. /// public InputList LocalSecondaryIndexes { @@ -457,7 +459,9 @@ public InputList Replicas public Input? StreamViewType { get; set; } /// - /// Storage class of the table. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + /// Storage class of the table. + /// Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + /// Default value is `STANDARD`. /// [Input("tableClass")] public Input? TableClass { get; set; } @@ -552,7 +556,7 @@ public InputList GlobalSecondaryIndexes private InputList? _localSecondaryIndexes; /// - /// Describe an LSI on the table; these can only be allocated *at creation* so you cannot change this definition after you have created the resource. See below. + /// Describe an LSI on the table; these can only be allocated _at creation_ so you cannot change this definition after you have created the resource. See below. /// public InputList LocalSecondaryIndexes { @@ -645,7 +649,9 @@ public InputList Replicas public Input? StreamViewType { get; set; } /// - /// Storage class of the table. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + /// Storage class of the table. + /// Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + /// Default value is `STANDARD`. /// [Input("tableClass")] public Input? TableClass { get; set; } diff --git a/sdk/dotnet/Ec2/FlowLog.cs b/sdk/dotnet/Ec2/FlowLog.cs index e324e1aa2d4..36e6549ed74 100644 --- a/sdk/dotnet/Ec2/FlowLog.cs +++ b/sdk/dotnet/Ec2/FlowLog.cs @@ -160,6 +160,12 @@ public partial class FlowLog : global::Pulumi.CustomResource [Output("arn")] public Output Arn { get; private set; } = null!; + /// + /// ARN of the IAM role that allows Amazon EC2 to publish flow logs across accounts. + /// + [Output("deliverCrossAccountRole")] + public Output DeliverCrossAccountRole { get; private set; } = null!; + /// /// Describes the destination options for a flow log. More details below. /// @@ -299,6 +305,12 @@ public static FlowLog Get(string name, Input id, FlowLogState? state = n public sealed class FlowLogArgs : global::Pulumi.ResourceArgs { + /// + /// ARN of the IAM role that allows Amazon EC2 to publish flow logs across accounts. + /// + [Input("deliverCrossAccountRole")] + public Input? DeliverCrossAccountRole { get; set; } + /// /// Describes the destination options for a flow log. More details below. /// @@ -406,6 +418,12 @@ public sealed class FlowLogState : global::Pulumi.ResourceArgs [Input("arn")] public Input? Arn { get; set; } + /// + /// ARN of the IAM role that allows Amazon EC2 to publish flow logs across accounts. + /// + [Input("deliverCrossAccountRole")] + public Input? DeliverCrossAccountRole { get; set; } + /// /// Describes the destination options for a flow log. More details below. /// diff --git a/sdk/dotnet/Ec2/GetInstances.cs b/sdk/dotnet/Ec2/GetInstances.cs index 25684d76fc2..723fa964804 100644 --- a/sdk/dotnet/Ec2/GetInstances.cs +++ b/sdk/dotnet/Ec2/GetInstances.cs @@ -149,6 +149,10 @@ public sealed class GetInstancesResult public readonly ImmutableArray InstanceStateNames; public readonly ImmutableDictionary InstanceTags; /// + /// IPv6 addresses of instances found through the filter + /// + public readonly ImmutableArray Ipv6Addresses; + /// /// Private IP addresses of instances found through the filter /// public readonly ImmutableArray PrivateIps; @@ -169,6 +173,8 @@ private GetInstancesResult( ImmutableDictionary instanceTags, + ImmutableArray ipv6Addresses, + ImmutableArray privateIps, ImmutableArray publicIps) @@ -178,6 +184,7 @@ private GetInstancesResult( Ids = ids; InstanceStateNames = instanceStateNames; InstanceTags = instanceTags; + Ipv6Addresses = ipv6Addresses; PrivateIps = privateIps; PublicIps = publicIps; } diff --git a/sdk/dotnet/Ec2/LaunchConfiguration.cs b/sdk/dotnet/Ec2/LaunchConfiguration.cs index 562379344f7..f4155eb7321 100644 --- a/sdk/dotnet/Ec2/LaunchConfiguration.cs +++ b/sdk/dotnet/Ec2/LaunchConfiguration.cs @@ -12,6 +12,8 @@ namespace Pulumi.Aws.Ec2 /// /// Provides a resource to create a new launch configuration, used for autoscaling groups. /// + /// !> **WARNING:** The use of launch configurations is discouraged in favour of launch templates. Read more in the [AWS EC2 Documentation](https://docs.aws.amazon.com/autoscaling/ec2/userguide/launch-configurations.html). + /// /// > **Note** When using `aws.ec2.LaunchConfiguration` with `aws.autoscaling.Group`, it is recommended to use the `name_prefix` (Optional) instead of the `name` (Optional) attribute. /// /// ## Example Usage diff --git a/sdk/dotnet/Ec2TransitGateway/GetAttachment.cs b/sdk/dotnet/Ec2TransitGateway/GetAttachment.cs index 51cca986f4a..82b163aba83 100644 --- a/sdk/dotnet/Ec2TransitGateway/GetAttachment.cs +++ b/sdk/dotnet/Ec2TransitGateway/GetAttachment.cs @@ -187,6 +187,14 @@ public sealed class GetAttachmentResult /// ARN of the attachment. /// public readonly string Arn; + /// + /// The state of the association (see [the underlying AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_TransitGatewayAttachmentAssociation.html) for valid values). + /// + public readonly string AssociationState; + /// + /// The ID of the route table for the transit gateway. + /// + public readonly string AssociationTransitGatewayRouteTableId; public readonly ImmutableArray Filters; /// /// The provider-assigned unique ID for this managed resource. @@ -226,6 +234,10 @@ public sealed class GetAttachmentResult private GetAttachmentResult( string arn, + string associationState, + + string associationTransitGatewayRouteTableId, + ImmutableArray filters, string id, @@ -247,6 +259,8 @@ private GetAttachmentResult( string transitGatewayOwnerId) { Arn = arn; + AssociationState = associationState; + AssociationTransitGatewayRouteTableId = associationTransitGatewayRouteTableId; Filters = filters; Id = id; ResourceId = resourceId; diff --git a/sdk/dotnet/Ecs/GetTaskExecution.cs b/sdk/dotnet/Ecs/GetTaskExecution.cs new file mode 100644 index 00000000000..23e3665c1e7 --- /dev/null +++ b/sdk/dotnet/Ecs/GetTaskExecution.cs @@ -0,0 +1,399 @@ +// *** 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.Ecs +{ + public static class GetTaskExecution + { + /// + /// Data source for managing an AWS ECS (Elastic Container) Task Execution. This data source calls the [RunTask](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html) API, allowing execution of one-time tasks that don't fit a standard resource lifecycle. See the feature request issue for additional context. + /// + /// > **NOTE on preview operations:** This data source calls the `RunTask` API on every read operation, which means new task(s) may be created from a `pulumi preview` command if all attributes are known. Placing this functionality behind a data source is an intentional trade off to enable use cases requiring a one-time task execution without relying on provisioners. Caution should be taken to ensure the data source is only executed once, or that the resulting tasks can safely run in parallel. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% /examples %}} + /// + public static Task InvokeAsync(GetTaskExecutionArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws:ecs/getTaskExecution:getTaskExecution", args ?? new GetTaskExecutionArgs(), options.WithDefaults()); + + /// + /// Data source for managing an AWS ECS (Elastic Container) Task Execution. This data source calls the [RunTask](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html) API, allowing execution of one-time tasks that don't fit a standard resource lifecycle. See the feature request issue for additional context. + /// + /// > **NOTE on preview operations:** This data source calls the `RunTask` API on every read operation, which means new task(s) may be created from a `pulumi preview` command if all attributes are known. Placing this functionality behind a data source is an intentional trade off to enable use cases requiring a one-time task execution without relying on provisioners. Caution should be taken to ensure the data source is only executed once, or that the resulting tasks can safely run in parallel. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% /examples %}} + /// + public static Output Invoke(GetTaskExecutionInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws:ecs/getTaskExecution:getTaskExecution", args ?? new GetTaskExecutionInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetTaskExecutionArgs : global::Pulumi.InvokeArgs + { + [Input("capacityProviderStrategies")] + private List? _capacityProviderStrategies; + + /// + /// Set of capacity provider strategies to use for the cluster. See below. + /// + public List CapacityProviderStrategies + { + get => _capacityProviderStrategies ?? (_capacityProviderStrategies = new List()); + set => _capacityProviderStrategies = value; + } + + /// + /// Short name or full Amazon Resource Name (ARN) of the cluster to run the task on. + /// + [Input("cluster", required: true)] + public string Cluster { get; set; } = null!; + + /// + /// Number of instantiations of the specified task to place on your cluster. You can specify up to 10 tasks for each call. + /// + [Input("desiredCount")] + public int? DesiredCount { get; set; } + + /// + /// Specifies whether to enable Amazon ECS managed tags for the tasks within the service. + /// + [Input("enableEcsManagedTags")] + public bool? EnableEcsManagedTags { get; set; } + + /// + /// Specifies whether to enable Amazon ECS Exec for the tasks within the service. + /// + [Input("enableExecuteCommand")] + public bool? EnableExecuteCommand { get; set; } + + /// + /// Name of the task group to associate with the task. The default value is the family name of the task definition. + /// + [Input("group")] + public string? Group { get; set; } + + /// + /// Launch type on which to run your service. Valid values are `EC2`, `FARGATE`, and `EXTERNAL`. + /// + [Input("launchType")] + public string? LaunchType { get; set; } + + /// + /// Network configuration for the service. This parameter is required for task definitions that use the `awsvpc` network mode to receive their own Elastic Network Interface, and it is not supported for other network modes. See below. + /// + [Input("networkConfiguration")] + public Inputs.GetTaskExecutionNetworkConfigurationArgs? NetworkConfiguration { get; set; } + + /// + /// A list of container overrides that specify the name of a container in the specified task definition and the overrides it should receive. + /// + [Input("overrides")] + public Inputs.GetTaskExecutionOverridesArgs? Overrides { get; set; } + + [Input("placementConstraints")] + private List? _placementConstraints; + + /// + /// An array of placement constraint objects to use for the task. You can specify up to 10 constraints for each task. See below. + /// + public List PlacementConstraints + { + get => _placementConstraints ?? (_placementConstraints = new List()); + set => _placementConstraints = value; + } + + [Input("placementStrategies")] + private List? _placementStrategies; + + /// + /// The placement strategy objects to use for the task. You can specify a maximum of 5 strategy rules for each task. See below. + /// + public List PlacementStrategies + { + get => _placementStrategies ?? (_placementStrategies = new List()); + set => _placementStrategies = value; + } + + /// + /// The platform version the task uses. A platform version is only specified for tasks hosted on Fargate. If one isn't specified, the `LATEST` platform version is used. + /// + [Input("platformVersion")] + public string? PlatformVersion { get; set; } + + /// + /// Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. An error will be received if you specify the `SERVICE` option when running a task. Valid values are `TASK_DEFINITION` or `NONE`. + /// + [Input("propagateTags")] + public string? PropagateTags { get; set; } + + /// + /// The reference ID to use for the task. + /// + [Input("referenceId")] + public string? ReferenceId { get; set; } + + /// + /// An optional tag specified when a task is started. + /// + [Input("startedBy")] + public string? StartedBy { get; set; } + + [Input("tags")] + private Dictionary? _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 Dictionary Tags + { + get => _tags ?? (_tags = new Dictionary()); + set => _tags = value; + } + + /// + /// The `family` and `revision` (`family:revision`) or full ARN of the task definition to run. If a revision isn't specified, the latest `ACTIVE` revision is used. + /// + [Input("taskDefinition", required: true)] + public string TaskDefinition { get; set; } = null!; + + public GetTaskExecutionArgs() + { + } + public static new GetTaskExecutionArgs Empty => new GetTaskExecutionArgs(); + } + + public sealed class GetTaskExecutionInvokeArgs : global::Pulumi.InvokeArgs + { + [Input("capacityProviderStrategies")] + private InputList? _capacityProviderStrategies; + + /// + /// Set of capacity provider strategies to use for the cluster. See below. + /// + public InputList CapacityProviderStrategies + { + get => _capacityProviderStrategies ?? (_capacityProviderStrategies = new InputList()); + set => _capacityProviderStrategies = value; + } + + /// + /// Short name or full Amazon Resource Name (ARN) of the cluster to run the task on. + /// + [Input("cluster", required: true)] + public Input Cluster { get; set; } = null!; + + /// + /// Number of instantiations of the specified task to place on your cluster. You can specify up to 10 tasks for each call. + /// + [Input("desiredCount")] + public Input? DesiredCount { get; set; } + + /// + /// Specifies whether to enable Amazon ECS managed tags for the tasks within the service. + /// + [Input("enableEcsManagedTags")] + public Input? EnableEcsManagedTags { get; set; } + + /// + /// Specifies whether to enable Amazon ECS Exec for the tasks within the service. + /// + [Input("enableExecuteCommand")] + public Input? EnableExecuteCommand { get; set; } + + /// + /// Name of the task group to associate with the task. The default value is the family name of the task definition. + /// + [Input("group")] + public Input? Group { get; set; } + + /// + /// Launch type on which to run your service. Valid values are `EC2`, `FARGATE`, and `EXTERNAL`. + /// + [Input("launchType")] + public Input? LaunchType { get; set; } + + /// + /// Network configuration for the service. This parameter is required for task definitions that use the `awsvpc` network mode to receive their own Elastic Network Interface, and it is not supported for other network modes. See below. + /// + [Input("networkConfiguration")] + public Input? NetworkConfiguration { get; set; } + + /// + /// A list of container overrides that specify the name of a container in the specified task definition and the overrides it should receive. + /// + [Input("overrides")] + public Input? Overrides { get; set; } + + [Input("placementConstraints")] + private InputList? _placementConstraints; + + /// + /// An array of placement constraint objects to use for the task. You can specify up to 10 constraints for each task. See below. + /// + public InputList PlacementConstraints + { + get => _placementConstraints ?? (_placementConstraints = new InputList()); + set => _placementConstraints = value; + } + + [Input("placementStrategies")] + private InputList? _placementStrategies; + + /// + /// The placement strategy objects to use for the task. You can specify a maximum of 5 strategy rules for each task. See below. + /// + public InputList PlacementStrategies + { + get => _placementStrategies ?? (_placementStrategies = new InputList()); + set => _placementStrategies = value; + } + + /// + /// The platform version the task uses. A platform version is only specified for tasks hosted on Fargate. If one isn't specified, the `LATEST` platform version is used. + /// + [Input("platformVersion")] + public Input? PlatformVersion { get; set; } + + /// + /// Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. An error will be received if you specify the `SERVICE` option when running a task. Valid values are `TASK_DEFINITION` or `NONE`. + /// + [Input("propagateTags")] + public Input? PropagateTags { get; set; } + + /// + /// The reference ID to use for the task. + /// + [Input("referenceId")] + public Input? ReferenceId { get; set; } + + /// + /// An optional tag specified when a task is started. + /// + [Input("startedBy")] + public Input? StartedBy { 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; + } + + /// + /// The `family` and `revision` (`family:revision`) or full ARN of the task definition to run. If a revision isn't specified, the latest `ACTIVE` revision is used. + /// + [Input("taskDefinition", required: true)] + public Input TaskDefinition { get; set; } = null!; + + public GetTaskExecutionInvokeArgs() + { + } + public static new GetTaskExecutionInvokeArgs Empty => new GetTaskExecutionInvokeArgs(); + } + + + [OutputType] + public sealed class GetTaskExecutionResult + { + public readonly ImmutableArray CapacityProviderStrategies; + public readonly string Cluster; + public readonly int? DesiredCount; + public readonly bool? EnableEcsManagedTags; + public readonly bool? EnableExecuteCommand; + public readonly string? Group; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + public readonly string? LaunchType; + public readonly Outputs.GetTaskExecutionNetworkConfigurationResult? NetworkConfiguration; + public readonly Outputs.GetTaskExecutionOverridesResult? Overrides; + public readonly ImmutableArray PlacementConstraints; + public readonly ImmutableArray PlacementStrategies; + public readonly string? PlatformVersion; + public readonly string? PropagateTags; + public readonly string? ReferenceId; + public readonly string? StartedBy; + public readonly ImmutableDictionary? Tags; + /// + /// A list of the provisioned task ARNs. + /// + public readonly ImmutableArray TaskArns; + public readonly string TaskDefinition; + + [OutputConstructor] + private GetTaskExecutionResult( + ImmutableArray capacityProviderStrategies, + + string cluster, + + int? desiredCount, + + bool? enableEcsManagedTags, + + bool? enableExecuteCommand, + + string? group, + + string id, + + string? launchType, + + Outputs.GetTaskExecutionNetworkConfigurationResult? networkConfiguration, + + Outputs.GetTaskExecutionOverridesResult? overrides, + + ImmutableArray placementConstraints, + + ImmutableArray placementStrategies, + + string? platformVersion, + + string? propagateTags, + + string? referenceId, + + string? startedBy, + + ImmutableDictionary? tags, + + ImmutableArray taskArns, + + string taskDefinition) + { + CapacityProviderStrategies = capacityProviderStrategies; + Cluster = cluster; + DesiredCount = desiredCount; + EnableEcsManagedTags = enableEcsManagedTags; + EnableExecuteCommand = enableExecuteCommand; + Group = group; + Id = id; + LaunchType = launchType; + NetworkConfiguration = networkConfiguration; + Overrides = overrides; + PlacementConstraints = placementConstraints; + PlacementStrategies = placementStrategies; + PlatformVersion = platformVersion; + PropagateTags = propagateTags; + ReferenceId = referenceId; + StartedBy = startedBy; + Tags = tags; + TaskArns = taskArns; + TaskDefinition = taskDefinition; + } + } +} diff --git a/sdk/dotnet/Ecs/Inputs/GetTaskExecutionCapacityProviderStrategy.cs b/sdk/dotnet/Ecs/Inputs/GetTaskExecutionCapacityProviderStrategy.cs new file mode 100644 index 00000000000..a001b901f1e --- /dev/null +++ b/sdk/dotnet/Ecs/Inputs/GetTaskExecutionCapacityProviderStrategy.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.Ecs.Inputs +{ + + public sealed class GetTaskExecutionCapacityProviderStrategyArgs : global::Pulumi.InvokeArgs + { + /// + /// The number of tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a base defined. Defaults to `0`. + /// + [Input("base")] + public int? Base { get; set; } + + /// + /// Name of the capacity provider. + /// + [Input("capacityProvider", required: true)] + public string CapacityProvider { get; set; } = null!; + + /// + /// The relative percentage of the total number of launched tasks that should use the specified capacity provider. The `weight` value is taken into consideration after the `base` count of tasks has been satisfied. Defaults to `0`. + /// + [Input("weight")] + public int? Weight { get; set; } + + public GetTaskExecutionCapacityProviderStrategyArgs() + { + } + public static new GetTaskExecutionCapacityProviderStrategyArgs Empty => new GetTaskExecutionCapacityProviderStrategyArgs(); + } +} diff --git a/sdk/dotnet/Ecs/Inputs/GetTaskExecutionCapacityProviderStrategyArgs.cs b/sdk/dotnet/Ecs/Inputs/GetTaskExecutionCapacityProviderStrategyArgs.cs new file mode 100644 index 00000000000..1ff5088f8e7 --- /dev/null +++ b/sdk/dotnet/Ecs/Inputs/GetTaskExecutionCapacityProviderStrategyArgs.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.Ecs.Inputs +{ + + public sealed class GetTaskExecutionCapacityProviderStrategyInputArgs : global::Pulumi.ResourceArgs + { + /// + /// The number of tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a base defined. Defaults to `0`. + /// + [Input("base")] + public Input? Base { get; set; } + + /// + /// Name of the capacity provider. + /// + [Input("capacityProvider", required: true)] + public Input CapacityProvider { get; set; } = null!; + + /// + /// The relative percentage of the total number of launched tasks that should use the specified capacity provider. The `weight` value is taken into consideration after the `base` count of tasks has been satisfied. Defaults to `0`. + /// + [Input("weight")] + public Input? Weight { get; set; } + + public GetTaskExecutionCapacityProviderStrategyInputArgs() + { + } + public static new GetTaskExecutionCapacityProviderStrategyInputArgs Empty => new GetTaskExecutionCapacityProviderStrategyInputArgs(); + } +} diff --git a/sdk/dotnet/Ecs/Inputs/GetTaskExecutionNetworkConfiguration.cs b/sdk/dotnet/Ecs/Inputs/GetTaskExecutionNetworkConfiguration.cs new file mode 100644 index 00000000000..281db6b5dc3 --- /dev/null +++ b/sdk/dotnet/Ecs/Inputs/GetTaskExecutionNetworkConfiguration.cs @@ -0,0 +1,50 @@ +// *** 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.Ecs.Inputs +{ + + public sealed class GetTaskExecutionNetworkConfigurationArgs : global::Pulumi.InvokeArgs + { + /// + /// Assign a public IP address to the ENI (Fargate launch type only). Valid values are `true` or `false`. Default `false`. + /// + [Input("assignPublicIp")] + public bool? AssignPublicIp { get; set; } + + [Input("securityGroups")] + private List? _securityGroups; + + /// + /// Security groups associated with the task or service. If you do not specify a security group, the default security group for the VPC is used. + /// + public List SecurityGroups + { + get => _securityGroups ?? (_securityGroups = new List()); + set => _securityGroups = value; + } + + [Input("subnets", required: true)] + private List? _subnets; + + /// + /// Subnets associated with the task or service. + /// + public List Subnets + { + get => _subnets ?? (_subnets = new List()); + set => _subnets = value; + } + + public GetTaskExecutionNetworkConfigurationArgs() + { + } + public static new GetTaskExecutionNetworkConfigurationArgs Empty => new GetTaskExecutionNetworkConfigurationArgs(); + } +} diff --git a/sdk/dotnet/Ecs/Inputs/GetTaskExecutionNetworkConfigurationArgs.cs b/sdk/dotnet/Ecs/Inputs/GetTaskExecutionNetworkConfigurationArgs.cs new file mode 100644 index 00000000000..f2cf022e08a --- /dev/null +++ b/sdk/dotnet/Ecs/Inputs/GetTaskExecutionNetworkConfigurationArgs.cs @@ -0,0 +1,50 @@ +// *** 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.Ecs.Inputs +{ + + public sealed class GetTaskExecutionNetworkConfigurationInputArgs : global::Pulumi.ResourceArgs + { + /// + /// Assign a public IP address to the ENI (Fargate launch type only). Valid values are `true` or `false`. Default `false`. + /// + [Input("assignPublicIp")] + public Input? AssignPublicIp { get; set; } + + [Input("securityGroups")] + private InputList? _securityGroups; + + /// + /// Security groups associated with the task or service. If you do not specify a security group, the default security group for the VPC is used. + /// + public InputList SecurityGroups + { + get => _securityGroups ?? (_securityGroups = new InputList()); + set => _securityGroups = value; + } + + [Input("subnets", required: true)] + private InputList? _subnets; + + /// + /// Subnets associated with the task or service. + /// + public InputList Subnets + { + get => _subnets ?? (_subnets = new InputList()); + set => _subnets = value; + } + + public GetTaskExecutionNetworkConfigurationInputArgs() + { + } + public static new GetTaskExecutionNetworkConfigurationInputArgs Empty => new GetTaskExecutionNetworkConfigurationInputArgs(); + } +} diff --git a/sdk/dotnet/Ecs/Inputs/GetTaskExecutionOverrides.cs b/sdk/dotnet/Ecs/Inputs/GetTaskExecutionOverrides.cs new file mode 100644 index 00000000000..f81f123e079 --- /dev/null +++ b/sdk/dotnet/Ecs/Inputs/GetTaskExecutionOverrides.cs @@ -0,0 +1,68 @@ +// *** 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.Ecs.Inputs +{ + + public sealed class GetTaskExecutionOverridesArgs : global::Pulumi.InvokeArgs + { + [Input("containerOverrides")] + private List? _containerOverrides; + + /// + /// One or more container overrides that are sent to a task. See below. + /// + public List ContainerOverrides + { + get => _containerOverrides ?? (_containerOverrides = new List()); + set => _containerOverrides = value; + } + + /// + /// The CPU override for the task. + /// + [Input("cpu")] + public string? Cpu { get; set; } + + /// + /// Amazon Resource Name (ARN) of the task execution role override for the task. + /// + [Input("executionRoleArn")] + public string? ExecutionRoleArn { get; set; } + + [Input("inferenceAcceleratorOverrides")] + private List? _inferenceAcceleratorOverrides; + + /// + /// Elastic Inference accelerator override for the task. See below. + /// + public List InferenceAcceleratorOverrides + { + get => _inferenceAcceleratorOverrides ?? (_inferenceAcceleratorOverrides = new List()); + set => _inferenceAcceleratorOverrides = value; + } + + /// + /// The memory override for the task. + /// + [Input("memory")] + public string? Memory { get; set; } + + /// + /// Amazon Resource Name (ARN) of the role that containers in this task can assume. + /// + [Input("taskRoleArn")] + public string? TaskRoleArn { get; set; } + + public GetTaskExecutionOverridesArgs() + { + } + public static new GetTaskExecutionOverridesArgs Empty => new GetTaskExecutionOverridesArgs(); + } +} diff --git a/sdk/dotnet/Ecs/Inputs/GetTaskExecutionOverridesArgs.cs b/sdk/dotnet/Ecs/Inputs/GetTaskExecutionOverridesArgs.cs new file mode 100644 index 00000000000..85960f46d28 --- /dev/null +++ b/sdk/dotnet/Ecs/Inputs/GetTaskExecutionOverridesArgs.cs @@ -0,0 +1,68 @@ +// *** 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.Ecs.Inputs +{ + + public sealed class GetTaskExecutionOverridesInputArgs : global::Pulumi.ResourceArgs + { + [Input("containerOverrides")] + private InputList? _containerOverrides; + + /// + /// One or more container overrides that are sent to a task. See below. + /// + public InputList ContainerOverrides + { + get => _containerOverrides ?? (_containerOverrides = new InputList()); + set => _containerOverrides = value; + } + + /// + /// The CPU override for the task. + /// + [Input("cpu")] + public Input? Cpu { get; set; } + + /// + /// Amazon Resource Name (ARN) of the task execution role override for the task. + /// + [Input("executionRoleArn")] + public Input? ExecutionRoleArn { get; set; } + + [Input("inferenceAcceleratorOverrides")] + private InputList? _inferenceAcceleratorOverrides; + + /// + /// Elastic Inference accelerator override for the task. See below. + /// + public InputList InferenceAcceleratorOverrides + { + get => _inferenceAcceleratorOverrides ?? (_inferenceAcceleratorOverrides = new InputList()); + set => _inferenceAcceleratorOverrides = value; + } + + /// + /// The memory override for the task. + /// + [Input("memory")] + public Input? Memory { get; set; } + + /// + /// Amazon Resource Name (ARN) of the role that containers in this task can assume. + /// + [Input("taskRoleArn")] + public Input? TaskRoleArn { get; set; } + + public GetTaskExecutionOverridesInputArgs() + { + } + public static new GetTaskExecutionOverridesInputArgs Empty => new GetTaskExecutionOverridesInputArgs(); + } +} diff --git a/sdk/dotnet/Ecs/Inputs/GetTaskExecutionOverridesContainerOverride.cs b/sdk/dotnet/Ecs/Inputs/GetTaskExecutionOverridesContainerOverride.cs new file mode 100644 index 00000000000..7a59f8bd900 --- /dev/null +++ b/sdk/dotnet/Ecs/Inputs/GetTaskExecutionOverridesContainerOverride.cs @@ -0,0 +1,80 @@ +// *** 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.Ecs.Inputs +{ + + public sealed class GetTaskExecutionOverridesContainerOverrideArgs : global::Pulumi.InvokeArgs + { + [Input("commands")] + private List? _commands; + + /// + /// The command to send to the container that overrides the default command from the Docker image or the task definition. + /// + public List Commands + { + get => _commands ?? (_commands = new List()); + set => _commands = value; + } + + /// + /// The number of cpu units reserved for the container, instead of the default value from the task definition. + /// + [Input("cpu")] + public int? Cpu { get; set; } + + [Input("environments")] + private List? _environments; + + /// + /// The environment variables to send to the container. You can add new environment variables, which are added to the container at launch, or you can override the existing environment variables from the Docker image or the task definition. See below. + /// + public List Environments + { + get => _environments ?? (_environments = new List()); + set => _environments = value; + } + + /// + /// The hard limit (in MiB) of memory to present to the container, instead of the default value from the task definition. If your container attempts to exceed the memory specified here, the container is killed. + /// + [Input("memory")] + public int? Memory { get; set; } + + /// + /// The soft limit (in MiB) of memory to reserve for the container, instead of the default value from the task definition. + /// + [Input("memoryReservation")] + public int? MemoryReservation { get; set; } + + /// + /// The name of the container that receives the override. This parameter is required if any override is specified. + /// + [Input("name", required: true)] + public string Name { get; set; } = null!; + + [Input("resourceRequirements")] + private List? _resourceRequirements; + + /// + /// The type and amount of a resource to assign to a container, instead of the default value from the task definition. The only supported resource is a GPU. See below. + /// + public List ResourceRequirements + { + get => _resourceRequirements ?? (_resourceRequirements = new List()); + set => _resourceRequirements = value; + } + + public GetTaskExecutionOverridesContainerOverrideArgs() + { + } + public static new GetTaskExecutionOverridesContainerOverrideArgs Empty => new GetTaskExecutionOverridesContainerOverrideArgs(); + } +} diff --git a/sdk/dotnet/Ecs/Inputs/GetTaskExecutionOverridesContainerOverrideArgs.cs b/sdk/dotnet/Ecs/Inputs/GetTaskExecutionOverridesContainerOverrideArgs.cs new file mode 100644 index 00000000000..127777b5839 --- /dev/null +++ b/sdk/dotnet/Ecs/Inputs/GetTaskExecutionOverridesContainerOverrideArgs.cs @@ -0,0 +1,80 @@ +// *** 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.Ecs.Inputs +{ + + public sealed class GetTaskExecutionOverridesContainerOverrideInputArgs : global::Pulumi.ResourceArgs + { + [Input("commands")] + private InputList? _commands; + + /// + /// The command to send to the container that overrides the default command from the Docker image or the task definition. + /// + public InputList Commands + { + get => _commands ?? (_commands = new InputList()); + set => _commands = value; + } + + /// + /// The number of cpu units reserved for the container, instead of the default value from the task definition. + /// + [Input("cpu")] + public Input? Cpu { get; set; } + + [Input("environments")] + private InputList? _environments; + + /// + /// The environment variables to send to the container. You can add new environment variables, which are added to the container at launch, or you can override the existing environment variables from the Docker image or the task definition. See below. + /// + public InputList Environments + { + get => _environments ?? (_environments = new InputList()); + set => _environments = value; + } + + /// + /// The hard limit (in MiB) of memory to present to the container, instead of the default value from the task definition. If your container attempts to exceed the memory specified here, the container is killed. + /// + [Input("memory")] + public Input? Memory { get; set; } + + /// + /// The soft limit (in MiB) of memory to reserve for the container, instead of the default value from the task definition. + /// + [Input("memoryReservation")] + public Input? MemoryReservation { get; set; } + + /// + /// The name of the container that receives the override. This parameter is required if any override is specified. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + [Input("resourceRequirements")] + private InputList? _resourceRequirements; + + /// + /// The type and amount of a resource to assign to a container, instead of the default value from the task definition. The only supported resource is a GPU. See below. + /// + public InputList ResourceRequirements + { + get => _resourceRequirements ?? (_resourceRequirements = new InputList()); + set => _resourceRequirements = value; + } + + public GetTaskExecutionOverridesContainerOverrideInputArgs() + { + } + public static new GetTaskExecutionOverridesContainerOverrideInputArgs Empty => new GetTaskExecutionOverridesContainerOverrideInputArgs(); + } +} diff --git a/sdk/dotnet/Ecs/Inputs/GetTaskExecutionOverridesContainerOverrideEnvironment.cs b/sdk/dotnet/Ecs/Inputs/GetTaskExecutionOverridesContainerOverrideEnvironment.cs new file mode 100644 index 00000000000..e2b3f2f4bee --- /dev/null +++ b/sdk/dotnet/Ecs/Inputs/GetTaskExecutionOverridesContainerOverrideEnvironment.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.Ecs.Inputs +{ + + public sealed class GetTaskExecutionOverridesContainerOverrideEnvironmentArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the key-value pair. For environment variables, this is the name of the environment variable. + /// + [Input("key", required: true)] + public string Key { get; set; } = null!; + + /// + /// The value of the key-value pair. For environment variables, this is the value of the environment variable. + /// + [Input("value", required: true)] + public string Value { get; set; } = null!; + + public GetTaskExecutionOverridesContainerOverrideEnvironmentArgs() + { + } + public static new GetTaskExecutionOverridesContainerOverrideEnvironmentArgs Empty => new GetTaskExecutionOverridesContainerOverrideEnvironmentArgs(); + } +} diff --git a/sdk/dotnet/Ecs/Inputs/GetTaskExecutionOverridesContainerOverrideEnvironmentArgs.cs b/sdk/dotnet/Ecs/Inputs/GetTaskExecutionOverridesContainerOverrideEnvironmentArgs.cs new file mode 100644 index 00000000000..376a8930234 --- /dev/null +++ b/sdk/dotnet/Ecs/Inputs/GetTaskExecutionOverridesContainerOverrideEnvironmentArgs.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.Ecs.Inputs +{ + + public sealed class GetTaskExecutionOverridesContainerOverrideEnvironmentInputArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the key-value pair. For environment variables, this is the name of the environment variable. + /// + [Input("key", required: true)] + public Input Key { get; set; } = null!; + + /// + /// The value of the key-value pair. For environment variables, this is the value of the environment variable. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public GetTaskExecutionOverridesContainerOverrideEnvironmentInputArgs() + { + } + public static new GetTaskExecutionOverridesContainerOverrideEnvironmentInputArgs Empty => new GetTaskExecutionOverridesContainerOverrideEnvironmentInputArgs(); + } +} diff --git a/sdk/dotnet/Ecs/Inputs/GetTaskExecutionOverridesContainerOverrideResourceRequirement.cs b/sdk/dotnet/Ecs/Inputs/GetTaskExecutionOverridesContainerOverrideResourceRequirement.cs new file mode 100644 index 00000000000..92599d362c5 --- /dev/null +++ b/sdk/dotnet/Ecs/Inputs/GetTaskExecutionOverridesContainerOverrideResourceRequirement.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.Ecs.Inputs +{ + + public sealed class GetTaskExecutionOverridesContainerOverrideResourceRequirementArgs : global::Pulumi.InvokeArgs + { + /// + /// The type of resource to assign to a container. Valid values are `GPU` or `InferenceAccelerator`. + /// + [Input("type", required: true)] + public string Type { get; set; } = null!; + + /// + /// The value for the specified resource type. If the `GPU` type is used, the value is the number of physical GPUs the Amazon ECS container agent reserves for the container. The number of GPUs that's reserved for all containers in a task can't exceed the number of available GPUs on the container instance that the task is launched on. If the `InferenceAccelerator` type is used, the value matches the `deviceName` for an InferenceAccelerator specified in a task definition. + /// + [Input("value", required: true)] + public string Value { get; set; } = null!; + + public GetTaskExecutionOverridesContainerOverrideResourceRequirementArgs() + { + } + public static new GetTaskExecutionOverridesContainerOverrideResourceRequirementArgs Empty => new GetTaskExecutionOverridesContainerOverrideResourceRequirementArgs(); + } +} diff --git a/sdk/dotnet/Ecs/Inputs/GetTaskExecutionOverridesContainerOverrideResourceRequirementArgs.cs b/sdk/dotnet/Ecs/Inputs/GetTaskExecutionOverridesContainerOverrideResourceRequirementArgs.cs new file mode 100644 index 00000000000..54b4f97d2c3 --- /dev/null +++ b/sdk/dotnet/Ecs/Inputs/GetTaskExecutionOverridesContainerOverrideResourceRequirementArgs.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.Ecs.Inputs +{ + + public sealed class GetTaskExecutionOverridesContainerOverrideResourceRequirementInputArgs : global::Pulumi.ResourceArgs + { + /// + /// The type of resource to assign to a container. Valid values are `GPU` or `InferenceAccelerator`. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + /// + /// The value for the specified resource type. If the `GPU` type is used, the value is the number of physical GPUs the Amazon ECS container agent reserves for the container. The number of GPUs that's reserved for all containers in a task can't exceed the number of available GPUs on the container instance that the task is launched on. If the `InferenceAccelerator` type is used, the value matches the `deviceName` for an InferenceAccelerator specified in a task definition. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public GetTaskExecutionOverridesContainerOverrideResourceRequirementInputArgs() + { + } + public static new GetTaskExecutionOverridesContainerOverrideResourceRequirementInputArgs Empty => new GetTaskExecutionOverridesContainerOverrideResourceRequirementInputArgs(); + } +} diff --git a/sdk/dotnet/Ecs/Inputs/GetTaskExecutionOverridesInferenceAcceleratorOverride.cs b/sdk/dotnet/Ecs/Inputs/GetTaskExecutionOverridesInferenceAcceleratorOverride.cs new file mode 100644 index 00000000000..d11372439df --- /dev/null +++ b/sdk/dotnet/Ecs/Inputs/GetTaskExecutionOverridesInferenceAcceleratorOverride.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.Ecs.Inputs +{ + + public sealed class GetTaskExecutionOverridesInferenceAcceleratorOverrideArgs : global::Pulumi.InvokeArgs + { + /// + /// The Elastic Inference accelerator device name to override for the task. This parameter must match a deviceName specified in the task definition. + /// + [Input("deviceName")] + public string? DeviceName { get; set; } + + /// + /// The Elastic Inference accelerator type to use. + /// + [Input("deviceType")] + public string? DeviceType { get; set; } + + public GetTaskExecutionOverridesInferenceAcceleratorOverrideArgs() + { + } + public static new GetTaskExecutionOverridesInferenceAcceleratorOverrideArgs Empty => new GetTaskExecutionOverridesInferenceAcceleratorOverrideArgs(); + } +} diff --git a/sdk/dotnet/Ecs/Inputs/GetTaskExecutionOverridesInferenceAcceleratorOverrideArgs.cs b/sdk/dotnet/Ecs/Inputs/GetTaskExecutionOverridesInferenceAcceleratorOverrideArgs.cs new file mode 100644 index 00000000000..475aba349af --- /dev/null +++ b/sdk/dotnet/Ecs/Inputs/GetTaskExecutionOverridesInferenceAcceleratorOverrideArgs.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.Ecs.Inputs +{ + + public sealed class GetTaskExecutionOverridesInferenceAcceleratorOverrideInputArgs : global::Pulumi.ResourceArgs + { + /// + /// The Elastic Inference accelerator device name to override for the task. This parameter must match a deviceName specified in the task definition. + /// + [Input("deviceName")] + public Input? DeviceName { get; set; } + + /// + /// The Elastic Inference accelerator type to use. + /// + [Input("deviceType")] + public Input? DeviceType { get; set; } + + public GetTaskExecutionOverridesInferenceAcceleratorOverrideInputArgs() + { + } + public static new GetTaskExecutionOverridesInferenceAcceleratorOverrideInputArgs Empty => new GetTaskExecutionOverridesInferenceAcceleratorOverrideInputArgs(); + } +} diff --git a/sdk/dotnet/Ecs/Inputs/GetTaskExecutionPlacementConstraint.cs b/sdk/dotnet/Ecs/Inputs/GetTaskExecutionPlacementConstraint.cs new file mode 100644 index 00000000000..dfe17e3e46a --- /dev/null +++ b/sdk/dotnet/Ecs/Inputs/GetTaskExecutionPlacementConstraint.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.Ecs.Inputs +{ + + public sealed class GetTaskExecutionPlacementConstraintArgs : global::Pulumi.InvokeArgs + { + /// + /// A cluster query language expression to apply to the constraint. The expression can have a maximum length of 2000 characters. You can't specify an expression if the constraint type is `distinctInstance`. + /// + [Input("expression")] + public string? Expression { get; set; } + + /// + /// The type of constraint. Valid values are `distinctInstance` or `memberOf`. Use `distinctInstance` to ensure that each task in a particular group is running on a different container instance. Use `memberOf` to restrict the selection to a group of valid candidates. + /// + [Input("type", required: true)] + public string Type { get; set; } = null!; + + public GetTaskExecutionPlacementConstraintArgs() + { + } + public static new GetTaskExecutionPlacementConstraintArgs Empty => new GetTaskExecutionPlacementConstraintArgs(); + } +} diff --git a/sdk/dotnet/Ecs/Inputs/GetTaskExecutionPlacementConstraintArgs.cs b/sdk/dotnet/Ecs/Inputs/GetTaskExecutionPlacementConstraintArgs.cs new file mode 100644 index 00000000000..eecf48d6367 --- /dev/null +++ b/sdk/dotnet/Ecs/Inputs/GetTaskExecutionPlacementConstraintArgs.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.Ecs.Inputs +{ + + public sealed class GetTaskExecutionPlacementConstraintInputArgs : global::Pulumi.ResourceArgs + { + /// + /// A cluster query language expression to apply to the constraint. The expression can have a maximum length of 2000 characters. You can't specify an expression if the constraint type is `distinctInstance`. + /// + [Input("expression")] + public Input? Expression { get; set; } + + /// + /// The type of constraint. Valid values are `distinctInstance` or `memberOf`. Use `distinctInstance` to ensure that each task in a particular group is running on a different container instance. Use `memberOf` to restrict the selection to a group of valid candidates. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + public GetTaskExecutionPlacementConstraintInputArgs() + { + } + public static new GetTaskExecutionPlacementConstraintInputArgs Empty => new GetTaskExecutionPlacementConstraintInputArgs(); + } +} diff --git a/sdk/dotnet/Ecs/Inputs/GetTaskExecutionPlacementStrategy.cs b/sdk/dotnet/Ecs/Inputs/GetTaskExecutionPlacementStrategy.cs new file mode 100644 index 00000000000..bd9c79ff6f2 --- /dev/null +++ b/sdk/dotnet/Ecs/Inputs/GetTaskExecutionPlacementStrategy.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.Ecs.Inputs +{ + + public sealed class GetTaskExecutionPlacementStrategyArgs : global::Pulumi.InvokeArgs + { + /// + /// The field to apply the placement strategy against. + /// + [Input("field")] + public string? Field { get; set; } + + /// + /// The type of placement strategy. Valid values are `random`, `spread`, and `binpack`. + /// + [Input("type", required: true)] + public string Type { get; set; } = null!; + + public GetTaskExecutionPlacementStrategyArgs() + { + } + public static new GetTaskExecutionPlacementStrategyArgs Empty => new GetTaskExecutionPlacementStrategyArgs(); + } +} diff --git a/sdk/dotnet/Ecs/Inputs/GetTaskExecutionPlacementStrategyArgs.cs b/sdk/dotnet/Ecs/Inputs/GetTaskExecutionPlacementStrategyArgs.cs new file mode 100644 index 00000000000..81b40a47e46 --- /dev/null +++ b/sdk/dotnet/Ecs/Inputs/GetTaskExecutionPlacementStrategyArgs.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.Ecs.Inputs +{ + + public sealed class GetTaskExecutionPlacementStrategyInputArgs : global::Pulumi.ResourceArgs + { + /// + /// The field to apply the placement strategy against. + /// + [Input("field")] + public Input? Field { get; set; } + + /// + /// The type of placement strategy. Valid values are `random`, `spread`, and `binpack`. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + public GetTaskExecutionPlacementStrategyInputArgs() + { + } + public static new GetTaskExecutionPlacementStrategyInputArgs Empty => new GetTaskExecutionPlacementStrategyInputArgs(); + } +} diff --git a/sdk/dotnet/Ecs/Outputs/GetTaskExecutionCapacityProviderStrategyResult.cs b/sdk/dotnet/Ecs/Outputs/GetTaskExecutionCapacityProviderStrategyResult.cs new file mode 100644 index 00000000000..a543f42918a --- /dev/null +++ b/sdk/dotnet/Ecs/Outputs/GetTaskExecutionCapacityProviderStrategyResult.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.Ecs.Outputs +{ + + [OutputType] + public sealed class GetTaskExecutionCapacityProviderStrategyResult + { + /// + /// The number of tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a base defined. Defaults to `0`. + /// + public readonly int? Base; + /// + /// Name of the capacity provider. + /// + public readonly string CapacityProvider; + /// + /// The relative percentage of the total number of launched tasks that should use the specified capacity provider. The `weight` value is taken into consideration after the `base` count of tasks has been satisfied. Defaults to `0`. + /// + public readonly int? Weight; + + [OutputConstructor] + private GetTaskExecutionCapacityProviderStrategyResult( + int? @base, + + string capacityProvider, + + int? weight) + { + Base = @base; + CapacityProvider = capacityProvider; + Weight = weight; + } + } +} diff --git a/sdk/dotnet/Ecs/Outputs/GetTaskExecutionNetworkConfigurationResult.cs b/sdk/dotnet/Ecs/Outputs/GetTaskExecutionNetworkConfigurationResult.cs new file mode 100644 index 00000000000..e792224b90e --- /dev/null +++ b/sdk/dotnet/Ecs/Outputs/GetTaskExecutionNetworkConfigurationResult.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.Ecs.Outputs +{ + + [OutputType] + public sealed class GetTaskExecutionNetworkConfigurationResult + { + /// + /// Assign a public IP address to the ENI (Fargate launch type only). Valid values are `true` or `false`. Default `false`. + /// + public readonly bool? AssignPublicIp; + /// + /// Security groups associated with the task or service. If you do not specify a security group, the default security group for the VPC is used. + /// + public readonly ImmutableArray SecurityGroups; + /// + /// Subnets associated with the task or service. + /// + public readonly ImmutableArray Subnets; + + [OutputConstructor] + private GetTaskExecutionNetworkConfigurationResult( + bool? assignPublicIp, + + ImmutableArray securityGroups, + + ImmutableArray subnets) + { + AssignPublicIp = assignPublicIp; + SecurityGroups = securityGroups; + Subnets = subnets; + } + } +} diff --git a/sdk/dotnet/Ecs/Outputs/GetTaskExecutionOverridesContainerOverrideEnvironmentResult.cs b/sdk/dotnet/Ecs/Outputs/GetTaskExecutionOverridesContainerOverrideEnvironmentResult.cs new file mode 100644 index 00000000000..0a199540128 --- /dev/null +++ b/sdk/dotnet/Ecs/Outputs/GetTaskExecutionOverridesContainerOverrideEnvironmentResult.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Ecs.Outputs +{ + + [OutputType] + public sealed class GetTaskExecutionOverridesContainerOverrideEnvironmentResult + { + /// + /// The name of the key-value pair. For environment variables, this is the name of the environment variable. + /// + public readonly string Key; + /// + /// The value of the key-value pair. For environment variables, this is the value of the environment variable. + /// + public readonly string Value; + + [OutputConstructor] + private GetTaskExecutionOverridesContainerOverrideEnvironmentResult( + string key, + + string value) + { + Key = key; + Value = value; + } + } +} diff --git a/sdk/dotnet/Ecs/Outputs/GetTaskExecutionOverridesContainerOverrideResourceRequirementResult.cs b/sdk/dotnet/Ecs/Outputs/GetTaskExecutionOverridesContainerOverrideResourceRequirementResult.cs new file mode 100644 index 00000000000..85b7389148d --- /dev/null +++ b/sdk/dotnet/Ecs/Outputs/GetTaskExecutionOverridesContainerOverrideResourceRequirementResult.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Ecs.Outputs +{ + + [OutputType] + public sealed class GetTaskExecutionOverridesContainerOverrideResourceRequirementResult + { + /// + /// The type of resource to assign to a container. Valid values are `GPU` or `InferenceAccelerator`. + /// + public readonly string Type; + /// + /// The value for the specified resource type. If the `GPU` type is used, the value is the number of physical GPUs the Amazon ECS container agent reserves for the container. The number of GPUs that's reserved for all containers in a task can't exceed the number of available GPUs on the container instance that the task is launched on. If the `InferenceAccelerator` type is used, the value matches the `deviceName` for an InferenceAccelerator specified in a task definition. + /// + public readonly string Value; + + [OutputConstructor] + private GetTaskExecutionOverridesContainerOverrideResourceRequirementResult( + string type, + + string value) + { + Type = type; + Value = value; + } + } +} diff --git a/sdk/dotnet/Ecs/Outputs/GetTaskExecutionOverridesContainerOverrideResult.cs b/sdk/dotnet/Ecs/Outputs/GetTaskExecutionOverridesContainerOverrideResult.cs new file mode 100644 index 00000000000..8aeae9e1cb9 --- /dev/null +++ b/sdk/dotnet/Ecs/Outputs/GetTaskExecutionOverridesContainerOverrideResult.cs @@ -0,0 +1,70 @@ +// *** 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.Ecs.Outputs +{ + + [OutputType] + public sealed class GetTaskExecutionOverridesContainerOverrideResult + { + /// + /// The command to send to the container that overrides the default command from the Docker image or the task definition. + /// + public readonly ImmutableArray Commands; + /// + /// The number of cpu units reserved for the container, instead of the default value from the task definition. + /// + public readonly int? Cpu; + /// + /// The environment variables to send to the container. You can add new environment variables, which are added to the container at launch, or you can override the existing environment variables from the Docker image or the task definition. See below. + /// + public readonly ImmutableArray Environments; + /// + /// The hard limit (in MiB) of memory to present to the container, instead of the default value from the task definition. If your container attempts to exceed the memory specified here, the container is killed. + /// + public readonly int? Memory; + /// + /// The soft limit (in MiB) of memory to reserve for the container, instead of the default value from the task definition. + /// + public readonly int? MemoryReservation; + /// + /// The name of the container that receives the override. This parameter is required if any override is specified. + /// + public readonly string Name; + /// + /// The type and amount of a resource to assign to a container, instead of the default value from the task definition. The only supported resource is a GPU. See below. + /// + public readonly ImmutableArray ResourceRequirements; + + [OutputConstructor] + private GetTaskExecutionOverridesContainerOverrideResult( + ImmutableArray commands, + + int? cpu, + + ImmutableArray environments, + + int? memory, + + int? memoryReservation, + + string name, + + ImmutableArray resourceRequirements) + { + Commands = commands; + Cpu = cpu; + Environments = environments; + Memory = memory; + MemoryReservation = memoryReservation; + Name = name; + ResourceRequirements = resourceRequirements; + } + } +} diff --git a/sdk/dotnet/Ecs/Outputs/GetTaskExecutionOverridesInferenceAcceleratorOverrideResult.cs b/sdk/dotnet/Ecs/Outputs/GetTaskExecutionOverridesInferenceAcceleratorOverrideResult.cs new file mode 100644 index 00000000000..c64b3473541 --- /dev/null +++ b/sdk/dotnet/Ecs/Outputs/GetTaskExecutionOverridesInferenceAcceleratorOverrideResult.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Ecs.Outputs +{ + + [OutputType] + public sealed class GetTaskExecutionOverridesInferenceAcceleratorOverrideResult + { + /// + /// The Elastic Inference accelerator device name to override for the task. This parameter must match a deviceName specified in the task definition. + /// + public readonly string? DeviceName; + /// + /// The Elastic Inference accelerator type to use. + /// + public readonly string? DeviceType; + + [OutputConstructor] + private GetTaskExecutionOverridesInferenceAcceleratorOverrideResult( + string? deviceName, + + string? deviceType) + { + DeviceName = deviceName; + DeviceType = deviceType; + } + } +} diff --git a/sdk/dotnet/Ecs/Outputs/GetTaskExecutionOverridesResult.cs b/sdk/dotnet/Ecs/Outputs/GetTaskExecutionOverridesResult.cs new file mode 100644 index 00000000000..c89262d716b --- /dev/null +++ b/sdk/dotnet/Ecs/Outputs/GetTaskExecutionOverridesResult.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.Ecs.Outputs +{ + + [OutputType] + public sealed class GetTaskExecutionOverridesResult + { + /// + /// One or more container overrides that are sent to a task. See below. + /// + public readonly ImmutableArray ContainerOverrides; + /// + /// The CPU override for the task. + /// + public readonly string? Cpu; + /// + /// Amazon Resource Name (ARN) of the task execution role override for the task. + /// + public readonly string? ExecutionRoleArn; + /// + /// Elastic Inference accelerator override for the task. See below. + /// + public readonly ImmutableArray InferenceAcceleratorOverrides; + /// + /// The memory override for the task. + /// + public readonly string? Memory; + /// + /// Amazon Resource Name (ARN) of the role that containers in this task can assume. + /// + public readonly string? TaskRoleArn; + + [OutputConstructor] + private GetTaskExecutionOverridesResult( + ImmutableArray containerOverrides, + + string? cpu, + + string? executionRoleArn, + + ImmutableArray inferenceAcceleratorOverrides, + + string? memory, + + string? taskRoleArn) + { + ContainerOverrides = containerOverrides; + Cpu = cpu; + ExecutionRoleArn = executionRoleArn; + InferenceAcceleratorOverrides = inferenceAcceleratorOverrides; + Memory = memory; + TaskRoleArn = taskRoleArn; + } + } +} diff --git a/sdk/dotnet/Ecs/Outputs/GetTaskExecutionPlacementConstraintResult.cs b/sdk/dotnet/Ecs/Outputs/GetTaskExecutionPlacementConstraintResult.cs new file mode 100644 index 00000000000..2ba4dcacb71 --- /dev/null +++ b/sdk/dotnet/Ecs/Outputs/GetTaskExecutionPlacementConstraintResult.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Ecs.Outputs +{ + + [OutputType] + public sealed class GetTaskExecutionPlacementConstraintResult + { + /// + /// A cluster query language expression to apply to the constraint. The expression can have a maximum length of 2000 characters. You can't specify an expression if the constraint type is `distinctInstance`. + /// + public readonly string? Expression; + /// + /// The type of constraint. Valid values are `distinctInstance` or `memberOf`. Use `distinctInstance` to ensure that each task in a particular group is running on a different container instance. Use `memberOf` to restrict the selection to a group of valid candidates. + /// + public readonly string Type; + + [OutputConstructor] + private GetTaskExecutionPlacementConstraintResult( + string? expression, + + string type) + { + Expression = expression; + Type = type; + } + } +} diff --git a/sdk/dotnet/Ecs/Outputs/GetTaskExecutionPlacementStrategyResult.cs b/sdk/dotnet/Ecs/Outputs/GetTaskExecutionPlacementStrategyResult.cs new file mode 100644 index 00000000000..0a171fcedc0 --- /dev/null +++ b/sdk/dotnet/Ecs/Outputs/GetTaskExecutionPlacementStrategyResult.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Ecs.Outputs +{ + + [OutputType] + public sealed class GetTaskExecutionPlacementStrategyResult + { + /// + /// The field to apply the placement strategy against. + /// + public readonly string? Field; + /// + /// The type of placement strategy. Valid values are `random`, `spread`, and `binpack`. + /// + public readonly string Type; + + [OutputConstructor] + private GetTaskExecutionPlacementStrategyResult( + string? field, + + string type) + { + Field = field; + Type = type; + } + } +} diff --git a/sdk/dotnet/Eks/Cluster.cs b/sdk/dotnet/Eks/Cluster.cs index 80a63b9fa65..42eaa47fd85 100644 --- a/sdk/dotnet/Eks/Cluster.cs +++ b/sdk/dotnet/Eks/Cluster.cs @@ -49,6 +49,62 @@ namespace Pulumi.Aws.Eks /// }; /// }); /// ``` + /// ### Example IAM Role for EKS Cluster + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new() + /// { + /// Statements = new[] + /// { + /// new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs + /// { + /// Effect = "Allow", + /// Principals = new[] + /// { + /// new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs + /// { + /// Type = "Service", + /// Identifiers = new[] + /// { + /// "eks.amazonaws.com", + /// }, + /// }, + /// }, + /// Actions = new[] + /// { + /// "sts:AssumeRole", + /// }, + /// }, + /// }, + /// }); + /// + /// var example = new Aws.Iam.Role("example", new() + /// { + /// AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult => getPolicyDocumentResult.Json), + /// }); + /// + /// var example_AmazonEKSClusterPolicy = new Aws.Iam.RolePolicyAttachment("example-AmazonEKSClusterPolicy", new() + /// { + /// PolicyArn = "arn:aws:iam::aws:policy/AmazonEKSClusterPolicy", + /// Role = example.Name, + /// }); + /// + /// // Optionally, enable Security Groups for Pods + /// // Reference: https://docs.aws.amazon.com/eks/latest/userguide/security-groups-for-pods.html + /// var example_AmazonEKSVPCResourceController = new Aws.Iam.RolePolicyAttachment("example-AmazonEKSVPCResourceController", new() + /// { + /// PolicyArn = "arn:aws:iam::aws:policy/AmazonEKSVPCResourceController", + /// Role = example.Name, + /// }); + /// + /// }); + /// ``` /// ### Enabling Control Plane Logging /// /// [EKS Control Plane Logging](https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html) can be enabled via the `enabled_cluster_log_types` argument. To manage the CloudWatch Log Group retention period, the `aws.cloudwatch.LogGroup` resource can be used. diff --git a/sdk/dotnet/Grafana/Inputs/WorkspaceNetworkAccessControlArgs.cs b/sdk/dotnet/Grafana/Inputs/WorkspaceNetworkAccessControlArgs.cs new file mode 100644 index 00000000000..fcbd81f6ca4 --- /dev/null +++ b/sdk/dotnet/Grafana/Inputs/WorkspaceNetworkAccessControlArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Grafana.Inputs +{ + + public sealed class WorkspaceNetworkAccessControlArgs : global::Pulumi.ResourceArgs + { + [Input("prefixListIds", required: true)] + private InputList? _prefixListIds; + + /// + /// An array of prefix list IDs. + /// + public InputList PrefixListIds + { + get => _prefixListIds ?? (_prefixListIds = new InputList()); + set => _prefixListIds = value; + } + + [Input("vpceIds", required: true)] + private InputList? _vpceIds; + + /// + /// An array of Amazon VPC endpoint IDs for the workspace. The only VPC endpoints that can be specified here are interface VPC endpoints for Grafana workspaces (using the com.amazonaws.[region].grafana-workspace service endpoint). Other VPC endpoints will be ignored. + /// + public InputList VpceIds + { + get => _vpceIds ?? (_vpceIds = new InputList()); + set => _vpceIds = value; + } + + public WorkspaceNetworkAccessControlArgs() + { + } + public static new WorkspaceNetworkAccessControlArgs Empty => new WorkspaceNetworkAccessControlArgs(); + } +} diff --git a/sdk/dotnet/Grafana/Inputs/WorkspaceNetworkAccessControlGetArgs.cs b/sdk/dotnet/Grafana/Inputs/WorkspaceNetworkAccessControlGetArgs.cs new file mode 100644 index 00000000000..4fa2130553a --- /dev/null +++ b/sdk/dotnet/Grafana/Inputs/WorkspaceNetworkAccessControlGetArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Grafana.Inputs +{ + + public sealed class WorkspaceNetworkAccessControlGetArgs : global::Pulumi.ResourceArgs + { + [Input("prefixListIds", required: true)] + private InputList? _prefixListIds; + + /// + /// An array of prefix list IDs. + /// + public InputList PrefixListIds + { + get => _prefixListIds ?? (_prefixListIds = new InputList()); + set => _prefixListIds = value; + } + + [Input("vpceIds", required: true)] + private InputList? _vpceIds; + + /// + /// An array of Amazon VPC endpoint IDs for the workspace. The only VPC endpoints that can be specified here are interface VPC endpoints for Grafana workspaces (using the com.amazonaws.[region].grafana-workspace service endpoint). Other VPC endpoints will be ignored. + /// + public InputList VpceIds + { + get => _vpceIds ?? (_vpceIds = new InputList()); + set => _vpceIds = value; + } + + public WorkspaceNetworkAccessControlGetArgs() + { + } + public static new WorkspaceNetworkAccessControlGetArgs Empty => new WorkspaceNetworkAccessControlGetArgs(); + } +} diff --git a/sdk/dotnet/Grafana/Outputs/WorkspaceNetworkAccessControl.cs b/sdk/dotnet/Grafana/Outputs/WorkspaceNetworkAccessControl.cs new file mode 100644 index 00000000000..e4ea3b15494 --- /dev/null +++ b/sdk/dotnet/Grafana/Outputs/WorkspaceNetworkAccessControl.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Grafana.Outputs +{ + + [OutputType] + public sealed class WorkspaceNetworkAccessControl + { + /// + /// An array of prefix list IDs. + /// + public readonly ImmutableArray PrefixListIds; + /// + /// An array of Amazon VPC endpoint IDs for the workspace. The only VPC endpoints that can be specified here are interface VPC endpoints for Grafana workspaces (using the com.amazonaws.[region].grafana-workspace service endpoint). Other VPC endpoints will be ignored. + /// + public readonly ImmutableArray VpceIds; + + [OutputConstructor] + private WorkspaceNetworkAccessControl( + ImmutableArray prefixListIds, + + ImmutableArray vpceIds) + { + PrefixListIds = prefixListIds; + VpceIds = vpceIds; + } + } +} diff --git a/sdk/dotnet/Grafana/Workspace.cs b/sdk/dotnet/Grafana/Workspace.cs index f78587e5acc..8f57e831b1e 100644 --- a/sdk/dotnet/Grafana/Workspace.cs +++ b/sdk/dotnet/Grafana/Workspace.cs @@ -123,6 +123,12 @@ public partial class Workspace : global::Pulumi.CustomResource [Output("name")] public Output Name { get; private set; } = null!; + /// + /// Configuration for network access to your workspace.See Network Access Control below. + /// + [Output("networkAccessControl")] + public Output NetworkAccessControl { get; private set; } = null!; + /// /// The notification destinations. If a data source is specified here, Amazon Managed Grafana will create IAM roles and permissions needed to use these destinations. Must be set to `SNS`. /// @@ -274,6 +280,12 @@ public InputList DataSources [Input("name")] public Input? Name { get; set; } + /// + /// Configuration for network access to your workspace.See Network Access Control below. + /// + [Input("networkAccessControl")] + public Input? NetworkAccessControl { get; set; } + [Input("notificationDestinations")] private InputList? _notificationDestinations; @@ -414,6 +426,12 @@ public InputList DataSources [Input("name")] public Input? Name { get; set; } + /// + /// Configuration for network access to your workspace.See Network Access Control below. + /// + [Input("networkAccessControl")] + public Input? NetworkAccessControl { get; set; } + [Input("notificationDestinations")] private InputList? _notificationDestinations; diff --git a/sdk/dotnet/Iam/PolicyAttachment.cs b/sdk/dotnet/Iam/PolicyAttachment.cs index c2c7db18b35..4b1c3443d56 100644 --- a/sdk/dotnet/Iam/PolicyAttachment.cs +++ b/sdk/dotnet/Iam/PolicyAttachment.cs @@ -17,6 +17,95 @@ namespace Pulumi.Aws.Iam /// > **NOTE:** The usage of this resource conflicts with the `aws.iam.GroupPolicyAttachment`, `aws.iam.RolePolicyAttachment`, and `aws.iam.UserPolicyAttachment` resources and will permanently show a difference if both are defined. /// /// > **NOTE:** For a given role, this resource is incompatible with using the `aws.iam.Role` resource `managed_policy_arns` argument. When using that argument and this resource, both will attempt to manage the role's managed policy attachments and the provider will show a permanent difference. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var user = new Aws.Iam.User("user"); + /// + /// var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new() + /// { + /// Statements = new[] + /// { + /// new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs + /// { + /// Effect = "Allow", + /// Principals = new[] + /// { + /// new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs + /// { + /// Type = "Service", + /// Identifiers = new[] + /// { + /// "ec2.amazonaws.com", + /// }, + /// }, + /// }, + /// Actions = new[] + /// { + /// "sts:AssumeRole", + /// }, + /// }, + /// }, + /// }); + /// + /// var role = new Aws.Iam.Role("role", new() + /// { + /// AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult => getPolicyDocumentResult.Json), + /// }); + /// + /// var @group = new Aws.Iam.Group("group"); + /// + /// var policyPolicyDocument = Aws.Iam.GetPolicyDocument.Invoke(new() + /// { + /// Statements = new[] + /// { + /// new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs + /// { + /// Effect = "Allow", + /// Actions = new[] + /// { + /// "ec2:Describe*", + /// }, + /// Resources = new[] + /// { + /// "*", + /// }, + /// }, + /// }, + /// }); + /// + /// var policyPolicy = new Aws.Iam.Policy("policyPolicy", new() + /// { + /// Description = "A test policy", + /// PolicyDocument = policyPolicyDocument.Apply(getPolicyDocumentResult => getPolicyDocumentResult.Json), + /// }); + /// + /// var test_attach = new Aws.Iam.PolicyAttachment("test-attach", new() + /// { + /// Users = new[] + /// { + /// user.Name, + /// }, + /// Roles = new[] + /// { + /// role.Name, + /// }, + /// Groups = new[] + /// { + /// @group.Name, + /// }, + /// PolicyArn = policyPolicy.Arn, + /// }); + /// + /// }); + /// ``` /// [AwsResourceType("aws:iam/policyAttachment:PolicyAttachment")] public partial class PolicyAttachment : global::Pulumi.CustomResource diff --git a/sdk/dotnet/Lambda/Function.cs b/sdk/dotnet/Lambda/Function.cs index 12b483630f8..1ff4ee574e0 100644 --- a/sdk/dotnet/Lambda/Function.cs +++ b/sdk/dotnet/Lambda/Function.cs @@ -16,6 +16,8 @@ namespace Pulumi.Aws.Lambda /// /// > **NOTE:** Due to [AWS Lambda improved VPC networking changes that began deploying in September 2019](https://aws.amazon.com/blogs/compute/announcing-improved-vpc-networking-for-aws-lambda-functions/), EC2 subnets and security groups associated with Lambda Functions can take up to 45 minutes to successfully delete. /// + /// > **NOTE:** If you get a `KMSAccessDeniedException: Lambda was unable to decrypt the environment variables because KMS access was denied` error when invoking an `aws.lambda.Function` with environment variables, the IAM role associated with the function may have been deleted and recreated _after_ the function was created. You can fix the problem two ways: 1) updating the function's role to another role and then updating it back again to the recreated role, or 2) by using Pulumi to `taint` the function and `apply` your configuration again to recreate the function. (When you create a function, Lambda grants permissions on the KMS key to the function's IAM role. If the IAM role is recreated, the grant is no longer valid. Changing the function's role or recreating the function causes Lambda to update the grant.) + /// /// > To give an external source (like an EventBridge Rule, SNS, or S3) permission to access the Lambda function, use the `aws.lambda.Permission` resource. See [Lambda Permission Model](https://docs.aws.amazon.com/lambda/latest/dg/intro-permission-model.html) for more details. On the other hand, the `role` argument of this resource is the function's execution role for identity and access to AWS services and resources. /// /// ## Example Usage diff --git a/sdk/dotnet/Lambda/GetInvocation.cs b/sdk/dotnet/Lambda/GetInvocation.cs index 6dcd3bd763f..1f7abd2f620 100644 --- a/sdk/dotnet/Lambda/GetInvocation.cs +++ b/sdk/dotnet/Lambda/GetInvocation.cs @@ -15,6 +15,8 @@ public static class GetInvocation /// Use this data source to invoke custom lambda functions as data source. /// The lambda function is invoked with [RequestResponse](https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html#API_Invoke_RequestSyntax) /// invocation type. + /// + /// > **NOTE:** If you get a `KMSAccessDeniedException: Lambda was unable to decrypt the environment variables because KMS access was denied` error when invoking an `aws.lambda.Function` with environment variables, the IAM role associated with the function may have been deleted and recreated _after_ the function was created. You can fix the problem two ways: 1) updating the function's role to another role and then updating it back again to the recreated role, or 2) by using Pulumi to `taint` the function and `apply` your configuration again to recreate the function. (When you create a function, Lambda grants permissions on the KMS key to the function's IAM role. If the IAM role is recreated, the grant is no longer valid. Changing the function's role or recreating the function causes Lambda to update the grant.) /// public static Task InvokeAsync(GetInvocationArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.InvokeAsync("aws:lambda/getInvocation:getInvocation", args ?? new GetInvocationArgs(), options.WithDefaults()); @@ -23,6 +25,8 @@ public static Task InvokeAsync(GetInvocationArgs args, Invo /// Use this data source to invoke custom lambda functions as data source. /// The lambda function is invoked with [RequestResponse](https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html#API_Invoke_RequestSyntax) /// invocation type. + /// + /// > **NOTE:** If you get a `KMSAccessDeniedException: Lambda was unable to decrypt the environment variables because KMS access was denied` error when invoking an `aws.lambda.Function` with environment variables, the IAM role associated with the function may have been deleted and recreated _after_ the function was created. You can fix the problem two ways: 1) updating the function's role to another role and then updating it back again to the recreated role, or 2) by using Pulumi to `taint` the function and `apply` your configuration again to recreate the function. (When you create a function, Lambda grants permissions on the KMS key to the function's IAM role. If the IAM role is recreated, the grant is no longer valid. Changing the function's role or recreating the function causes Lambda to update the grant.) /// public static Output Invoke(GetInvocationInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("aws:lambda/getInvocation:getInvocation", args ?? new GetInvocationInvokeArgs(), options.WithDefaults()); diff --git a/sdk/dotnet/Lambda/Invocation.cs b/sdk/dotnet/Lambda/Invocation.cs index 65707f69797..3282a9de159 100644 --- a/sdk/dotnet/Lambda/Invocation.cs +++ b/sdk/dotnet/Lambda/Invocation.cs @@ -14,6 +14,8 @@ namespace Pulumi.Aws.Lambda /// /// > **NOTE:** This resource _only_ invokes the function when the arguments call for a create or update. In other words, after an initial invocation on _apply_, if the arguments do not change, a subsequent _apply_ does not invoke the function again. To dynamically invoke the function, see the `triggers` example below. To always invoke a function on each _apply_, see the `aws.lambda.Invocation` data source. /// + /// > **NOTE:** If you get a `KMSAccessDeniedException: Lambda was unable to decrypt the environment variables because KMS access was denied` error when invoking an `aws.lambda.Function` with environment variables, the IAM role associated with the function may have been deleted and recreated _after_ the function was created. You can fix the problem two ways: 1) updating the function's role to another role and then updating it back again to the recreated role, or 2) by using Pulumi to `taint` the function and `apply` your configuration again to recreate the function. (When you create a function, Lambda grants permissions on the KMS key to the function's IAM role. If the IAM role is recreated, the grant is no longer valid. Changing the function's role or recreating the function causes Lambda to update the grant.) + /// /// ## Example Usage /// ### Dynamic Invocation Example Using Triggers /// diff --git a/sdk/dotnet/LicenseManager/GetLicenseGrants.cs b/sdk/dotnet/LicenseManager/GetLicenseGrants.cs new file mode 100644 index 00000000000..09571985dd5 --- /dev/null +++ b/sdk/dotnet/LicenseManager/GetLicenseGrants.cs @@ -0,0 +1,165 @@ +// *** 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.LicenseManager +{ + public static class GetLicenseGrants + { + /// + /// This resource can be used to get a set of license grant ARNs matching a filter. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// The following shows getting all license grant ARNs granted to your account. + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var current = Aws.GetCallerIdentity.Invoke(); + /// + /// var test = Aws.LicenseManager.GetLicenseGrants.Invoke(new() + /// { + /// Filters = new[] + /// { + /// new Aws.LicenseManager.Inputs.GetLicenseGrantsFilterInputArgs + /// { + /// Name = "GranteePrincipalARN", + /// Values = new[] + /// { + /// $"arn:aws:iam::{current.Apply(getCallerIdentityResult => getCallerIdentityResult.AccountId)}:root", + /// }, + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Task InvokeAsync(GetLicenseGrantsArgs? args = null, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws:licensemanager/getLicenseGrants:getLicenseGrants", args ?? new GetLicenseGrantsArgs(), options.WithDefaults()); + + /// + /// This resource can be used to get a set of license grant ARNs matching a filter. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// The following shows getting all license grant ARNs granted to your account. + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var current = Aws.GetCallerIdentity.Invoke(); + /// + /// var test = Aws.LicenseManager.GetLicenseGrants.Invoke(new() + /// { + /// Filters = new[] + /// { + /// new Aws.LicenseManager.Inputs.GetLicenseGrantsFilterInputArgs + /// { + /// Name = "GranteePrincipalARN", + /// Values = new[] + /// { + /// $"arn:aws:iam::{current.Apply(getCallerIdentityResult => getCallerIdentityResult.AccountId)}:root", + /// }, + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Output Invoke(GetLicenseGrantsInvokeArgs? args = null, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws:licensemanager/getLicenseGrants:getLicenseGrants", args ?? new GetLicenseGrantsInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetLicenseGrantsArgs : global::Pulumi.InvokeArgs + { + [Input("filters")] + private List? _filters; + + /// + /// Custom filter block as described below. + /// + public List Filters + { + get => _filters ?? (_filters = new List()); + set => _filters = value; + } + + public GetLicenseGrantsArgs() + { + } + public static new GetLicenseGrantsArgs Empty => new GetLicenseGrantsArgs(); + } + + public sealed class GetLicenseGrantsInvokeArgs : global::Pulumi.InvokeArgs + { + [Input("filters")] + private InputList? _filters; + + /// + /// Custom filter block as described below. + /// + public InputList Filters + { + get => _filters ?? (_filters = new InputList()); + set => _filters = value; + } + + public GetLicenseGrantsInvokeArgs() + { + } + public static new GetLicenseGrantsInvokeArgs Empty => new GetLicenseGrantsInvokeArgs(); + } + + + [OutputType] + public sealed class GetLicenseGrantsResult + { + /// + /// List of all the license grant ARNs found. + /// + public readonly ImmutableArray Arns; + public readonly ImmutableArray Filters; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + + [OutputConstructor] + private GetLicenseGrantsResult( + ImmutableArray arns, + + ImmutableArray filters, + + string id) + { + Arns = arns; + Filters = filters; + Id = id; + } + } +} diff --git a/sdk/dotnet/LicenseManager/GetReceivedLicense.cs b/sdk/dotnet/LicenseManager/GetReceivedLicense.cs new file mode 100644 index 00000000000..d53a7161b9e --- /dev/null +++ b/sdk/dotnet/LicenseManager/GetReceivedLicense.cs @@ -0,0 +1,221 @@ +// *** 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.LicenseManager +{ + public static class GetReceivedLicense + { + /// + /// This resource can be used to get data on a received license using an ARN. This can be helpful for pulling in data on a license from the AWS marketplace and sharing that license with another account. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// The following shows getting the received license data using and ARN. + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var test = Aws.LicenseManager.GetReceivedLicense.Invoke(new() + /// { + /// LicenseArn = "arn:aws:license-manager::111111111111:license:l-ecbaa94eb71a4830b6d7e49268fecaa0", + /// }); + /// + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Task InvokeAsync(GetReceivedLicenseArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws:licensemanager/getReceivedLicense:getReceivedLicense", args ?? new GetReceivedLicenseArgs(), options.WithDefaults()); + + /// + /// This resource can be used to get data on a received license using an ARN. This can be helpful for pulling in data on a license from the AWS marketplace and sharing that license with another account. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// The following shows getting the received license data using and ARN. + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var test = Aws.LicenseManager.GetReceivedLicense.Invoke(new() + /// { + /// LicenseArn = "arn:aws:license-manager::111111111111:license:l-ecbaa94eb71a4830b6d7e49268fecaa0", + /// }); + /// + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Output Invoke(GetReceivedLicenseInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws:licensemanager/getReceivedLicense:getReceivedLicense", args ?? new GetReceivedLicenseInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetReceivedLicenseArgs : global::Pulumi.InvokeArgs + { + /// + /// The ARN of the received license you want data for. + /// + [Input("licenseArn", required: true)] + public string LicenseArn { get; set; } = null!; + + public GetReceivedLicenseArgs() + { + } + public static new GetReceivedLicenseArgs Empty => new GetReceivedLicenseArgs(); + } + + public sealed class GetReceivedLicenseInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The ARN of the received license you want data for. + /// + [Input("licenseArn", required: true)] + public Input LicenseArn { get; set; } = null!; + + public GetReceivedLicenseInvokeArgs() + { + } + public static new GetReceivedLicenseInvokeArgs Empty => new GetReceivedLicenseInvokeArgs(); + } + + + [OutputType] + public sealed class GetReceivedLicenseResult + { + /// + /// Granted license beneficiary. This is in the form of the ARN of the root user of the account. + /// + public readonly string Beneficiary; + /// + /// Configuration for consumption of the license. Detailed below + /// + public readonly ImmutableArray ConsumptionConfigurations; + /// + /// Creation time of the granted license in RFC 3339 format. + /// + public readonly string CreateTime; + /// + /// License entitlements. Detailed below + /// + public readonly ImmutableArray Entitlements; + /// + /// Home Region of the granted license. + /// + public readonly string HomeRegion; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + /// + /// Granted license issuer. Detailed below + /// + public readonly ImmutableArray Issuers; + /// + /// Amazon Resource Name (ARN) of the license. + /// + public readonly string LicenseArn; + /// + /// Granted license metadata. This is in the form of a set of all meta data. Detailed below + /// + public readonly ImmutableArray LicenseMetadatas; + /// + /// License name. + /// + public readonly string LicenseName; + /// + /// Product name. + /// * `product_sku ` - Product SKU. + /// + public readonly string ProductName; + public readonly string ProductSku; + /// + /// Granted license received metadata. Detailed below + /// + public readonly ImmutableArray ReceivedMetadatas; + /// + /// Granted license status. + /// + public readonly string Status; + /// + /// Date and time range during which the granted license is valid, in ISO8601-UTC format. Detailed below + /// + public readonly ImmutableArray Validities; + /// + /// Version of the granted license. + /// + public readonly string Version; + + [OutputConstructor] + private GetReceivedLicenseResult( + string beneficiary, + + ImmutableArray consumptionConfigurations, + + string createTime, + + ImmutableArray entitlements, + + string homeRegion, + + string id, + + ImmutableArray issuers, + + string licenseArn, + + ImmutableArray licenseMetadatas, + + string licenseName, + + string productName, + + string productSku, + + ImmutableArray receivedMetadatas, + + string status, + + ImmutableArray validities, + + string version) + { + Beneficiary = beneficiary; + ConsumptionConfigurations = consumptionConfigurations; + CreateTime = createTime; + Entitlements = entitlements; + HomeRegion = homeRegion; + Id = id; + Issuers = issuers; + LicenseArn = licenseArn; + LicenseMetadatas = licenseMetadatas; + LicenseName = licenseName; + ProductName = productName; + ProductSku = productSku; + ReceivedMetadatas = receivedMetadatas; + Status = status; + Validities = validities; + Version = version; + } + } +} diff --git a/sdk/dotnet/LicenseManager/GetReceivedLicenses.cs b/sdk/dotnet/LicenseManager/GetReceivedLicenses.cs new file mode 100644 index 00000000000..da422de59d9 --- /dev/null +++ b/sdk/dotnet/LicenseManager/GetReceivedLicenses.cs @@ -0,0 +1,161 @@ +// *** 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.LicenseManager +{ + public static class GetReceivedLicenses + { + /// + /// This resource can be used to get a set of license ARNs matching a filter. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// The following shows getting all license ARNs issued from the AWS marketplace. Providing no filter, would provide all license ARNs for the entire account. + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var test = Aws.LicenseManager.GetReceivedLicenses.Invoke(new() + /// { + /// Filters = new[] + /// { + /// new Aws.LicenseManager.Inputs.GetReceivedLicensesFilterInputArgs + /// { + /// Name = "IssuerName", + /// Values = new[] + /// { + /// "AWS/Marketplace", + /// }, + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Task InvokeAsync(GetReceivedLicensesArgs? args = null, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws:licensemanager/getReceivedLicenses:getReceivedLicenses", args ?? new GetReceivedLicensesArgs(), options.WithDefaults()); + + /// + /// This resource can be used to get a set of license ARNs matching a filter. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// The following shows getting all license ARNs issued from the AWS marketplace. Providing no filter, would provide all license ARNs for the entire account. + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var test = Aws.LicenseManager.GetReceivedLicenses.Invoke(new() + /// { + /// Filters = new[] + /// { + /// new Aws.LicenseManager.Inputs.GetReceivedLicensesFilterInputArgs + /// { + /// Name = "IssuerName", + /// Values = new[] + /// { + /// "AWS/Marketplace", + /// }, + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Output Invoke(GetReceivedLicensesInvokeArgs? args = null, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws:licensemanager/getReceivedLicenses:getReceivedLicenses", args ?? new GetReceivedLicensesInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetReceivedLicensesArgs : global::Pulumi.InvokeArgs + { + [Input("filters")] + private List? _filters; + + /// + /// Custom filter block as described below. + /// + public List Filters + { + get => _filters ?? (_filters = new List()); + set => _filters = value; + } + + public GetReceivedLicensesArgs() + { + } + public static new GetReceivedLicensesArgs Empty => new GetReceivedLicensesArgs(); + } + + public sealed class GetReceivedLicensesInvokeArgs : global::Pulumi.InvokeArgs + { + [Input("filters")] + private InputList? _filters; + + /// + /// Custom filter block as described below. + /// + public InputList Filters + { + get => _filters ?? (_filters = new InputList()); + set => _filters = value; + } + + public GetReceivedLicensesInvokeArgs() + { + } + public static new GetReceivedLicensesInvokeArgs Empty => new GetReceivedLicensesInvokeArgs(); + } + + + [OutputType] + public sealed class GetReceivedLicensesResult + { + /// + /// List of all the license ARNs found. + /// + public readonly ImmutableArray Arns; + public readonly ImmutableArray Filters; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + + [OutputConstructor] + private GetReceivedLicensesResult( + ImmutableArray arns, + + ImmutableArray filters, + + string id) + { + Arns = arns; + Filters = filters; + Id = id; + } + } +} diff --git a/sdk/dotnet/LicenseManager/Inputs/GetLicenseGrantsFilter.cs b/sdk/dotnet/LicenseManager/Inputs/GetLicenseGrantsFilter.cs new file mode 100644 index 00000000000..d189215b87e --- /dev/null +++ b/sdk/dotnet/LicenseManager/Inputs/GetLicenseGrantsFilter.cs @@ -0,0 +1,40 @@ +// *** 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.LicenseManager.Inputs +{ + + public sealed class GetLicenseGrantsFilterArgs : global::Pulumi.InvokeArgs + { + /// + /// Name of the field to filter by, as defined by + /// [the underlying AWS API](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_ListReceivedGrants.html#API_ListReceivedGrants_RequestSyntax). + /// For example, if filtering using `ProductSKU`, use: + /// + [Input("name", required: true)] + public string Name { get; set; } = null!; + + [Input("values", required: true)] + private List? _values; + + /// + /// Set of values that are accepted for the given field. + /// + public List Values + { + get => _values ?? (_values = new List()); + set => _values = value; + } + + public GetLicenseGrantsFilterArgs() + { + } + public static new GetLicenseGrantsFilterArgs Empty => new GetLicenseGrantsFilterArgs(); + } +} diff --git a/sdk/dotnet/LicenseManager/Inputs/GetLicenseGrantsFilterArgs.cs b/sdk/dotnet/LicenseManager/Inputs/GetLicenseGrantsFilterArgs.cs new file mode 100644 index 00000000000..69762d528e5 --- /dev/null +++ b/sdk/dotnet/LicenseManager/Inputs/GetLicenseGrantsFilterArgs.cs @@ -0,0 +1,40 @@ +// *** 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.LicenseManager.Inputs +{ + + public sealed class GetLicenseGrantsFilterInputArgs : global::Pulumi.ResourceArgs + { + /// + /// Name of the field to filter by, as defined by + /// [the underlying AWS API](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_ListReceivedGrants.html#API_ListReceivedGrants_RequestSyntax). + /// For example, if filtering using `ProductSKU`, use: + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + [Input("values", required: true)] + private InputList? _values; + + /// + /// Set of values that are accepted for the given field. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public GetLicenseGrantsFilterInputArgs() + { + } + public static new GetLicenseGrantsFilterInputArgs Empty => new GetLicenseGrantsFilterInputArgs(); + } +} diff --git a/sdk/dotnet/LicenseManager/Inputs/GetReceivedLicensesFilter.cs b/sdk/dotnet/LicenseManager/Inputs/GetReceivedLicensesFilter.cs new file mode 100644 index 00000000000..27b45bc60bf --- /dev/null +++ b/sdk/dotnet/LicenseManager/Inputs/GetReceivedLicensesFilter.cs @@ -0,0 +1,40 @@ +// *** 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.LicenseManager.Inputs +{ + + public sealed class GetReceivedLicensesFilterArgs : global::Pulumi.InvokeArgs + { + /// + /// Name of the field to filter by, as defined by + /// [the underlying AWS API](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_ListReceivedLicenses.html#API_ListReceivedLicenses_RequestSyntax). + /// For example, if filtering using `ProductSKU`, use: + /// + [Input("name", required: true)] + public string Name { get; set; } = null!; + + [Input("values", required: true)] + private List? _values; + + /// + /// Set of values that are accepted for the given field. + /// + public List Values + { + get => _values ?? (_values = new List()); + set => _values = value; + } + + public GetReceivedLicensesFilterArgs() + { + } + public static new GetReceivedLicensesFilterArgs Empty => new GetReceivedLicensesFilterArgs(); + } +} diff --git a/sdk/dotnet/LicenseManager/Inputs/GetReceivedLicensesFilterArgs.cs b/sdk/dotnet/LicenseManager/Inputs/GetReceivedLicensesFilterArgs.cs new file mode 100644 index 00000000000..0ab79330737 --- /dev/null +++ b/sdk/dotnet/LicenseManager/Inputs/GetReceivedLicensesFilterArgs.cs @@ -0,0 +1,40 @@ +// *** 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.LicenseManager.Inputs +{ + + public sealed class GetReceivedLicensesFilterInputArgs : global::Pulumi.ResourceArgs + { + /// + /// Name of the field to filter by, as defined by + /// [the underlying AWS API](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_ListReceivedLicenses.html#API_ListReceivedLicenses_RequestSyntax). + /// For example, if filtering using `ProductSKU`, use: + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + [Input("values", required: true)] + private InputList? _values; + + /// + /// Set of values that are accepted for the given field. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public GetReceivedLicensesFilterInputArgs() + { + } + public static new GetReceivedLicensesFilterInputArgs Empty => new GetReceivedLicensesFilterInputArgs(); + } +} diff --git a/sdk/dotnet/LicenseManager/LicenseGrant.cs b/sdk/dotnet/LicenseManager/LicenseGrant.cs new file mode 100644 index 00000000000..5a964156fd3 --- /dev/null +++ b/sdk/dotnet/LicenseManager/LicenseGrant.cs @@ -0,0 +1,229 @@ +// *** 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.LicenseManager +{ + /// + /// Provides a License Manager grant. This allows for sharing licenses with other AWS accounts. + /// + /// ## Import + /// + /// `aws_licensemanager_grant` can be imported using the grant arn. + /// + /// ```sh + /// $ pulumi import aws:licensemanager/licenseGrant:LicenseGrant test arn:aws:license-manager::123456789011:grant:g-01d313393d9e443d8664cc054db1e089 + /// ``` + /// + [AwsResourceType("aws:licensemanager/licenseGrant:LicenseGrant")] + public partial class LicenseGrant : global::Pulumi.CustomResource + { + /// + /// A list of the allowed operations for the grant. This is a subset of the allowed operations on the license. + /// + [Output("allowedOperations")] + public Output> AllowedOperations { get; private set; } = null!; + + /// + /// The grant ARN. + /// + [Output("arn")] + public Output Arn { get; private set; } = null!; + + /// + /// The home region for the license. + /// + [Output("homeRegion")] + public Output HomeRegion { get; private set; } = null!; + + /// + /// The ARN of the license to grant. + /// + [Output("licenseArn")] + public Output LicenseArn { get; private set; } = null!; + + /// + /// The Name of the grant. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The parent ARN. + /// + [Output("parentArn")] + public Output ParentArn { get; private set; } = null!; + + /// + /// The target account for the grant in the form of the ARN for an account principal of the root user. + /// + [Output("principal")] + public Output Principal { get; private set; } = null!; + + /// + /// The grant status. + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + /// + /// The grant version. + /// + [Output("version")] + public Output Version { get; private set; } = null!; + + + /// + /// Create a LicenseGrant 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 LicenseGrant(string name, LicenseGrantArgs args, CustomResourceOptions? options = null) + : base("aws:licensemanager/licenseGrant:LicenseGrant", name, args ?? new LicenseGrantArgs(), MakeResourceOptions(options, "")) + { + } + + private LicenseGrant(string name, Input id, LicenseGrantState? state = null, CustomResourceOptions? options = null) + : base("aws:licensemanager/licenseGrant:LicenseGrant", 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 LicenseGrant 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 LicenseGrant Get(string name, Input id, LicenseGrantState? state = null, CustomResourceOptions? options = null) + { + return new LicenseGrant(name, id, state, options); + } + } + + public sealed class LicenseGrantArgs : global::Pulumi.ResourceArgs + { + [Input("allowedOperations", required: true)] + private InputList? _allowedOperations; + + /// + /// A list of the allowed operations for the grant. This is a subset of the allowed operations on the license. + /// + public InputList AllowedOperations + { + get => _allowedOperations ?? (_allowedOperations = new InputList()); + set => _allowedOperations = value; + } + + /// + /// The ARN of the license to grant. + /// + [Input("licenseArn", required: true)] + public Input LicenseArn { get; set; } = null!; + + /// + /// The Name of the grant. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// The target account for the grant in the form of the ARN for an account principal of the root user. + /// + [Input("principal", required: true)] + public Input Principal { get; set; } = null!; + + public LicenseGrantArgs() + { + } + public static new LicenseGrantArgs Empty => new LicenseGrantArgs(); + } + + public sealed class LicenseGrantState : global::Pulumi.ResourceArgs + { + [Input("allowedOperations")] + private InputList? _allowedOperations; + + /// + /// A list of the allowed operations for the grant. This is a subset of the allowed operations on the license. + /// + public InputList AllowedOperations + { + get => _allowedOperations ?? (_allowedOperations = new InputList()); + set => _allowedOperations = value; + } + + /// + /// The grant ARN. + /// + [Input("arn")] + public Input? Arn { get; set; } + + /// + /// The home region for the license. + /// + [Input("homeRegion")] + public Input? HomeRegion { get; set; } + + /// + /// The ARN of the license to grant. + /// + [Input("licenseArn")] + public Input? LicenseArn { get; set; } + + /// + /// The Name of the grant. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// The parent ARN. + /// + [Input("parentArn")] + public Input? ParentArn { get; set; } + + /// + /// The target account for the grant in the form of the ARN for an account principal of the root user. + /// + [Input("principal")] + public Input? Principal { get; set; } + + /// + /// The grant status. + /// + [Input("status")] + public Input? Status { get; set; } + + /// + /// The grant version. + /// + [Input("version")] + public Input? Version { get; set; } + + public LicenseGrantState() + { + } + public static new LicenseGrantState Empty => new LicenseGrantState(); + } +} diff --git a/sdk/dotnet/LicenseManager/LicenseGrantAccepter.cs b/sdk/dotnet/LicenseManager/LicenseGrantAccepter.cs new file mode 100644 index 00000000000..b4938adabf2 --- /dev/null +++ b/sdk/dotnet/LicenseManager/LicenseGrantAccepter.cs @@ -0,0 +1,205 @@ +// *** 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.LicenseManager +{ + /// + /// Accepts a License Manager grant. This allows for sharing licenses with other aws accounts. + /// + /// ## Import + /// + /// `aws_licensemanager_grant_accepter` can be imported using the grant arn. + /// + /// ```sh + /// $ pulumi import aws:licensemanager/licenseGrantAccepter:LicenseGrantAccepter test arn:aws:license-manager::123456789012:grant:g-1cf9fba4ba2f42dcab11c686c4b4d329 + /// ``` + /// + [AwsResourceType("aws:licensemanager/licenseGrantAccepter:LicenseGrantAccepter")] + public partial class LicenseGrantAccepter : global::Pulumi.CustomResource + { + /// + /// A list of the allowed operations for the grant. + /// + [Output("allowedOperations")] + public Output> AllowedOperations { get; private set; } = null!; + + /// + /// The ARN of the grant to accept. + /// + [Output("grantArn")] + public Output GrantArn { get; private set; } = null!; + + /// + /// The home region for the license. + /// + [Output("homeRegion")] + public Output HomeRegion { get; private set; } = null!; + + /// + /// The ARN of the license for the grant. + /// + [Output("licenseArn")] + public Output LicenseArn { get; private set; } = null!; + + /// + /// The Name of the grant. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The parent ARN. + /// + [Output("parentArn")] + public Output ParentArn { get; private set; } = null!; + + /// + /// The target account for the grant. + /// + [Output("principal")] + public Output Principal { get; private set; } = null!; + + /// + /// The grant status. + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + /// + /// The grant version. + /// + [Output("version")] + public Output Version { get; private set; } = null!; + + + /// + /// Create a LicenseGrantAccepter 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 LicenseGrantAccepter(string name, LicenseGrantAccepterArgs args, CustomResourceOptions? options = null) + : base("aws:licensemanager/licenseGrantAccepter:LicenseGrantAccepter", name, args ?? new LicenseGrantAccepterArgs(), MakeResourceOptions(options, "")) + { + } + + private LicenseGrantAccepter(string name, Input id, LicenseGrantAccepterState? state = null, CustomResourceOptions? options = null) + : base("aws:licensemanager/licenseGrantAccepter:LicenseGrantAccepter", 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 LicenseGrantAccepter 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 LicenseGrantAccepter Get(string name, Input id, LicenseGrantAccepterState? state = null, CustomResourceOptions? options = null) + { + return new LicenseGrantAccepter(name, id, state, options); + } + } + + public sealed class LicenseGrantAccepterArgs : global::Pulumi.ResourceArgs + { + /// + /// The ARN of the grant to accept. + /// + [Input("grantArn", required: true)] + public Input GrantArn { get; set; } = null!; + + public LicenseGrantAccepterArgs() + { + } + public static new LicenseGrantAccepterArgs Empty => new LicenseGrantAccepterArgs(); + } + + public sealed class LicenseGrantAccepterState : global::Pulumi.ResourceArgs + { + [Input("allowedOperations")] + private InputList? _allowedOperations; + + /// + /// A list of the allowed operations for the grant. + /// + public InputList AllowedOperations + { + get => _allowedOperations ?? (_allowedOperations = new InputList()); + set => _allowedOperations = value; + } + + /// + /// The ARN of the grant to accept. + /// + [Input("grantArn")] + public Input? GrantArn { get; set; } + + /// + /// The home region for the license. + /// + [Input("homeRegion")] + public Input? HomeRegion { get; set; } + + /// + /// The ARN of the license for the grant. + /// + [Input("licenseArn")] + public Input? LicenseArn { get; set; } + + /// + /// The Name of the grant. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// The parent ARN. + /// + [Input("parentArn")] + public Input? ParentArn { get; set; } + + /// + /// The target account for the grant. + /// + [Input("principal")] + public Input? Principal { get; set; } + + /// + /// The grant status. + /// + [Input("status")] + public Input? Status { get; set; } + + /// + /// The grant version. + /// + [Input("version")] + public Input? Version { get; set; } + + public LicenseGrantAccepterState() + { + } + public static new LicenseGrantAccepterState Empty => new LicenseGrantAccepterState(); + } +} diff --git a/sdk/dotnet/LicenseManager/Outputs/GetLicenseGrantsFilterResult.cs b/sdk/dotnet/LicenseManager/Outputs/GetLicenseGrantsFilterResult.cs new file mode 100644 index 00000000000..afd0aba88f8 --- /dev/null +++ b/sdk/dotnet/LicenseManager/Outputs/GetLicenseGrantsFilterResult.cs @@ -0,0 +1,37 @@ +// *** 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.LicenseManager.Outputs +{ + + [OutputType] + public sealed class GetLicenseGrantsFilterResult + { + /// + /// Name of the field to filter by, as defined by + /// [the underlying AWS API](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_ListReceivedGrants.html#API_ListReceivedGrants_RequestSyntax). + /// For example, if filtering using `ProductSKU`, use: + /// + public readonly string Name; + /// + /// Set of values that are accepted for the given field. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private GetLicenseGrantsFilterResult( + string name, + + ImmutableArray values) + { + Name = name; + Values = values; + } + } +} diff --git a/sdk/dotnet/LicenseManager/Outputs/GetReceivedLicenseConsumptionConfigurationBorrowConfigurationResult.cs b/sdk/dotnet/LicenseManager/Outputs/GetReceivedLicenseConsumptionConfigurationBorrowConfigurationResult.cs new file mode 100644 index 00000000000..98c0686c1d3 --- /dev/null +++ b/sdk/dotnet/LicenseManager/Outputs/GetReceivedLicenseConsumptionConfigurationBorrowConfigurationResult.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.LicenseManager.Outputs +{ + + [OutputType] + public sealed class GetReceivedLicenseConsumptionConfigurationBorrowConfigurationResult + { + /// + /// Indicates whether early check-ins are allowed. + /// + public readonly bool AllowEarlyCheckIn; + /// + /// Maximum time for the provisional configuration, in minutes. + /// + public readonly int MaxTimeToLiveInMinutes; + + [OutputConstructor] + private GetReceivedLicenseConsumptionConfigurationBorrowConfigurationResult( + bool allowEarlyCheckIn, + + int maxTimeToLiveInMinutes) + { + AllowEarlyCheckIn = allowEarlyCheckIn; + MaxTimeToLiveInMinutes = maxTimeToLiveInMinutes; + } + } +} diff --git a/sdk/dotnet/LicenseManager/Outputs/GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationResult.cs b/sdk/dotnet/LicenseManager/Outputs/GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationResult.cs new file mode 100644 index 00000000000..5d6b48decf8 --- /dev/null +++ b/sdk/dotnet/LicenseManager/Outputs/GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationResult.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.LicenseManager.Outputs +{ + + [OutputType] + public sealed class GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationResult + { + /// + /// Maximum time for the provisional configuration, in minutes. + /// + public readonly int MaxTimeToLiveInMinutes; + + [OutputConstructor] + private GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationResult(int maxTimeToLiveInMinutes) + { + MaxTimeToLiveInMinutes = maxTimeToLiveInMinutes; + } + } +} diff --git a/sdk/dotnet/LicenseManager/Outputs/GetReceivedLicenseConsumptionConfigurationResult.cs b/sdk/dotnet/LicenseManager/Outputs/GetReceivedLicenseConsumptionConfigurationResult.cs new file mode 100644 index 00000000000..f4916edb016 --- /dev/null +++ b/sdk/dotnet/LicenseManager/Outputs/GetReceivedLicenseConsumptionConfigurationResult.cs @@ -0,0 +1,39 @@ +// *** 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.LicenseManager.Outputs +{ + + [OutputType] + public sealed class GetReceivedLicenseConsumptionConfigurationResult + { + /// + /// Details about a borrow configuration. Detailed below + /// + public readonly ImmutableArray BorrowConfigurations; + /// + /// Details about a provisional configuration. Detailed below + /// + public readonly ImmutableArray ProvisionalConfigurations; + public readonly string RenewType; + + [OutputConstructor] + private GetReceivedLicenseConsumptionConfigurationResult( + ImmutableArray borrowConfigurations, + + ImmutableArray provisionalConfigurations, + + string renewType) + { + BorrowConfigurations = borrowConfigurations; + ProvisionalConfigurations = provisionalConfigurations; + RenewType = renewType; + } + } +} diff --git a/sdk/dotnet/LicenseManager/Outputs/GetReceivedLicenseEntitlementResult.cs b/sdk/dotnet/LicenseManager/Outputs/GetReceivedLicenseEntitlementResult.cs new file mode 100644 index 00000000000..a207a39d6e0 --- /dev/null +++ b/sdk/dotnet/LicenseManager/Outputs/GetReceivedLicenseEntitlementResult.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.LicenseManager.Outputs +{ + + [OutputType] + public sealed class GetReceivedLicenseEntitlementResult + { + /// + /// Indicates whether check-ins are allowed. + /// + public readonly bool AllowCheckIn; + /// + /// Maximum entitlement count. Use if the unit is not None. + /// + public readonly int MaxCount; + /// + /// The key name. + /// + public readonly string Name; + /// + /// Entitlement unit. + /// + public readonly string Unit; + /// + /// The value. + /// + public readonly string Value; + + [OutputConstructor] + private GetReceivedLicenseEntitlementResult( + bool allowCheckIn, + + int maxCount, + + string name, + + string unit, + + string value) + { + AllowCheckIn = allowCheckIn; + MaxCount = maxCount; + Name = name; + Unit = unit; + Value = value; + } + } +} diff --git a/sdk/dotnet/LicenseManager/Outputs/GetReceivedLicenseIssuerResult.cs b/sdk/dotnet/LicenseManager/Outputs/GetReceivedLicenseIssuerResult.cs new file mode 100644 index 00000000000..dc0c0b28e7f --- /dev/null +++ b/sdk/dotnet/LicenseManager/Outputs/GetReceivedLicenseIssuerResult.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.LicenseManager.Outputs +{ + + [OutputType] + public sealed class GetReceivedLicenseIssuerResult + { + /// + /// Issuer key fingerprint. + /// + public readonly string KeyFingerprint; + /// + /// The key name. + /// + public readonly string Name; + /// + /// Asymmetric KMS key from AWS Key Management Service. The KMS key must have a key usage of sign and verify, and support the RSASSA-PSS SHA-256 signing algorithm. + /// + public readonly string SignKey; + + [OutputConstructor] + private GetReceivedLicenseIssuerResult( + string keyFingerprint, + + string name, + + string signKey) + { + KeyFingerprint = keyFingerprint; + Name = name; + SignKey = signKey; + } + } +} diff --git a/sdk/dotnet/LicenseManager/Outputs/GetReceivedLicenseLicenseMetadataResult.cs b/sdk/dotnet/LicenseManager/Outputs/GetReceivedLicenseLicenseMetadataResult.cs new file mode 100644 index 00000000000..7bfc2802274 --- /dev/null +++ b/sdk/dotnet/LicenseManager/Outputs/GetReceivedLicenseLicenseMetadataResult.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.LicenseManager.Outputs +{ + + [OutputType] + public sealed class GetReceivedLicenseLicenseMetadataResult + { + /// + /// The key name. + /// + public readonly string Name; + /// + /// The value. + /// + public readonly string Value; + + [OutputConstructor] + private GetReceivedLicenseLicenseMetadataResult( + string name, + + string value) + { + Name = name; + Value = value; + } + } +} diff --git a/sdk/dotnet/LicenseManager/Outputs/GetReceivedLicenseReceivedMetadataResult.cs b/sdk/dotnet/LicenseManager/Outputs/GetReceivedLicenseReceivedMetadataResult.cs new file mode 100644 index 00000000000..cfc82261261 --- /dev/null +++ b/sdk/dotnet/LicenseManager/Outputs/GetReceivedLicenseReceivedMetadataResult.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.LicenseManager.Outputs +{ + + [OutputType] + public sealed class GetReceivedLicenseReceivedMetadataResult + { + /// + /// A list of allowed operations. + /// + public readonly ImmutableArray AllowedOperations; + /// + /// Received status. + /// + public readonly string ReceivedStatus; + /// + /// Received status reason. + /// + public readonly string ReceivedStatusReason; + + [OutputConstructor] + private GetReceivedLicenseReceivedMetadataResult( + ImmutableArray allowedOperations, + + string receivedStatus, + + string receivedStatusReason) + { + AllowedOperations = allowedOperations; + ReceivedStatus = receivedStatus; + ReceivedStatusReason = receivedStatusReason; + } + } +} diff --git a/sdk/dotnet/LicenseManager/Outputs/GetReceivedLicenseValidityResult.cs b/sdk/dotnet/LicenseManager/Outputs/GetReceivedLicenseValidityResult.cs new file mode 100644 index 00000000000..82274aac623 --- /dev/null +++ b/sdk/dotnet/LicenseManager/Outputs/GetReceivedLicenseValidityResult.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.LicenseManager.Outputs +{ + + [OutputType] + public sealed class GetReceivedLicenseValidityResult + { + /// + /// Start of the validity time range. + /// + public readonly string Begin; + /// + /// End of the validity time range. + /// + public readonly string End; + + [OutputConstructor] + private GetReceivedLicenseValidityResult( + string begin, + + string end) + { + Begin = begin; + End = end; + } + } +} diff --git a/sdk/dotnet/LicenseManager/Outputs/GetReceivedLicensesFilterResult.cs b/sdk/dotnet/LicenseManager/Outputs/GetReceivedLicensesFilterResult.cs new file mode 100644 index 00000000000..f591fe63a1e --- /dev/null +++ b/sdk/dotnet/LicenseManager/Outputs/GetReceivedLicensesFilterResult.cs @@ -0,0 +1,37 @@ +// *** 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.LicenseManager.Outputs +{ + + [OutputType] + public sealed class GetReceivedLicensesFilterResult + { + /// + /// Name of the field to filter by, as defined by + /// [the underlying AWS API](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_ListReceivedLicenses.html#API_ListReceivedLicenses_RequestSyntax). + /// For example, if filtering using `ProductSKU`, use: + /// + public readonly string Name; + /// + /// Set of values that are accepted for the given field. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private GetReceivedLicensesFilterResult( + string name, + + ImmutableArray values) + { + Name = name; + Values = values; + } + } +} diff --git a/sdk/dotnet/Organizations/Policy.cs b/sdk/dotnet/Organizations/Policy.cs index 6b45942f4d2..279aeb120a8 100644 --- a/sdk/dotnet/Organizations/Policy.cs +++ b/sdk/dotnet/Organizations/Policy.cs @@ -12,6 +12,42 @@ namespace Pulumi.Aws.Organizations /// /// Provides a resource to manage an [AWS Organizations policy](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies.html). /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var examplePolicyDocument = Aws.Iam.GetPolicyDocument.Invoke(new() + /// { + /// Statements = new[] + /// { + /// new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs + /// { + /// Effect = "Allow", + /// Actions = new[] + /// { + /// "*", + /// }, + /// Resources = new[] + /// { + /// "*", + /// }, + /// }, + /// }, + /// }); + /// + /// var examplePolicy = new Aws.Organizations.Policy("examplePolicy", new() + /// { + /// Content = examplePolicyDocument.Apply(getPolicyDocumentResult => getPolicyDocumentResult.Json), + /// }); + /// + /// }); + /// ``` + /// /// ## Import /// /// `aws_organizations_policy` can be imported by using the policy ID, e.g., diff --git a/sdk/dotnet/Rds/Inputs/InstanceListenerEndpointArgs.cs b/sdk/dotnet/Rds/Inputs/InstanceListenerEndpointArgs.cs new file mode 100644 index 00000000000..f7a1ca9410e --- /dev/null +++ b/sdk/dotnet/Rds/Inputs/InstanceListenerEndpointArgs.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.Rds.Inputs +{ + + public sealed class InstanceListenerEndpointArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the DNS address of the DB instance. + /// + [Input("address")] + public Input? Address { get; set; } + + /// + /// Specifies the ID that Amazon Route 53 assigns when you create a hosted zone. + /// + [Input("hostedZoneId")] + public Input? HostedZoneId { get; set; } + + /// + /// The port on which the DB accepts connections. + /// + [Input("port")] + public Input? Port { get; set; } + + public InstanceListenerEndpointArgs() + { + } + public static new InstanceListenerEndpointArgs Empty => new InstanceListenerEndpointArgs(); + } +} diff --git a/sdk/dotnet/Rds/Inputs/InstanceListenerEndpointGetArgs.cs b/sdk/dotnet/Rds/Inputs/InstanceListenerEndpointGetArgs.cs new file mode 100644 index 00000000000..c267f58093a --- /dev/null +++ b/sdk/dotnet/Rds/Inputs/InstanceListenerEndpointGetArgs.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.Rds.Inputs +{ + + public sealed class InstanceListenerEndpointGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the DNS address of the DB instance. + /// + [Input("address")] + public Input? Address { get; set; } + + /// + /// Specifies the ID that Amazon Route 53 assigns when you create a hosted zone. + /// + [Input("hostedZoneId")] + public Input? HostedZoneId { get; set; } + + /// + /// The port on which the DB accepts connections. + /// + [Input("port")] + public Input? Port { get; set; } + + public InstanceListenerEndpointGetArgs() + { + } + public static new InstanceListenerEndpointGetArgs Empty => new InstanceListenerEndpointGetArgs(); + } +} diff --git a/sdk/dotnet/Rds/Instance.cs b/sdk/dotnet/Rds/Instance.cs index 63ed1f7cbff..5b8994d0712 100644 --- a/sdk/dotnet/Rds/Instance.cs +++ b/sdk/dotnet/Rds/Instance.cs @@ -103,7 +103,7 @@ namespace Pulumi.Aws.Rds public partial class Instance : global::Pulumi.CustomResource { /// - /// The hostname of the RDS instance. See also `endpoint` and `port`. + /// Specifies the DNS address of the DB instance. /// [Output("address")] public Output Address { get; private set; } = null!; @@ -299,8 +299,7 @@ public partial class Instance : global::Pulumi.CustomResource public Output FinalSnapshotIdentifier { get; private set; } = null!; /// - /// The canonical hosted zone ID of the DB instance (to be used - /// in a Route 53 Alias record). + /// Specifies the ID that Amazon Route 53 assigns when you create a hosted zone. /// [Output("hostedZoneId")] public Output HostedZoneId { get; private set; } = null!; @@ -361,6 +360,12 @@ public partial class Instance : global::Pulumi.CustomResource [Output("licenseModel")] public Output LicenseModel { get; private set; } = null!; + /// + /// Specifies the listener connection endpoint for SQL Server Always On. See endpoint below. + /// + [Output("listenerEndpoints")] + public Output> ListenerEndpoints { get; private set; } = null!; + /// /// The window to perform maintenance in. /// Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00". See [RDS @@ -1148,7 +1153,7 @@ public InstanceArgs() public sealed class InstanceState : global::Pulumi.ResourceArgs { /// - /// The hostname of the RDS instance. See also `endpoint` and `port`. + /// Specifies the DNS address of the DB instance. /// [Input("address")] public Input? Address { get; set; } @@ -1350,8 +1355,7 @@ public InputList EnabledCloudwatchLogsExports public Input? FinalSnapshotIdentifier { get; set; } /// - /// The canonical hosted zone ID of the DB instance (to be used - /// in a Route 53 Alias record). + /// Specifies the ID that Amazon Route 53 assigns when you create a hosted zone. /// [Input("hostedZoneId")] public Input? HostedZoneId { get; set; } @@ -1412,6 +1416,18 @@ public InputList EnabledCloudwatchLogsExports [Input("licenseModel")] public Input? LicenseModel { get; set; } + [Input("listenerEndpoints")] + private InputList? _listenerEndpoints; + + /// + /// Specifies the listener connection endpoint for SQL Server Always On. See endpoint below. + /// + public InputList ListenerEndpoints + { + get => _listenerEndpoints ?? (_listenerEndpoints = new InputList()); + set => _listenerEndpoints = value; + } + /// /// The window to perform maintenance in. /// Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00". See [RDS diff --git a/sdk/dotnet/Rds/Outputs/InstanceListenerEndpoint.cs b/sdk/dotnet/Rds/Outputs/InstanceListenerEndpoint.cs new file mode 100644 index 00000000000..37155ef5fd6 --- /dev/null +++ b/sdk/dotnet/Rds/Outputs/InstanceListenerEndpoint.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.Rds.Outputs +{ + + [OutputType] + public sealed class InstanceListenerEndpoint + { + /// + /// Specifies the DNS address of the DB instance. + /// + public readonly string? Address; + /// + /// Specifies the ID that Amazon Route 53 assigns when you create a hosted zone. + /// + public readonly string? HostedZoneId; + /// + /// The port on which the DB accepts connections. + /// + public readonly int? Port; + + [OutputConstructor] + private InstanceListenerEndpoint( + string? address, + + string? hostedZoneId, + + int? port) + { + Address = address; + HostedZoneId = hostedZoneId; + Port = port; + } + } +} diff --git a/sdk/dotnet/Rds/Snapshot.cs b/sdk/dotnet/Rds/Snapshot.cs index e6c03b6f59d..2511015b347 100644 --- a/sdk/dotnet/Rds/Snapshot.cs +++ b/sdk/dotnet/Rds/Snapshot.cs @@ -130,6 +130,12 @@ public partial class Snapshot : global::Pulumi.CustomResource [Output("port")] public Output Port { get; private set; } = null!; + /// + /// List of AWS Account ids to share snapshot with, use `all` to make snaphot public. + /// + [Output("sharedAccounts")] + public Output> SharedAccounts { get; private set; } = null!; + [Output("snapshotType")] public Output SnapshotType { get; private set; } = null!; @@ -233,6 +239,18 @@ public sealed class SnapshotArgs : global::Pulumi.ResourceArgs [Input("dbSnapshotIdentifier", required: true)] public Input DbSnapshotIdentifier { get; set; } = null!; + [Input("sharedAccounts")] + private InputList? _sharedAccounts; + + /// + /// List of AWS Account ids to share snapshot with, use `all` to make snaphot public. + /// + public InputList SharedAccounts + { + get => _sharedAccounts ?? (_sharedAccounts = new InputList()); + set => _sharedAccounts = value; + } + [Input("tags")] private InputMap? _tags; @@ -328,6 +346,18 @@ public sealed class SnapshotState : global::Pulumi.ResourceArgs [Input("port")] public Input? Port { get; set; } + [Input("sharedAccounts")] + private InputList? _sharedAccounts; + + /// + /// List of AWS Account ids to share snapshot with, use `all` to make snaphot public. + /// + public InputList SharedAccounts + { + get => _sharedAccounts ?? (_sharedAccounts = new InputList()); + set => _sharedAccounts = value; + } + [Input("snapshotType")] public Input? SnapshotType { get; set; } diff --git a/sdk/dotnet/RedShift/ClusterSnapshot.cs b/sdk/dotnet/RedShift/ClusterSnapshot.cs new file mode 100644 index 00000000000..358aafe9613 --- /dev/null +++ b/sdk/dotnet/RedShift/ClusterSnapshot.cs @@ -0,0 +1,223 @@ +// *** 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.RedShift +{ + /// + /// Creates a Redshift cluster snapshot + /// + /// ## Import + /// + /// Redshift Cluster Snapshots support import by `snapshot_identifier`, e.g., console + /// + /// ```sh + /// $ pulumi import aws:redshift/clusterSnapshot:ClusterSnapshot test example + /// ``` + /// + [AwsResourceType("aws:redshift/clusterSnapshot:ClusterSnapshot")] + public partial class ClusterSnapshot : global::Pulumi.CustomResource + { + /// + /// Amazon Resource Name (ARN) of the snapshot. + /// + [Output("arn")] + public Output Arn { get; private set; } = null!; + + /// + /// The cluster identifier for which you want a snapshot. + /// + [Output("clusterIdentifier")] + public Output ClusterIdentifier { get; private set; } = null!; + + /// + /// The Key Management Service (KMS) key ID of the encryption key that was used to encrypt data in the cluster from which the snapshot was taken. + /// + [Output("kmsKeyId")] + public Output KmsKeyId { get; private set; } = null!; + + /// + /// The number of days that a manual snapshot is retained. If the value is `-1`, the manual snapshot is retained indefinitely. Valid values are -1 and between `1` and `3653`. + /// + [Output("manualSnapshotRetentionPeriod")] + public Output ManualSnapshotRetentionPeriod { get; private set; } = null!; + + /// + /// For manual snapshots, the Amazon Web Services account used to create or copy the snapshot. For automatic snapshots, the owner of the cluster. The owner can perform all snapshot actions, such as sharing a manual snapshot. + /// + [Output("ownerAccount")] + public Output OwnerAccount { get; private set; } = null!; + + /// + /// A unique identifier for the snapshot that you are requesting. This identifier must be unique for all snapshots within the Amazon Web Services account. + /// + [Output("snapshotIdentifier")] + public Output SnapshotIdentifier { 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!; + + + /// + /// Create a ClusterSnapshot 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 ClusterSnapshot(string name, ClusterSnapshotArgs args, CustomResourceOptions? options = null) + : base("aws:redshift/clusterSnapshot:ClusterSnapshot", name, args ?? new ClusterSnapshotArgs(), MakeResourceOptions(options, "")) + { + } + + private ClusterSnapshot(string name, Input id, ClusterSnapshotState? state = null, CustomResourceOptions? options = null) + : base("aws:redshift/clusterSnapshot:ClusterSnapshot", 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 ClusterSnapshot 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 ClusterSnapshot Get(string name, Input id, ClusterSnapshotState? state = null, CustomResourceOptions? options = null) + { + return new ClusterSnapshot(name, id, state, options); + } + } + + public sealed class ClusterSnapshotArgs : global::Pulumi.ResourceArgs + { + /// + /// The cluster identifier for which you want a snapshot. + /// + [Input("clusterIdentifier", required: true)] + public Input ClusterIdentifier { get; set; } = null!; + + /// + /// The number of days that a manual snapshot is retained. If the value is `-1`, the manual snapshot is retained indefinitely. Valid values are -1 and between `1` and `3653`. + /// + [Input("manualSnapshotRetentionPeriod")] + public Input? ManualSnapshotRetentionPeriod { get; set; } + + /// + /// A unique identifier for the snapshot that you are requesting. This identifier must be unique for all snapshots within the Amazon Web Services account. + /// + [Input("snapshotIdentifier", required: true)] + public Input SnapshotIdentifier { get; set; } = null!; + + [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; + } + + public ClusterSnapshotArgs() + { + } + public static new ClusterSnapshotArgs Empty => new ClusterSnapshotArgs(); + } + + public sealed class ClusterSnapshotState : global::Pulumi.ResourceArgs + { + /// + /// Amazon Resource Name (ARN) of the snapshot. + /// + [Input("arn")] + public Input? Arn { get; set; } + + /// + /// The cluster identifier for which you want a snapshot. + /// + [Input("clusterIdentifier")] + public Input? ClusterIdentifier { get; set; } + + /// + /// The Key Management Service (KMS) key ID of the encryption key that was used to encrypt data in the cluster from which the snapshot was taken. + /// + [Input("kmsKeyId")] + public Input? KmsKeyId { get; set; } + + /// + /// The number of days that a manual snapshot is retained. If the value is `-1`, the manual snapshot is retained indefinitely. Valid values are -1 and between `1` and `3653`. + /// + [Input("manualSnapshotRetentionPeriod")] + public Input? ManualSnapshotRetentionPeriod { get; set; } + + /// + /// For manual snapshots, the Amazon Web Services account used to create or copy the snapshot. For automatic snapshots, the owner of the cluster. The owner can perform all snapshot actions, such as sharing a manual snapshot. + /// + [Input("ownerAccount")] + public Input? OwnerAccount { get; set; } + + /// + /// A unique identifier for the snapshot that you are requesting. This identifier must be unique for all snapshots within the Amazon Web Services account. + /// + [Input("snapshotIdentifier")] + public Input? SnapshotIdentifier { 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. + /// + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + + public ClusterSnapshotState() + { + } + public static new ClusterSnapshotState Empty => new ClusterSnapshotState(); + } +} diff --git a/sdk/dotnet/RedshiftServerless/Namespace.cs b/sdk/dotnet/RedshiftServerless/Namespace.cs index 67ae39aaa9f..657b5aefb0a 100644 --- a/sdk/dotnet/RedshiftServerless/Namespace.cs +++ b/sdk/dotnet/RedshiftServerless/Namespace.cs @@ -65,7 +65,7 @@ public partial class Namespace : global::Pulumi.CustomResource public Output DbName { get; private set; } = null!; /// - /// The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. + /// The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. When specifying `default_iam_role_arn`, it also must be part of `iam_roles`. /// [Output("defaultIamRoleArn")] public Output DefaultIamRoleArn { get; private set; } = null!; @@ -202,7 +202,7 @@ public Input? AdminUsername public Input? DbName { get; set; } /// - /// The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. + /// The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. When specifying `default_iam_role_arn`, it also must be part of `iam_roles`. /// [Input("defaultIamRoleArn")] public Input? DefaultIamRoleArn { get; set; } @@ -308,7 +308,7 @@ public Input? AdminUsername public Input? DbName { get; set; } /// - /// The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. + /// The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. When specifying `default_iam_role_arn`, it also must be part of `iam_roles`. /// [Input("defaultIamRoleArn")] public Input? DefaultIamRoleArn { get; set; } diff --git a/sdk/dotnet/Route53/HostedZoneDnsSec.cs b/sdk/dotnet/Route53/HostedZoneDnsSec.cs index 6344d59d218..90c68dc05e4 100644 --- a/sdk/dotnet/Route53/HostedZoneDnsSec.cs +++ b/sdk/dotnet/Route53/HostedZoneDnsSec.cs @@ -31,73 +31,40 @@ namespace Pulumi.Aws.Route53 /// CustomerMasterKeySpec = "ECC_NIST_P256", /// DeletionWindowInDays = 7, /// KeyUsage = "SIGN_VERIFY", - /// Policy = Output.Tuple(current, current).Apply(values => + /// Policy = JsonSerializer.Serialize(new Dictionary<string, object?> /// { - /// var current = values.Item1; - /// var current1 = values.Item2; - /// return JsonSerializer.Serialize(new Dictionary<string, object?> + /// ["Statement"] = new[] /// { - /// ["Statement"] = new[] + /// new Dictionary<string, object?> /// { - /// new Dictionary<string, object?> + /// ["Action"] = new[] /// { - /// ["Action"] = new[] - /// { - /// "kms:DescribeKey", - /// "kms:GetPublicKey", - /// "kms:Sign", - /// }, - /// ["Effect"] = "Allow", - /// ["Principal"] = new Dictionary<string, object?> - /// { - /// ["Service"] = "dnssec-route53.amazonaws.com", - /// }, - /// ["Sid"] = "Allow Route 53 DNSSEC Service", - /// ["Resource"] = "*", - /// ["Condition"] = new Dictionary<string, object?> - /// { - /// ["StringEquals"] = new Dictionary<string, object?> - /// { - /// ["aws:SourceAccount"] = current.Apply(getCallerIdentityResult => getCallerIdentityResult.AccountId), - /// }, - /// ["ArnLike"] = new Dictionary<string, object?> - /// { - /// ["aws:SourceArn"] = "arn:aws:route53:::hostedzone/*", - /// }, - /// }, + /// "kms:DescribeKey", + /// "kms:GetPublicKey", + /// "kms:Sign", + /// "kms:Verify", /// }, - /// new Dictionary<string, object?> + /// ["Effect"] = "Allow", + /// ["Principal"] = new Dictionary<string, object?> /// { - /// ["Action"] = "kms:CreateGrant", - /// ["Effect"] = "Allow", - /// ["Principal"] = new Dictionary<string, object?> - /// { - /// ["Service"] = "dnssec-route53.amazonaws.com", - /// }, - /// ["Sid"] = "Allow Route 53 DNSSEC Service to CreateGrant", - /// ["Resource"] = "*", - /// ["Condition"] = new Dictionary<string, object?> - /// { - /// ["Bool"] = new Dictionary<string, object?> - /// { - /// ["kms:GrantIsForAWSResource"] = "true", - /// }, - /// }, + /// ["Service"] = "dnssec-route53.amazonaws.com", /// }, - /// new Dictionary<string, object?> + /// ["Resource"] = "*", + /// ["Sid"] = "Allow Route 53 DNSSEC Service", + /// }, + /// new Dictionary<string, object?> + /// { + /// ["Action"] = "kms:*", + /// ["Effect"] = "Allow", + /// ["Principal"] = new Dictionary<string, object?> /// { - /// ["Action"] = "kms:*", - /// ["Effect"] = "Allow", - /// ["Principal"] = new Dictionary<string, object?> - /// { - /// ["AWS"] = $"arn:aws:iam::{current1.AccountId}:root", - /// }, - /// ["Resource"] = "*", - /// ["Sid"] = "Enable IAM User Permissions", + /// ["AWS"] = $"arn:aws:iam::{current.Apply(getCallerIdentityResult => getCallerIdentityResult.AccountId)}:root", /// }, + /// ["Resource"] = "*", + /// ["Sid"] = "Enable IAM User Permissions", /// }, - /// ["Version"] = "2012-10-17", - /// }); + /// }, + /// ["Version"] = "2012-10-17", /// }), /// }); /// diff --git a/sdk/dotnet/Sagemaker/Domain.cs b/sdk/dotnet/Sagemaker/Domain.cs index 7009dd28d5f..f7d5a79018e 100644 --- a/sdk/dotnet/Sagemaker/Domain.cs +++ b/sdk/dotnet/Sagemaker/Domain.cs @@ -150,7 +150,7 @@ public partial class Domain : global::Pulumi.CustomResource public Output AppNetworkAccessType { get; private set; } = null!; /// - /// The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`.* `domain_settings` - (Optional) The domain settings. See Domain Settings below. + /// The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`. /// [Output("appSecurityGroupManagement")] public Output AppSecurityGroupManagement { get; private set; } = null!; @@ -301,7 +301,7 @@ public sealed class DomainArgs : global::Pulumi.ResourceArgs public Input? AppNetworkAccessType { get; set; } /// - /// The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`.* `domain_settings` - (Optional) The domain settings. See Domain Settings below. + /// The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`. /// [Input("appSecurityGroupManagement")] public Input? AppSecurityGroupManagement { get; set; } @@ -390,7 +390,7 @@ public sealed class DomainState : global::Pulumi.ResourceArgs public Input? AppNetworkAccessType { get; set; } /// - /// The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`.* `domain_settings` - (Optional) The domain settings. See Domain Settings below. + /// The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`. /// [Input("appSecurityGroupManagement")] public Input? AppSecurityGroupManagement { get; set; } diff --git a/sdk/dotnet/SesV2/ConfigurationSet.cs b/sdk/dotnet/SesV2/ConfigurationSet.cs index 36487d816b9..e7379c81280 100644 --- a/sdk/dotnet/SesV2/ConfigurationSet.cs +++ b/sdk/dotnet/SesV2/ConfigurationSet.cs @@ -116,6 +116,12 @@ public partial class ConfigurationSet : global::Pulumi.CustomResource [Output("trackingOptions")] public Output TrackingOptions { get; private set; } = null!; + /// + /// An object that defines the VDM settings that apply to emails that you send using the configuration set. + /// + [Output("vdmOptions")] + public Output VdmOptions { get; private set; } = null!; + /// /// Create a ConfigurationSet resource with the given unique name, arguments, and options. @@ -210,6 +216,12 @@ public InputMap Tags [Input("trackingOptions")] public Input? TrackingOptions { get; set; } + /// + /// An object that defines the VDM settings that apply to emails that you send using the configuration set. + /// + [Input("vdmOptions")] + public Input? VdmOptions { get; set; } + public ConfigurationSetArgs() { } @@ -280,6 +292,12 @@ public InputMap TagsAll [Input("trackingOptions")] public Input? TrackingOptions { get; set; } + /// + /// An object that defines the VDM settings that apply to emails that you send using the configuration set. + /// + [Input("vdmOptions")] + public Input? VdmOptions { get; set; } + public ConfigurationSetState() { } diff --git a/sdk/dotnet/SesV2/Inputs/ConfigurationSetVdmOptionsArgs.cs b/sdk/dotnet/SesV2/Inputs/ConfigurationSetVdmOptionsArgs.cs new file mode 100644 index 00000000000..e719c86a22c --- /dev/null +++ b/sdk/dotnet/SesV2/Inputs/ConfigurationSetVdmOptionsArgs.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.SesV2.Inputs +{ + + public sealed class ConfigurationSetVdmOptionsArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies additional settings for your VDM configuration as applicable to the Dashboard. + /// + [Input("dashboardOptions")] + public Input? DashboardOptions { get; set; } + + /// + /// Specifies additional settings for your VDM configuration as applicable to the Guardian. + /// + [Input("guardianOptions")] + public Input? GuardianOptions { get; set; } + + public ConfigurationSetVdmOptionsArgs() + { + } + public static new ConfigurationSetVdmOptionsArgs Empty => new ConfigurationSetVdmOptionsArgs(); + } +} diff --git a/sdk/dotnet/SesV2/Inputs/ConfigurationSetVdmOptionsDashboardOptionsArgs.cs b/sdk/dotnet/SesV2/Inputs/ConfigurationSetVdmOptionsDashboardOptionsArgs.cs new file mode 100644 index 00000000000..be488f24de2 --- /dev/null +++ b/sdk/dotnet/SesV2/Inputs/ConfigurationSetVdmOptionsDashboardOptionsArgs.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.SesV2.Inputs +{ + + public sealed class ConfigurationSetVdmOptionsDashboardOptionsArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the status of your VDM engagement metrics collection. Valid values: `ENABLED`, `DISABLED`. + /// + [Input("engagementMetrics")] + public Input? EngagementMetrics { get; set; } + + public ConfigurationSetVdmOptionsDashboardOptionsArgs() + { + } + public static new ConfigurationSetVdmOptionsDashboardOptionsArgs Empty => new ConfigurationSetVdmOptionsDashboardOptionsArgs(); + } +} diff --git a/sdk/dotnet/SesV2/Inputs/ConfigurationSetVdmOptionsDashboardOptionsGetArgs.cs b/sdk/dotnet/SesV2/Inputs/ConfigurationSetVdmOptionsDashboardOptionsGetArgs.cs new file mode 100644 index 00000000000..6b5c72e7c00 --- /dev/null +++ b/sdk/dotnet/SesV2/Inputs/ConfigurationSetVdmOptionsDashboardOptionsGetArgs.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.SesV2.Inputs +{ + + public sealed class ConfigurationSetVdmOptionsDashboardOptionsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the status of your VDM engagement metrics collection. Valid values: `ENABLED`, `DISABLED`. + /// + [Input("engagementMetrics")] + public Input? EngagementMetrics { get; set; } + + public ConfigurationSetVdmOptionsDashboardOptionsGetArgs() + { + } + public static new ConfigurationSetVdmOptionsDashboardOptionsGetArgs Empty => new ConfigurationSetVdmOptionsDashboardOptionsGetArgs(); + } +} diff --git a/sdk/dotnet/SesV2/Inputs/ConfigurationSetVdmOptionsGetArgs.cs b/sdk/dotnet/SesV2/Inputs/ConfigurationSetVdmOptionsGetArgs.cs new file mode 100644 index 00000000000..afa8c4917bb --- /dev/null +++ b/sdk/dotnet/SesV2/Inputs/ConfigurationSetVdmOptionsGetArgs.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.SesV2.Inputs +{ + + public sealed class ConfigurationSetVdmOptionsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies additional settings for your VDM configuration as applicable to the Dashboard. + /// + [Input("dashboardOptions")] + public Input? DashboardOptions { get; set; } + + /// + /// Specifies additional settings for your VDM configuration as applicable to the Guardian. + /// + [Input("guardianOptions")] + public Input? GuardianOptions { get; set; } + + public ConfigurationSetVdmOptionsGetArgs() + { + } + public static new ConfigurationSetVdmOptionsGetArgs Empty => new ConfigurationSetVdmOptionsGetArgs(); + } +} diff --git a/sdk/dotnet/SesV2/Inputs/ConfigurationSetVdmOptionsGuardianOptionsArgs.cs b/sdk/dotnet/SesV2/Inputs/ConfigurationSetVdmOptionsGuardianOptionsArgs.cs new file mode 100644 index 00000000000..0dda74fd44a --- /dev/null +++ b/sdk/dotnet/SesV2/Inputs/ConfigurationSetVdmOptionsGuardianOptionsArgs.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.SesV2.Inputs +{ + + public sealed class ConfigurationSetVdmOptionsGuardianOptionsArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the status of your VDM optimized shared delivery. Valid values: `ENABLED`, `DISABLED`. + /// + [Input("optimizedSharedDelivery")] + public Input? OptimizedSharedDelivery { get; set; } + + public ConfigurationSetVdmOptionsGuardianOptionsArgs() + { + } + public static new ConfigurationSetVdmOptionsGuardianOptionsArgs Empty => new ConfigurationSetVdmOptionsGuardianOptionsArgs(); + } +} diff --git a/sdk/dotnet/SesV2/Inputs/ConfigurationSetVdmOptionsGuardianOptionsGetArgs.cs b/sdk/dotnet/SesV2/Inputs/ConfigurationSetVdmOptionsGuardianOptionsGetArgs.cs new file mode 100644 index 00000000000..0bbe7c55173 --- /dev/null +++ b/sdk/dotnet/SesV2/Inputs/ConfigurationSetVdmOptionsGuardianOptionsGetArgs.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.SesV2.Inputs +{ + + public sealed class ConfigurationSetVdmOptionsGuardianOptionsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the status of your VDM optimized shared delivery. Valid values: `ENABLED`, `DISABLED`. + /// + [Input("optimizedSharedDelivery")] + public Input? OptimizedSharedDelivery { get; set; } + + public ConfigurationSetVdmOptionsGuardianOptionsGetArgs() + { + } + public static new ConfigurationSetVdmOptionsGuardianOptionsGetArgs Empty => new ConfigurationSetVdmOptionsGuardianOptionsGetArgs(); + } +} diff --git a/sdk/dotnet/SesV2/Outputs/ConfigurationSetVdmOptions.cs b/sdk/dotnet/SesV2/Outputs/ConfigurationSetVdmOptions.cs new file mode 100644 index 00000000000..ad09583ae0a --- /dev/null +++ b/sdk/dotnet/SesV2/Outputs/ConfigurationSetVdmOptions.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.SesV2.Outputs +{ + + [OutputType] + public sealed class ConfigurationSetVdmOptions + { + /// + /// Specifies additional settings for your VDM configuration as applicable to the Dashboard. + /// + public readonly Outputs.ConfigurationSetVdmOptionsDashboardOptions? DashboardOptions; + /// + /// Specifies additional settings for your VDM configuration as applicable to the Guardian. + /// + public readonly Outputs.ConfigurationSetVdmOptionsGuardianOptions? GuardianOptions; + + [OutputConstructor] + private ConfigurationSetVdmOptions( + Outputs.ConfigurationSetVdmOptionsDashboardOptions? dashboardOptions, + + Outputs.ConfigurationSetVdmOptionsGuardianOptions? guardianOptions) + { + DashboardOptions = dashboardOptions; + GuardianOptions = guardianOptions; + } + } +} diff --git a/sdk/dotnet/SesV2/Outputs/ConfigurationSetVdmOptionsDashboardOptions.cs b/sdk/dotnet/SesV2/Outputs/ConfigurationSetVdmOptionsDashboardOptions.cs new file mode 100644 index 00000000000..0f3c1666338 --- /dev/null +++ b/sdk/dotnet/SesV2/Outputs/ConfigurationSetVdmOptionsDashboardOptions.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.SesV2.Outputs +{ + + [OutputType] + public sealed class ConfigurationSetVdmOptionsDashboardOptions + { + /// + /// Specifies the status of your VDM engagement metrics collection. Valid values: `ENABLED`, `DISABLED`. + /// + public readonly string? EngagementMetrics; + + [OutputConstructor] + private ConfigurationSetVdmOptionsDashboardOptions(string? engagementMetrics) + { + EngagementMetrics = engagementMetrics; + } + } +} diff --git a/sdk/dotnet/SesV2/Outputs/ConfigurationSetVdmOptionsGuardianOptions.cs b/sdk/dotnet/SesV2/Outputs/ConfigurationSetVdmOptionsGuardianOptions.cs new file mode 100644 index 00000000000..da7553bbe41 --- /dev/null +++ b/sdk/dotnet/SesV2/Outputs/ConfigurationSetVdmOptionsGuardianOptions.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.SesV2.Outputs +{ + + [OutputType] + public sealed class ConfigurationSetVdmOptionsGuardianOptions + { + /// + /// Specifies the status of your VDM optimized shared delivery. Valid values: `ENABLED`, `DISABLED`. + /// + public readonly string? OptimizedSharedDelivery; + + [OutputConstructor] + private ConfigurationSetVdmOptionsGuardianOptions(string? optimizedSharedDelivery) + { + OptimizedSharedDelivery = optimizedSharedDelivery; + } + } +} diff --git a/sdk/dotnet/Transfer/Inputs/ServerProtocolDetailsArgs.cs b/sdk/dotnet/Transfer/Inputs/ServerProtocolDetailsArgs.cs new file mode 100644 index 00000000000..e2047dae093 --- /dev/null +++ b/sdk/dotnet/Transfer/Inputs/ServerProtocolDetailsArgs.cs @@ -0,0 +1,50 @@ +// *** 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.Transfer.Inputs +{ + + public sealed class ServerProtocolDetailsArgs : global::Pulumi.ResourceArgs + { + [Input("as2Transports")] + private InputList? _as2Transports; + + /// + /// Indicates the transport method for the AS2 messages. Currently, only `HTTP` is supported. + /// + public InputList As2Transports + { + get => _as2Transports ?? (_as2Transports = new InputList()); + set => _as2Transports = value; + } + + /// + /// Indicates passive mode, for FTP and FTPS protocols. Enter a single IPv4 address, such as the public IP address of a firewall, router, or load balancer. + /// + [Input("passiveIp")] + public Input? PassiveIp { get; set; } + + /// + /// Use to ignore the error that is generated when the client attempts to use `SETSTAT` on a file you are uploading to an S3 bucket. Valid values: `DEFAULT`, `ENABLE_NO_OP`. + /// + [Input("setStatOption")] + public Input? SetStatOption { get; set; } + + /// + /// A property used with Transfer Family servers that use the FTPS protocol. Provides a mechanism to resume or share a negotiated secret key between the control and data connection for an FTPS session. Valid values: `DISABLED`, `ENABLED`, `ENFORCED`. + /// + [Input("tlsSessionResumptionMode")] + public Input? TlsSessionResumptionMode { get; set; } + + public ServerProtocolDetailsArgs() + { + } + public static new ServerProtocolDetailsArgs Empty => new ServerProtocolDetailsArgs(); + } +} diff --git a/sdk/dotnet/Transfer/Inputs/ServerProtocolDetailsGetArgs.cs b/sdk/dotnet/Transfer/Inputs/ServerProtocolDetailsGetArgs.cs new file mode 100644 index 00000000000..6bb016f27d5 --- /dev/null +++ b/sdk/dotnet/Transfer/Inputs/ServerProtocolDetailsGetArgs.cs @@ -0,0 +1,50 @@ +// *** 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.Transfer.Inputs +{ + + public sealed class ServerProtocolDetailsGetArgs : global::Pulumi.ResourceArgs + { + [Input("as2Transports")] + private InputList? _as2Transports; + + /// + /// Indicates the transport method for the AS2 messages. Currently, only `HTTP` is supported. + /// + public InputList As2Transports + { + get => _as2Transports ?? (_as2Transports = new InputList()); + set => _as2Transports = value; + } + + /// + /// Indicates passive mode, for FTP and FTPS protocols. Enter a single IPv4 address, such as the public IP address of a firewall, router, or load balancer. + /// + [Input("passiveIp")] + public Input? PassiveIp { get; set; } + + /// + /// Use to ignore the error that is generated when the client attempts to use `SETSTAT` on a file you are uploading to an S3 bucket. Valid values: `DEFAULT`, `ENABLE_NO_OP`. + /// + [Input("setStatOption")] + public Input? SetStatOption { get; set; } + + /// + /// A property used with Transfer Family servers that use the FTPS protocol. Provides a mechanism to resume or share a negotiated secret key between the control and data connection for an FTPS session. Valid values: `DISABLED`, `ENABLED`, `ENFORCED`. + /// + [Input("tlsSessionResumptionMode")] + public Input? TlsSessionResumptionMode { get; set; } + + public ServerProtocolDetailsGetArgs() + { + } + public static new ServerProtocolDetailsGetArgs Empty => new ServerProtocolDetailsGetArgs(); + } +} diff --git a/sdk/dotnet/Transfer/Inputs/WorkflowOnExceptionStepArgs.cs b/sdk/dotnet/Transfer/Inputs/WorkflowOnExceptionStepArgs.cs index 3674c6d0825..5e7786cce66 100644 --- a/sdk/dotnet/Transfer/Inputs/WorkflowOnExceptionStepArgs.cs +++ b/sdk/dotnet/Transfer/Inputs/WorkflowOnExceptionStepArgs.cs @@ -24,6 +24,12 @@ public sealed class WorkflowOnExceptionStepArgs : global::Pulumi.ResourceArgs [Input("customStepDetails")] public Input? CustomStepDetails { get; set; } + /// + /// Details for a step that decrypts the file. + /// + [Input("decryptStepDetails")] + public Input? DecryptStepDetails { get; set; } + /// /// Details for a step that deletes the file. /// @@ -37,7 +43,7 @@ public sealed class WorkflowOnExceptionStepArgs : global::Pulumi.ResourceArgs public Input? TagStepDetails { get; set; } /// - /// One of the following step types are supported. `COPY`, `CUSTOM`, `DELETE`, and `TAG`. + /// One of the following step types are supported. `COPY`, `CUSTOM`, `DECRYPT`, `DELETE`, and `TAG`. /// [Input("type", required: true)] public Input Type { get; set; } = null!; diff --git a/sdk/dotnet/Transfer/Inputs/WorkflowOnExceptionStepDecryptStepDetailsArgs.cs b/sdk/dotnet/Transfer/Inputs/WorkflowOnExceptionStepDecryptStepDetailsArgs.cs new file mode 100644 index 00000000000..615dcb6775e --- /dev/null +++ b/sdk/dotnet/Transfer/Inputs/WorkflowOnExceptionStepDecryptStepDetailsArgs.cs @@ -0,0 +1,50 @@ +// *** 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.Transfer.Inputs +{ + + public sealed class WorkflowOnExceptionStepDecryptStepDetailsArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the location for the file being copied. Use ${Transfer:username} in this field to parametrize the destination prefix by username. + /// + [Input("destinationFileLocation")] + public Input? DestinationFileLocation { get; set; } + + /// + /// The name of the step, used as an identifier. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// A flag that indicates whether or not to overwrite an existing file of the same name. The default is `FALSE`. Valid values are `TRUE` and `FALSE`. + /// + [Input("overwriteExisting")] + public Input? OverwriteExisting { get; set; } + + /// + /// Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. + /// + [Input("sourceFileLocation")] + public Input? SourceFileLocation { get; set; } + + /// + /// The type of encryption used. Currently, this value must be `"PGP"`. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + public WorkflowOnExceptionStepDecryptStepDetailsArgs() + { + } + public static new WorkflowOnExceptionStepDecryptStepDetailsArgs Empty => new WorkflowOnExceptionStepDecryptStepDetailsArgs(); + } +} diff --git a/sdk/dotnet/Transfer/Inputs/WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationArgs.cs b/sdk/dotnet/Transfer/Inputs/WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationArgs.cs new file mode 100644 index 00000000000..a01bda13586 --- /dev/null +++ b/sdk/dotnet/Transfer/Inputs/WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationArgs.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.Transfer.Inputs +{ + + public sealed class WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the details for the EFS file being copied. + /// + [Input("efsFileLocation")] + public Input? EfsFileLocation { get; set; } + + /// + /// Specifies the details for the S3 file being copied. + /// + [Input("s3FileLocation")] + public Input? S3FileLocation { get; set; } + + public WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationArgs() + { + } + public static new WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationArgs Empty => new WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationArgs(); + } +} diff --git a/sdk/dotnet/Transfer/Inputs/WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs.cs b/sdk/dotnet/Transfer/Inputs/WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs.cs new file mode 100644 index 00000000000..aebc3398c79 --- /dev/null +++ b/sdk/dotnet/Transfer/Inputs/WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs.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.Transfer.Inputs +{ + + public sealed class WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs : global::Pulumi.ResourceArgs + { + /// + /// The ID of the file system, assigned by Amazon EFS. + /// + [Input("fileSystemId")] + public Input? FileSystemId { get; set; } + + /// + /// The pathname for the folder being used by a workflow. + /// + [Input("path")] + public Input? Path { get; set; } + + public WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs() + { + } + public static new WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs Empty => new WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs(); + } +} diff --git a/sdk/dotnet/Transfer/Inputs/WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationGetArgs.cs b/sdk/dotnet/Transfer/Inputs/WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationGetArgs.cs new file mode 100644 index 00000000000..81d7c23f18b --- /dev/null +++ b/sdk/dotnet/Transfer/Inputs/WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationGetArgs.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.Transfer.Inputs +{ + + public sealed class WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The ID of the file system, assigned by Amazon EFS. + /// + [Input("fileSystemId")] + public Input? FileSystemId { get; set; } + + /// + /// The pathname for the folder being used by a workflow. + /// + [Input("path")] + public Input? Path { get; set; } + + public WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationGetArgs() + { + } + public static new WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationGetArgs Empty => new WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationGetArgs(); + } +} diff --git a/sdk/dotnet/Transfer/Inputs/WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationGetArgs.cs b/sdk/dotnet/Transfer/Inputs/WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationGetArgs.cs new file mode 100644 index 00000000000..069b77c722a --- /dev/null +++ b/sdk/dotnet/Transfer/Inputs/WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationGetArgs.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.Transfer.Inputs +{ + + public sealed class WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the details for the EFS file being copied. + /// + [Input("efsFileLocation")] + public Input? EfsFileLocation { get; set; } + + /// + /// Specifies the details for the S3 file being copied. + /// + [Input("s3FileLocation")] + public Input? S3FileLocation { get; set; } + + public WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationGetArgs() + { + } + public static new WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationGetArgs Empty => new WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationGetArgs(); + } +} diff --git a/sdk/dotnet/Transfer/Inputs/WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs.cs b/sdk/dotnet/Transfer/Inputs/WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs.cs new file mode 100644 index 00000000000..68cbfe37fc1 --- /dev/null +++ b/sdk/dotnet/Transfer/Inputs/WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs.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.Transfer.Inputs +{ + + public sealed class WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the S3 bucket for the customer input file. + /// + [Input("bucket")] + public Input? Bucket { get; set; } + + /// + /// The name assigned to the file when it was created in S3. You use the object key to retrieve the object. + /// + [Input("key")] + public Input? Key { get; set; } + + public WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs() + { + } + public static new WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs Empty => new WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs(); + } +} diff --git a/sdk/dotnet/Transfer/Inputs/WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationGetArgs.cs b/sdk/dotnet/Transfer/Inputs/WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationGetArgs.cs new file mode 100644 index 00000000000..b2a14280c87 --- /dev/null +++ b/sdk/dotnet/Transfer/Inputs/WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationGetArgs.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.Transfer.Inputs +{ + + public sealed class WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the S3 bucket for the customer input file. + /// + [Input("bucket")] + public Input? Bucket { get; set; } + + /// + /// The name assigned to the file when it was created in S3. You use the object key to retrieve the object. + /// + [Input("key")] + public Input? Key { get; set; } + + public WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationGetArgs() + { + } + public static new WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationGetArgs Empty => new WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationGetArgs(); + } +} diff --git a/sdk/dotnet/Transfer/Inputs/WorkflowOnExceptionStepDecryptStepDetailsGetArgs.cs b/sdk/dotnet/Transfer/Inputs/WorkflowOnExceptionStepDecryptStepDetailsGetArgs.cs new file mode 100644 index 00000000000..c0f09ab3184 --- /dev/null +++ b/sdk/dotnet/Transfer/Inputs/WorkflowOnExceptionStepDecryptStepDetailsGetArgs.cs @@ -0,0 +1,50 @@ +// *** 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.Transfer.Inputs +{ + + public sealed class WorkflowOnExceptionStepDecryptStepDetailsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the location for the file being copied. Use ${Transfer:username} in this field to parametrize the destination prefix by username. + /// + [Input("destinationFileLocation")] + public Input? DestinationFileLocation { get; set; } + + /// + /// The name of the step, used as an identifier. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// A flag that indicates whether or not to overwrite an existing file of the same name. The default is `FALSE`. Valid values are `TRUE` and `FALSE`. + /// + [Input("overwriteExisting")] + public Input? OverwriteExisting { get; set; } + + /// + /// Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. + /// + [Input("sourceFileLocation")] + public Input? SourceFileLocation { get; set; } + + /// + /// The type of encryption used. Currently, this value must be `"PGP"`. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + public WorkflowOnExceptionStepDecryptStepDetailsGetArgs() + { + } + public static new WorkflowOnExceptionStepDecryptStepDetailsGetArgs Empty => new WorkflowOnExceptionStepDecryptStepDetailsGetArgs(); + } +} diff --git a/sdk/dotnet/Transfer/Inputs/WorkflowOnExceptionStepGetArgs.cs b/sdk/dotnet/Transfer/Inputs/WorkflowOnExceptionStepGetArgs.cs index 566aece15c6..893191517b5 100644 --- a/sdk/dotnet/Transfer/Inputs/WorkflowOnExceptionStepGetArgs.cs +++ b/sdk/dotnet/Transfer/Inputs/WorkflowOnExceptionStepGetArgs.cs @@ -24,6 +24,12 @@ public sealed class WorkflowOnExceptionStepGetArgs : global::Pulumi.ResourceArgs [Input("customStepDetails")] public Input? CustomStepDetails { get; set; } + /// + /// Details for a step that decrypts the file. + /// + [Input("decryptStepDetails")] + public Input? DecryptStepDetails { get; set; } + /// /// Details for a step that deletes the file. /// @@ -37,7 +43,7 @@ public sealed class WorkflowOnExceptionStepGetArgs : global::Pulumi.ResourceArgs public Input? TagStepDetails { get; set; } /// - /// One of the following step types are supported. `COPY`, `CUSTOM`, `DELETE`, and `TAG`. + /// One of the following step types are supported. `COPY`, `CUSTOM`, `DECRYPT`, `DELETE`, and `TAG`. /// [Input("type", required: true)] public Input Type { get; set; } = null!; diff --git a/sdk/dotnet/Transfer/Inputs/WorkflowStepArgs.cs b/sdk/dotnet/Transfer/Inputs/WorkflowStepArgs.cs index 26557002a04..b1d114e5e53 100644 --- a/sdk/dotnet/Transfer/Inputs/WorkflowStepArgs.cs +++ b/sdk/dotnet/Transfer/Inputs/WorkflowStepArgs.cs @@ -24,6 +24,12 @@ public sealed class WorkflowStepArgs : global::Pulumi.ResourceArgs [Input("customStepDetails")] public Input? CustomStepDetails { get; set; } + /// + /// Details for a step that decrypts the file. + /// + [Input("decryptStepDetails")] + public Input? DecryptStepDetails { get; set; } + /// /// Details for a step that deletes the file. /// @@ -37,7 +43,7 @@ public sealed class WorkflowStepArgs : global::Pulumi.ResourceArgs public Input? TagStepDetails { get; set; } /// - /// One of the following step types are supported. `COPY`, `CUSTOM`, `DELETE`, and `TAG`. + /// One of the following step types are supported. `COPY`, `CUSTOM`, `DECRYPT`, `DELETE`, and `TAG`. /// [Input("type", required: true)] public Input Type { get; set; } = null!; diff --git a/sdk/dotnet/Transfer/Inputs/WorkflowStepDecryptStepDetailsArgs.cs b/sdk/dotnet/Transfer/Inputs/WorkflowStepDecryptStepDetailsArgs.cs new file mode 100644 index 00000000000..7fe388ec7b0 --- /dev/null +++ b/sdk/dotnet/Transfer/Inputs/WorkflowStepDecryptStepDetailsArgs.cs @@ -0,0 +1,50 @@ +// *** 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.Transfer.Inputs +{ + + public sealed class WorkflowStepDecryptStepDetailsArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the location for the file being copied. Use ${Transfer:username} in this field to parametrize the destination prefix by username. + /// + [Input("destinationFileLocation")] + public Input? DestinationFileLocation { get; set; } + + /// + /// The name of the step, used as an identifier. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// A flag that indicates whether or not to overwrite an existing file of the same name. The default is `FALSE`. Valid values are `TRUE` and `FALSE`. + /// + [Input("overwriteExisting")] + public Input? OverwriteExisting { get; set; } + + /// + /// Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. + /// + [Input("sourceFileLocation")] + public Input? SourceFileLocation { get; set; } + + /// + /// The type of encryption used. Currently, this value must be `"PGP"`. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + public WorkflowStepDecryptStepDetailsArgs() + { + } + public static new WorkflowStepDecryptStepDetailsArgs Empty => new WorkflowStepDecryptStepDetailsArgs(); + } +} diff --git a/sdk/dotnet/Transfer/Inputs/WorkflowStepDecryptStepDetailsDestinationFileLocationArgs.cs b/sdk/dotnet/Transfer/Inputs/WorkflowStepDecryptStepDetailsDestinationFileLocationArgs.cs new file mode 100644 index 00000000000..b677d6e54e4 --- /dev/null +++ b/sdk/dotnet/Transfer/Inputs/WorkflowStepDecryptStepDetailsDestinationFileLocationArgs.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.Transfer.Inputs +{ + + public sealed class WorkflowStepDecryptStepDetailsDestinationFileLocationArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the details for the EFS file being copied. + /// + [Input("efsFileLocation")] + public Input? EfsFileLocation { get; set; } + + /// + /// Specifies the details for the S3 file being copied. + /// + [Input("s3FileLocation")] + public Input? S3FileLocation { get; set; } + + public WorkflowStepDecryptStepDetailsDestinationFileLocationArgs() + { + } + public static new WorkflowStepDecryptStepDetailsDestinationFileLocationArgs Empty => new WorkflowStepDecryptStepDetailsDestinationFileLocationArgs(); + } +} diff --git a/sdk/dotnet/Transfer/Inputs/WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs.cs b/sdk/dotnet/Transfer/Inputs/WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs.cs new file mode 100644 index 00000000000..c4e2bf948e3 --- /dev/null +++ b/sdk/dotnet/Transfer/Inputs/WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs.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.Transfer.Inputs +{ + + public sealed class WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs : global::Pulumi.ResourceArgs + { + /// + /// The ID of the file system, assigned by Amazon EFS. + /// + [Input("fileSystemId")] + public Input? FileSystemId { get; set; } + + /// + /// The pathname for the folder being used by a workflow. + /// + [Input("path")] + public Input? Path { get; set; } + + public WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs() + { + } + public static new WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs Empty => new WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs(); + } +} diff --git a/sdk/dotnet/Transfer/Inputs/WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationGetArgs.cs b/sdk/dotnet/Transfer/Inputs/WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationGetArgs.cs new file mode 100644 index 00000000000..a41d010c998 --- /dev/null +++ b/sdk/dotnet/Transfer/Inputs/WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationGetArgs.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.Transfer.Inputs +{ + + public sealed class WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The ID of the file system, assigned by Amazon EFS. + /// + [Input("fileSystemId")] + public Input? FileSystemId { get; set; } + + /// + /// The pathname for the folder being used by a workflow. + /// + [Input("path")] + public Input? Path { get; set; } + + public WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationGetArgs() + { + } + public static new WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationGetArgs Empty => new WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationGetArgs(); + } +} diff --git a/sdk/dotnet/Transfer/Inputs/WorkflowStepDecryptStepDetailsDestinationFileLocationGetArgs.cs b/sdk/dotnet/Transfer/Inputs/WorkflowStepDecryptStepDetailsDestinationFileLocationGetArgs.cs new file mode 100644 index 00000000000..ae476fa90bb --- /dev/null +++ b/sdk/dotnet/Transfer/Inputs/WorkflowStepDecryptStepDetailsDestinationFileLocationGetArgs.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.Transfer.Inputs +{ + + public sealed class WorkflowStepDecryptStepDetailsDestinationFileLocationGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the details for the EFS file being copied. + /// + [Input("efsFileLocation")] + public Input? EfsFileLocation { get; set; } + + /// + /// Specifies the details for the S3 file being copied. + /// + [Input("s3FileLocation")] + public Input? S3FileLocation { get; set; } + + public WorkflowStepDecryptStepDetailsDestinationFileLocationGetArgs() + { + } + public static new WorkflowStepDecryptStepDetailsDestinationFileLocationGetArgs Empty => new WorkflowStepDecryptStepDetailsDestinationFileLocationGetArgs(); + } +} diff --git a/sdk/dotnet/Transfer/Inputs/WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs.cs b/sdk/dotnet/Transfer/Inputs/WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs.cs new file mode 100644 index 00000000000..817d822d507 --- /dev/null +++ b/sdk/dotnet/Transfer/Inputs/WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs.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.Transfer.Inputs +{ + + public sealed class WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the S3 bucket for the customer input file. + /// + [Input("bucket")] + public Input? Bucket { get; set; } + + /// + /// The name assigned to the file when it was created in S3. You use the object key to retrieve the object. + /// + [Input("key")] + public Input? Key { get; set; } + + public WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs() + { + } + public static new WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs Empty => new WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs(); + } +} diff --git a/sdk/dotnet/Transfer/Inputs/WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationGetArgs.cs b/sdk/dotnet/Transfer/Inputs/WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationGetArgs.cs new file mode 100644 index 00000000000..b44896923b0 --- /dev/null +++ b/sdk/dotnet/Transfer/Inputs/WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationGetArgs.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.Transfer.Inputs +{ + + public sealed class WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the S3 bucket for the customer input file. + /// + [Input("bucket")] + public Input? Bucket { get; set; } + + /// + /// The name assigned to the file when it was created in S3. You use the object key to retrieve the object. + /// + [Input("key")] + public Input? Key { get; set; } + + public WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationGetArgs() + { + } + public static new WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationGetArgs Empty => new WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationGetArgs(); + } +} diff --git a/sdk/dotnet/Transfer/Inputs/WorkflowStepDecryptStepDetailsGetArgs.cs b/sdk/dotnet/Transfer/Inputs/WorkflowStepDecryptStepDetailsGetArgs.cs new file mode 100644 index 00000000000..f9e310929d0 --- /dev/null +++ b/sdk/dotnet/Transfer/Inputs/WorkflowStepDecryptStepDetailsGetArgs.cs @@ -0,0 +1,50 @@ +// *** 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.Transfer.Inputs +{ + + public sealed class WorkflowStepDecryptStepDetailsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the location for the file being copied. Use ${Transfer:username} in this field to parametrize the destination prefix by username. + /// + [Input("destinationFileLocation")] + public Input? DestinationFileLocation { get; set; } + + /// + /// The name of the step, used as an identifier. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// A flag that indicates whether or not to overwrite an existing file of the same name. The default is `FALSE`. Valid values are `TRUE` and `FALSE`. + /// + [Input("overwriteExisting")] + public Input? OverwriteExisting { get; set; } + + /// + /// Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. + /// + [Input("sourceFileLocation")] + public Input? SourceFileLocation { get; set; } + + /// + /// The type of encryption used. Currently, this value must be `"PGP"`. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + public WorkflowStepDecryptStepDetailsGetArgs() + { + } + public static new WorkflowStepDecryptStepDetailsGetArgs Empty => new WorkflowStepDecryptStepDetailsGetArgs(); + } +} diff --git a/sdk/dotnet/Transfer/Inputs/WorkflowStepGetArgs.cs b/sdk/dotnet/Transfer/Inputs/WorkflowStepGetArgs.cs index edf9dd10cd0..53b20bcd422 100644 --- a/sdk/dotnet/Transfer/Inputs/WorkflowStepGetArgs.cs +++ b/sdk/dotnet/Transfer/Inputs/WorkflowStepGetArgs.cs @@ -24,6 +24,12 @@ public sealed class WorkflowStepGetArgs : global::Pulumi.ResourceArgs [Input("customStepDetails")] public Input? CustomStepDetails { get; set; } + /// + /// Details for a step that decrypts the file. + /// + [Input("decryptStepDetails")] + public Input? DecryptStepDetails { get; set; } + /// /// Details for a step that deletes the file. /// @@ -37,7 +43,7 @@ public sealed class WorkflowStepGetArgs : global::Pulumi.ResourceArgs public Input? TagStepDetails { get; set; } /// - /// One of the following step types are supported. `COPY`, `CUSTOM`, `DELETE`, and `TAG`. + /// One of the following step types are supported. `COPY`, `CUSTOM`, `DECRYPT`, `DELETE`, and `TAG`. /// [Input("type", required: true)] public Input Type { get; set; } = null!; diff --git a/sdk/dotnet/Transfer/Outputs/ServerProtocolDetails.cs b/sdk/dotnet/Transfer/Outputs/ServerProtocolDetails.cs new file mode 100644 index 00000000000..a360916836d --- /dev/null +++ b/sdk/dotnet/Transfer/Outputs/ServerProtocolDetails.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Transfer.Outputs +{ + + [OutputType] + public sealed class ServerProtocolDetails + { + /// + /// Indicates the transport method for the AS2 messages. Currently, only `HTTP` is supported. + /// + public readonly ImmutableArray As2Transports; + /// + /// Indicates passive mode, for FTP and FTPS protocols. Enter a single IPv4 address, such as the public IP address of a firewall, router, or load balancer. + /// + public readonly string? PassiveIp; + /// + /// Use to ignore the error that is generated when the client attempts to use `SETSTAT` on a file you are uploading to an S3 bucket. Valid values: `DEFAULT`, `ENABLE_NO_OP`. + /// + public readonly string? SetStatOption; + /// + /// A property used with Transfer Family servers that use the FTPS protocol. Provides a mechanism to resume or share a negotiated secret key between the control and data connection for an FTPS session. Valid values: `DISABLED`, `ENABLED`, `ENFORCED`. + /// + public readonly string? TlsSessionResumptionMode; + + [OutputConstructor] + private ServerProtocolDetails( + ImmutableArray as2Transports, + + string? passiveIp, + + string? setStatOption, + + string? tlsSessionResumptionMode) + { + As2Transports = as2Transports; + PassiveIp = passiveIp; + SetStatOption = setStatOption; + TlsSessionResumptionMode = tlsSessionResumptionMode; + } + } +} diff --git a/sdk/dotnet/Transfer/Outputs/WorkflowOnExceptionStep.cs b/sdk/dotnet/Transfer/Outputs/WorkflowOnExceptionStep.cs index 5f71495215f..c66c6ff91f9 100644 --- a/sdk/dotnet/Transfer/Outputs/WorkflowOnExceptionStep.cs +++ b/sdk/dotnet/Transfer/Outputs/WorkflowOnExceptionStep.cs @@ -22,6 +22,10 @@ public sealed class WorkflowOnExceptionStep /// public readonly Outputs.WorkflowOnExceptionStepCustomStepDetails? CustomStepDetails; /// + /// Details for a step that decrypts the file. + /// + public readonly Outputs.WorkflowOnExceptionStepDecryptStepDetails? DecryptStepDetails; + /// /// Details for a step that deletes the file. /// public readonly Outputs.WorkflowOnExceptionStepDeleteStepDetails? DeleteStepDetails; @@ -30,7 +34,7 @@ public sealed class WorkflowOnExceptionStep /// public readonly Outputs.WorkflowOnExceptionStepTagStepDetails? TagStepDetails; /// - /// One of the following step types are supported. `COPY`, `CUSTOM`, `DELETE`, and `TAG`. + /// One of the following step types are supported. `COPY`, `CUSTOM`, `DECRYPT`, `DELETE`, and `TAG`. /// public readonly string Type; @@ -40,6 +44,8 @@ private WorkflowOnExceptionStep( Outputs.WorkflowOnExceptionStepCustomStepDetails? customStepDetails, + Outputs.WorkflowOnExceptionStepDecryptStepDetails? decryptStepDetails, + Outputs.WorkflowOnExceptionStepDeleteStepDetails? deleteStepDetails, Outputs.WorkflowOnExceptionStepTagStepDetails? tagStepDetails, @@ -48,6 +54,7 @@ private WorkflowOnExceptionStep( { CopyStepDetails = copyStepDetails; CustomStepDetails = customStepDetails; + DecryptStepDetails = decryptStepDetails; DeleteStepDetails = deleteStepDetails; TagStepDetails = tagStepDetails; Type = type; diff --git a/sdk/dotnet/Transfer/Outputs/WorkflowOnExceptionStepDecryptStepDetails.cs b/sdk/dotnet/Transfer/Outputs/WorkflowOnExceptionStepDecryptStepDetails.cs new file mode 100644 index 00000000000..397a0a17fd9 --- /dev/null +++ b/sdk/dotnet/Transfer/Outputs/WorkflowOnExceptionStepDecryptStepDetails.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.Transfer.Outputs +{ + + [OutputType] + public sealed class WorkflowOnExceptionStepDecryptStepDetails + { + /// + /// Specifies the location for the file being copied. Use ${Transfer:username} in this field to parametrize the destination prefix by username. + /// + public readonly Outputs.WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocation? DestinationFileLocation; + /// + /// The name of the step, used as an identifier. + /// + public readonly string? Name; + /// + /// A flag that indicates whether or not to overwrite an existing file of the same name. The default is `FALSE`. Valid values are `TRUE` and `FALSE`. + /// + public readonly string? OverwriteExisting; + /// + /// Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. + /// + public readonly string? SourceFileLocation; + /// + /// The type of encryption used. Currently, this value must be `"PGP"`. + /// + public readonly string Type; + + [OutputConstructor] + private WorkflowOnExceptionStepDecryptStepDetails( + Outputs.WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocation? destinationFileLocation, + + string? name, + + string? overwriteExisting, + + string? sourceFileLocation, + + string type) + { + DestinationFileLocation = destinationFileLocation; + Name = name; + OverwriteExisting = overwriteExisting; + SourceFileLocation = sourceFileLocation; + Type = type; + } + } +} diff --git a/sdk/dotnet/Transfer/Outputs/WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocation.cs b/sdk/dotnet/Transfer/Outputs/WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocation.cs new file mode 100644 index 00000000000..844cb1c4fe6 --- /dev/null +++ b/sdk/dotnet/Transfer/Outputs/WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocation.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Transfer.Outputs +{ + + [OutputType] + public sealed class WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocation + { + /// + /// Specifies the details for the EFS file being copied. + /// + public readonly Outputs.WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocation? EfsFileLocation; + /// + /// Specifies the details for the S3 file being copied. + /// + public readonly Outputs.WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocation? S3FileLocation; + + [OutputConstructor] + private WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocation( + Outputs.WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocation? efsFileLocation, + + Outputs.WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocation? s3FileLocation) + { + EfsFileLocation = efsFileLocation; + S3FileLocation = s3FileLocation; + } + } +} diff --git a/sdk/dotnet/Transfer/Outputs/WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocation.cs b/sdk/dotnet/Transfer/Outputs/WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocation.cs new file mode 100644 index 00000000000..53adec2a262 --- /dev/null +++ b/sdk/dotnet/Transfer/Outputs/WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocation.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Transfer.Outputs +{ + + [OutputType] + public sealed class WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocation + { + /// + /// The ID of the file system, assigned by Amazon EFS. + /// + public readonly string? FileSystemId; + /// + /// The pathname for the folder being used by a workflow. + /// + public readonly string? Path; + + [OutputConstructor] + private WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocation( + string? fileSystemId, + + string? path) + { + FileSystemId = fileSystemId; + Path = path; + } + } +} diff --git a/sdk/dotnet/Transfer/Outputs/WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocation.cs b/sdk/dotnet/Transfer/Outputs/WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocation.cs new file mode 100644 index 00000000000..951d4855327 --- /dev/null +++ b/sdk/dotnet/Transfer/Outputs/WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocation.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Transfer.Outputs +{ + + [OutputType] + public sealed class WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocation + { + /// + /// Specifies the S3 bucket for the customer input file. + /// + public readonly string? Bucket; + /// + /// The name assigned to the file when it was created in S3. You use the object key to retrieve the object. + /// + public readonly string? Key; + + [OutputConstructor] + private WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocation( + string? bucket, + + string? key) + { + Bucket = bucket; + Key = key; + } + } +} diff --git a/sdk/dotnet/Transfer/Outputs/WorkflowStep.cs b/sdk/dotnet/Transfer/Outputs/WorkflowStep.cs index 3ac264e1bd8..365b21c0062 100644 --- a/sdk/dotnet/Transfer/Outputs/WorkflowStep.cs +++ b/sdk/dotnet/Transfer/Outputs/WorkflowStep.cs @@ -22,6 +22,10 @@ public sealed class WorkflowStep /// public readonly Outputs.WorkflowStepCustomStepDetails? CustomStepDetails; /// + /// Details for a step that decrypts the file. + /// + public readonly Outputs.WorkflowStepDecryptStepDetails? DecryptStepDetails; + /// /// Details for a step that deletes the file. /// public readonly Outputs.WorkflowStepDeleteStepDetails? DeleteStepDetails; @@ -30,7 +34,7 @@ public sealed class WorkflowStep /// public readonly Outputs.WorkflowStepTagStepDetails? TagStepDetails; /// - /// One of the following step types are supported. `COPY`, `CUSTOM`, `DELETE`, and `TAG`. + /// One of the following step types are supported. `COPY`, `CUSTOM`, `DECRYPT`, `DELETE`, and `TAG`. /// public readonly string Type; @@ -40,6 +44,8 @@ private WorkflowStep( Outputs.WorkflowStepCustomStepDetails? customStepDetails, + Outputs.WorkflowStepDecryptStepDetails? decryptStepDetails, + Outputs.WorkflowStepDeleteStepDetails? deleteStepDetails, Outputs.WorkflowStepTagStepDetails? tagStepDetails, @@ -48,6 +54,7 @@ private WorkflowStep( { CopyStepDetails = copyStepDetails; CustomStepDetails = customStepDetails; + DecryptStepDetails = decryptStepDetails; DeleteStepDetails = deleteStepDetails; TagStepDetails = tagStepDetails; Type = type; diff --git a/sdk/dotnet/Transfer/Outputs/WorkflowStepDecryptStepDetails.cs b/sdk/dotnet/Transfer/Outputs/WorkflowStepDecryptStepDetails.cs new file mode 100644 index 00000000000..7086104f3e9 --- /dev/null +++ b/sdk/dotnet/Transfer/Outputs/WorkflowStepDecryptStepDetails.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.Transfer.Outputs +{ + + [OutputType] + public sealed class WorkflowStepDecryptStepDetails + { + /// + /// Specifies the location for the file being copied. Use ${Transfer:username} in this field to parametrize the destination prefix by username. + /// + public readonly Outputs.WorkflowStepDecryptStepDetailsDestinationFileLocation? DestinationFileLocation; + /// + /// The name of the step, used as an identifier. + /// + public readonly string? Name; + /// + /// A flag that indicates whether or not to overwrite an existing file of the same name. The default is `FALSE`. Valid values are `TRUE` and `FALSE`. + /// + public readonly string? OverwriteExisting; + /// + /// Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. + /// + public readonly string? SourceFileLocation; + /// + /// The type of encryption used. Currently, this value must be `"PGP"`. + /// + public readonly string Type; + + [OutputConstructor] + private WorkflowStepDecryptStepDetails( + Outputs.WorkflowStepDecryptStepDetailsDestinationFileLocation? destinationFileLocation, + + string? name, + + string? overwriteExisting, + + string? sourceFileLocation, + + string type) + { + DestinationFileLocation = destinationFileLocation; + Name = name; + OverwriteExisting = overwriteExisting; + SourceFileLocation = sourceFileLocation; + Type = type; + } + } +} diff --git a/sdk/dotnet/Transfer/Outputs/WorkflowStepDecryptStepDetailsDestinationFileLocation.cs b/sdk/dotnet/Transfer/Outputs/WorkflowStepDecryptStepDetailsDestinationFileLocation.cs new file mode 100644 index 00000000000..0061ed67103 --- /dev/null +++ b/sdk/dotnet/Transfer/Outputs/WorkflowStepDecryptStepDetailsDestinationFileLocation.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Transfer.Outputs +{ + + [OutputType] + public sealed class WorkflowStepDecryptStepDetailsDestinationFileLocation + { + /// + /// Specifies the details for the EFS file being copied. + /// + public readonly Outputs.WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocation? EfsFileLocation; + /// + /// Specifies the details for the S3 file being copied. + /// + public readonly Outputs.WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocation? S3FileLocation; + + [OutputConstructor] + private WorkflowStepDecryptStepDetailsDestinationFileLocation( + Outputs.WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocation? efsFileLocation, + + Outputs.WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocation? s3FileLocation) + { + EfsFileLocation = efsFileLocation; + S3FileLocation = s3FileLocation; + } + } +} diff --git a/sdk/dotnet/Transfer/Outputs/WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocation.cs b/sdk/dotnet/Transfer/Outputs/WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocation.cs new file mode 100644 index 00000000000..0db18223112 --- /dev/null +++ b/sdk/dotnet/Transfer/Outputs/WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocation.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Transfer.Outputs +{ + + [OutputType] + public sealed class WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocation + { + /// + /// The ID of the file system, assigned by Amazon EFS. + /// + public readonly string? FileSystemId; + /// + /// The pathname for the folder being used by a workflow. + /// + public readonly string? Path; + + [OutputConstructor] + private WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocation( + string? fileSystemId, + + string? path) + { + FileSystemId = fileSystemId; + Path = path; + } + } +} diff --git a/sdk/dotnet/Transfer/Outputs/WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocation.cs b/sdk/dotnet/Transfer/Outputs/WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocation.cs new file mode 100644 index 00000000000..2fe5c9625ad --- /dev/null +++ b/sdk/dotnet/Transfer/Outputs/WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocation.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Transfer.Outputs +{ + + [OutputType] + public sealed class WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocation + { + /// + /// Specifies the S3 bucket for the customer input file. + /// + public readonly string? Bucket; + /// + /// The name assigned to the file when it was created in S3. You use the object key to retrieve the object. + /// + public readonly string? Key; + + [OutputConstructor] + private WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocation( + string? bucket, + + string? key) + { + Bucket = bucket; + Key = key; + } + } +} diff --git a/sdk/dotnet/Transfer/Server.cs b/sdk/dotnet/Transfer/Server.cs index 30d9bedcc8f..90da2087271 100644 --- a/sdk/dotnet/Transfer/Server.cs +++ b/sdk/dotnet/Transfer/Server.cs @@ -215,7 +215,7 @@ public partial class Server : global::Pulumi.CustomResource public Output Function { get; private set; } = null!; /// - /// RSA private key (e.g., as generated by the `ssh-keygen -N "" -m PEM -f my-new-server-key` command). + /// RSA, ECDSA, or ED25519 private key (e.g., as generated by the `ssh-keygen -t rsa -b 2048 -N "" -m PEM -f my-new-server-key`, `ssh-keygen -t ecdsa -b 256 -N "" -m PEM -f my-new-server-key` or `ssh-keygen -t ed25519 -N "" -f my-new-server-key` commands). /// [Output("hostKey")] public Output HostKey { get; private set; } = null!; @@ -256,6 +256,12 @@ public partial class Server : global::Pulumi.CustomResource [Output("preAuthenticationLoginBanner")] public Output PreAuthenticationLoginBanner { get; private set; } = null!; + /// + /// The protocol settings that are configured for your server. + /// + [Output("protocolDetails")] + public Output ProtocolDetails { get; private set; } = null!; + /// /// Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are: /// @@ -390,7 +396,7 @@ public sealed class ServerArgs : global::Pulumi.ResourceArgs private Input? _hostKey; /// - /// RSA private key (e.g., as generated by the `ssh-keygen -N "" -m PEM -f my-new-server-key` command). + /// RSA, ECDSA, or ED25519 private key (e.g., as generated by the `ssh-keygen -t rsa -b 2048 -N "" -m PEM -f my-new-server-key`, `ssh-keygen -t ecdsa -b 256 -N "" -m PEM -f my-new-server-key` or `ssh-keygen -t ed25519 -N "" -f my-new-server-key` commands). /// public Input? HostKey { @@ -452,6 +458,12 @@ public Input? PreAuthenticationLoginBanner } } + /// + /// The protocol settings that are configured for your server. + /// + [Input("protocolDetails")] + public Input? ProtocolDetails { get; set; } + [Input("protocols")] private InputList? _protocols; @@ -560,7 +572,7 @@ public sealed class ServerState : global::Pulumi.ResourceArgs private Input? _hostKey; /// - /// RSA private key (e.g., as generated by the `ssh-keygen -N "" -m PEM -f my-new-server-key` command). + /// RSA, ECDSA, or ED25519 private key (e.g., as generated by the `ssh-keygen -t rsa -b 2048 -N "" -m PEM -f my-new-server-key`, `ssh-keygen -t ecdsa -b 256 -N "" -m PEM -f my-new-server-key` or `ssh-keygen -t ed25519 -N "" -f my-new-server-key` commands). /// public Input? HostKey { @@ -628,6 +640,12 @@ public Input? PreAuthenticationLoginBanner } } + /// + /// The protocol settings that are configured for your server. + /// + [Input("protocolDetails")] + public Input? ProtocolDetails { get; set; } + [Input("protocols")] private InputList? _protocols; diff --git a/sdk/go/aws/acm/certificate.go b/sdk/go/aws/acm/certificate.go index d5ffad79730..dca36dd41b5 100644 --- a/sdk/go/aws/acm/certificate.go +++ b/sdk/go/aws/acm/certificate.go @@ -203,7 +203,7 @@ type Certificate struct { // Start of the validity period of the certificate. NotBefore pulumi.StringOutput `pulumi:"notBefore"` // Configuration block used to set certificate options. Detailed below. - Options CertificateOptionsPtrOutput `pulumi:"options"` + Options CertificateOptionsOutput `pulumi:"options"` // `true` if a Private certificate eligible for managed renewal is within the `earlyRenewalDuration` period. PendingRenewal pulumi.BoolOutput `pulumi:"pendingRenewal"` // Certificate's PEM-formatted private key @@ -601,8 +601,8 @@ func (o CertificateOutput) NotBefore() pulumi.StringOutput { } // Configuration block used to set certificate options. Detailed below. -func (o CertificateOutput) Options() CertificateOptionsPtrOutput { - return o.ApplyT(func(v *Certificate) CertificateOptionsPtrOutput { return v.Options }).(CertificateOptionsPtrOutput) +func (o CertificateOutput) Options() CertificateOptionsOutput { + return o.ApplyT(func(v *Certificate) CertificateOptionsOutput { return v.Options }).(CertificateOptionsOutput) } // `true` if a Private certificate eligible for managed renewal is within the `earlyRenewalDuration` period. diff --git a/sdk/go/aws/amplify/domainAssociation.go b/sdk/go/aws/amplify/domainAssociation.go index 856781c43ae..121821fa69f 100644 --- a/sdk/go/aws/amplify/domainAssociation.go +++ b/sdk/go/aws/amplify/domainAssociation.go @@ -89,6 +89,8 @@ type DomainAssociation struct { CertificateVerificationDnsRecord pulumi.StringOutput `pulumi:"certificateVerificationDnsRecord"` // Domain name for the domain association. DomainName pulumi.StringOutput `pulumi:"domainName"` + // Enables the automated creation of subdomains for branches. + EnableAutoSubDomain pulumi.BoolPtrOutput `pulumi:"enableAutoSubDomain"` // Setting for the subdomain. Documented below. SubDomains DomainAssociationSubDomainArrayOutput `pulumi:"subDomains"` // If enabled, the resource will wait for the domain association status to change to `PENDING_DEPLOYMENT` or `AVAILABLE`. Setting this to `false` will skip the process. Default: `true`. @@ -141,6 +143,8 @@ type domainAssociationState struct { CertificateVerificationDnsRecord *string `pulumi:"certificateVerificationDnsRecord"` // Domain name for the domain association. DomainName *string `pulumi:"domainName"` + // Enables the automated creation of subdomains for branches. + EnableAutoSubDomain *bool `pulumi:"enableAutoSubDomain"` // Setting for the subdomain. Documented below. SubDomains []DomainAssociationSubDomain `pulumi:"subDomains"` // If enabled, the resource will wait for the domain association status to change to `PENDING_DEPLOYMENT` or `AVAILABLE`. Setting this to `false` will skip the process. Default: `true`. @@ -156,6 +160,8 @@ type DomainAssociationState struct { CertificateVerificationDnsRecord pulumi.StringPtrInput // Domain name for the domain association. DomainName pulumi.StringPtrInput + // Enables the automated creation of subdomains for branches. + EnableAutoSubDomain pulumi.BoolPtrInput // Setting for the subdomain. Documented below. SubDomains DomainAssociationSubDomainArrayInput // If enabled, the resource will wait for the domain association status to change to `PENDING_DEPLOYMENT` or `AVAILABLE`. Setting this to `false` will skip the process. Default: `true`. @@ -171,6 +177,8 @@ type domainAssociationArgs struct { AppId string `pulumi:"appId"` // Domain name for the domain association. DomainName string `pulumi:"domainName"` + // Enables the automated creation of subdomains for branches. + EnableAutoSubDomain *bool `pulumi:"enableAutoSubDomain"` // Setting for the subdomain. Documented below. SubDomains []DomainAssociationSubDomain `pulumi:"subDomains"` // If enabled, the resource will wait for the domain association status to change to `PENDING_DEPLOYMENT` or `AVAILABLE`. Setting this to `false` will skip the process. Default: `true`. @@ -183,6 +191,8 @@ type DomainAssociationArgs struct { AppId pulumi.StringInput // Domain name for the domain association. DomainName pulumi.StringInput + // Enables the automated creation of subdomains for branches. + EnableAutoSubDomain pulumi.BoolPtrInput // Setting for the subdomain. Documented below. SubDomains DomainAssociationSubDomainArrayInput // If enabled, the resource will wait for the domain association status to change to `PENDING_DEPLOYMENT` or `AVAILABLE`. Setting this to `false` will skip the process. Default: `true`. @@ -296,6 +306,11 @@ func (o DomainAssociationOutput) DomainName() pulumi.StringOutput { return o.ApplyT(func(v *DomainAssociation) pulumi.StringOutput { return v.DomainName }).(pulumi.StringOutput) } +// Enables the automated creation of subdomains for branches. +func (o DomainAssociationOutput) EnableAutoSubDomain() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *DomainAssociation) pulumi.BoolPtrOutput { return v.EnableAutoSubDomain }).(pulumi.BoolPtrOutput) +} + // Setting for the subdomain. Documented below. func (o DomainAssociationOutput) SubDomains() DomainAssociationSubDomainArrayOutput { return o.ApplyT(func(v *DomainAssociation) DomainAssociationSubDomainArrayOutput { return v.SubDomains }).(DomainAssociationSubDomainArrayOutput) diff --git a/sdk/go/aws/apigateway/account.go b/sdk/go/aws/apigateway/account.go index 2d9f07cc50c..d678170953b 100644 --- a/sdk/go/aws/apigateway/account.go +++ b/sdk/go/aws/apigateway/account.go @@ -62,7 +62,7 @@ import ( // if err != nil { // return err // } -// _, err = iam.GetPolicyDocument(ctx, &iam.GetPolicyDocumentArgs{ +// cloudwatchPolicyDocument, err := iam.GetPolicyDocument(ctx, &iam.GetPolicyDocumentArgs{ // Statements: []iam.GetPolicyDocumentStatement{ // { // Effect: pulumi.StringRef("Allow"), @@ -86,7 +86,7 @@ import ( // } // _, err = iam.NewRolePolicy(ctx, "cloudwatchRolePolicy", &iam.RolePolicyArgs{ // Role: cloudwatchRole.ID(), -// Policy: pulumi.Any(data.Aws_iam_policy_document.Json), +// Policy: *pulumi.String(cloudwatchPolicyDocument.Json), // }) // if err != nil { // return err diff --git a/sdk/go/aws/apprunner/pulumiTypes.go b/sdk/go/aws/apprunner/pulumiTypes.go index 88ed88f3193..5fc15d8cab2 100644 --- a/sdk/go/aws/apprunner/pulumiTypes.go +++ b/sdk/go/aws/apprunner/pulumiTypes.go @@ -2122,7 +2122,7 @@ type ServiceSourceConfigurationCodeRepositoryCodeConfigurationCodeConfigurationV Port *string `pulumi:"port"` // Runtime environment type for building and running an App Runner service. Represents a programming language runtime. Valid values: `PYTHON_3`, `NODEJS_12`, `NODEJS_14`, `NODEJS_16`, `CORRETTO_8`, `CORRETTO_11`, `GO_1`, `DOTNET_6`, `PHP_81`, `RUBY_31`. Runtime string `pulumi:"runtime"` - // Secrets and parameters available to your service as environment variables. A map of key/value pairs. + // Secrets and parameters available to your service as environment variables. A map of key/value pairs, where the key is the desired name of the Secret in the environment (i.e. it does not have to match the name of the secret in Secrets Manager or SSM Parameter Store), and the value is the ARN of the secret from AWS Secrets Manager or the ARN of the parameter in AWS SSM Parameter Store. RuntimeEnvironmentSecrets map[string]string `pulumi:"runtimeEnvironmentSecrets"` // Environment variables available to your running App Runner service. A map of key/value pairs. Keys with a prefix of `AWSAPPRUNNER` are reserved for system use and aren't valid. RuntimeEnvironmentVariables map[string]string `pulumi:"runtimeEnvironmentVariables"` @@ -2148,7 +2148,7 @@ type ServiceSourceConfigurationCodeRepositoryCodeConfigurationCodeConfigurationV Port pulumi.StringPtrInput `pulumi:"port"` // Runtime environment type for building and running an App Runner service. Represents a programming language runtime. Valid values: `PYTHON_3`, `NODEJS_12`, `NODEJS_14`, `NODEJS_16`, `CORRETTO_8`, `CORRETTO_11`, `GO_1`, `DOTNET_6`, `PHP_81`, `RUBY_31`. Runtime pulumi.StringInput `pulumi:"runtime"` - // Secrets and parameters available to your service as environment variables. A map of key/value pairs. + // Secrets and parameters available to your service as environment variables. A map of key/value pairs, where the key is the desired name of the Secret in the environment (i.e. it does not have to match the name of the secret in Secrets Manager or SSM Parameter Store), and the value is the ARN of the secret from AWS Secrets Manager or the ARN of the parameter in AWS SSM Parameter Store. RuntimeEnvironmentSecrets pulumi.StringMapInput `pulumi:"runtimeEnvironmentSecrets"` // Environment variables available to your running App Runner service. A map of key/value pairs. Keys with a prefix of `AWSAPPRUNNER` are reserved for system use and aren't valid. RuntimeEnvironmentVariables pulumi.StringMapInput `pulumi:"runtimeEnvironmentVariables"` @@ -2254,7 +2254,7 @@ func (o ServiceSourceConfigurationCodeRepositoryCodeConfigurationCodeConfigurati }).(pulumi.StringOutput) } -// Secrets and parameters available to your service as environment variables. A map of key/value pairs. +// Secrets and parameters available to your service as environment variables. A map of key/value pairs, where the key is the desired name of the Secret in the environment (i.e. it does not have to match the name of the secret in Secrets Manager or SSM Parameter Store), and the value is the ARN of the secret from AWS Secrets Manager or the ARN of the parameter in AWS SSM Parameter Store. func (o ServiceSourceConfigurationCodeRepositoryCodeConfigurationCodeConfigurationValuesOutput) RuntimeEnvironmentSecrets() pulumi.StringMapOutput { return o.ApplyT(func(v ServiceSourceConfigurationCodeRepositoryCodeConfigurationCodeConfigurationValues) map[string]string { return v.RuntimeEnvironmentSecrets @@ -2329,7 +2329,7 @@ func (o ServiceSourceConfigurationCodeRepositoryCodeConfigurationCodeConfigurati }).(pulumi.StringPtrOutput) } -// Secrets and parameters available to your service as environment variables. A map of key/value pairs. +// Secrets and parameters available to your service as environment variables. A map of key/value pairs, where the key is the desired name of the Secret in the environment (i.e. it does not have to match the name of the secret in Secrets Manager or SSM Parameter Store), and the value is the ARN of the secret from AWS Secrets Manager or the ARN of the parameter in AWS SSM Parameter Store. func (o ServiceSourceConfigurationCodeRepositoryCodeConfigurationCodeConfigurationValuesPtrOutput) RuntimeEnvironmentSecrets() pulumi.StringMapOutput { return o.ApplyT(func(v *ServiceSourceConfigurationCodeRepositoryCodeConfigurationCodeConfigurationValues) map[string]string { if v == nil { @@ -2699,7 +2699,7 @@ func (o ServiceSourceConfigurationImageRepositoryPtrOutput) ImageRepositoryType( type ServiceSourceConfigurationImageRepositoryImageConfiguration struct { // Port that your application listens to in the container. Defaults to `"8080"`. Port *string `pulumi:"port"` - // Secrets and parameters available to your service as environment variables. A map of key/value pairs. + // Secrets and parameters available to your service as environment variables. A map of key/value pairs, where the key is the desired name of the Secret in the environment (i.e. it does not have to match the name of the secret in Secrets Manager or SSM Parameter Store), and the value is the ARN of the secret from AWS Secrets Manager or the ARN of the parameter in AWS SSM Parameter Store. RuntimeEnvironmentSecrets map[string]string `pulumi:"runtimeEnvironmentSecrets"` // Environment variables available to your running App Runner service. A map of key/value pairs. Keys with a prefix of `AWSAPPRUNNER` are reserved for system use and aren't valid. RuntimeEnvironmentVariables map[string]string `pulumi:"runtimeEnvironmentVariables"` @@ -2721,7 +2721,7 @@ type ServiceSourceConfigurationImageRepositoryImageConfigurationInput interface type ServiceSourceConfigurationImageRepositoryImageConfigurationArgs struct { // Port that your application listens to in the container. Defaults to `"8080"`. Port pulumi.StringPtrInput `pulumi:"port"` - // Secrets and parameters available to your service as environment variables. A map of key/value pairs. + // Secrets and parameters available to your service as environment variables. A map of key/value pairs, where the key is the desired name of the Secret in the environment (i.e. it does not have to match the name of the secret in Secrets Manager or SSM Parameter Store), and the value is the ARN of the secret from AWS Secrets Manager or the ARN of the parameter in AWS SSM Parameter Store. RuntimeEnvironmentSecrets pulumi.StringMapInput `pulumi:"runtimeEnvironmentSecrets"` // Environment variables available to your running App Runner service. A map of key/value pairs. Keys with a prefix of `AWSAPPRUNNER` are reserved for system use and aren't valid. RuntimeEnvironmentVariables pulumi.StringMapInput `pulumi:"runtimeEnvironmentVariables"` @@ -2811,7 +2811,7 @@ func (o ServiceSourceConfigurationImageRepositoryImageConfigurationOutput) Port( return o.ApplyT(func(v ServiceSourceConfigurationImageRepositoryImageConfiguration) *string { return v.Port }).(pulumi.StringPtrOutput) } -// Secrets and parameters available to your service as environment variables. A map of key/value pairs. +// Secrets and parameters available to your service as environment variables. A map of key/value pairs, where the key is the desired name of the Secret in the environment (i.e. it does not have to match the name of the secret in Secrets Manager or SSM Parameter Store), and the value is the ARN of the secret from AWS Secrets Manager or the ARN of the parameter in AWS SSM Parameter Store. func (o ServiceSourceConfigurationImageRepositoryImageConfigurationOutput) RuntimeEnvironmentSecrets() pulumi.StringMapOutput { return o.ApplyT(func(v ServiceSourceConfigurationImageRepositoryImageConfiguration) map[string]string { return v.RuntimeEnvironmentSecrets @@ -2864,7 +2864,7 @@ func (o ServiceSourceConfigurationImageRepositoryImageConfigurationPtrOutput) Po }).(pulumi.StringPtrOutput) } -// Secrets and parameters available to your service as environment variables. A map of key/value pairs. +// Secrets and parameters available to your service as environment variables. A map of key/value pairs, where the key is the desired name of the Secret in the environment (i.e. it does not have to match the name of the secret in Secrets Manager or SSM Parameter Store), and the value is the ARN of the secret from AWS Secrets Manager or the ARN of the parameter in AWS SSM Parameter Store. func (o ServiceSourceConfigurationImageRepositoryImageConfigurationPtrOutput) RuntimeEnvironmentSecrets() pulumi.StringMapOutput { return o.ApplyT(func(v *ServiceSourceConfigurationImageRepositoryImageConfiguration) map[string]string { if v == nil { diff --git a/sdk/go/aws/appsync/dataSource.go b/sdk/go/aws/appsync/dataSource.go index 064437acc0f..177f3ceacbd 100644 --- a/sdk/go/aws/appsync/dataSource.go +++ b/sdk/go/aws/appsync/dataSource.go @@ -13,6 +13,109 @@ import ( // Provides an AppSync Data Source. // +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/appsync" +// "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/dynamodb" +// "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/iam" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// exampleTable, err := dynamodb.NewTable(ctx, "exampleTable", &dynamodb.TableArgs{ +// ReadCapacity: pulumi.Int(1), +// WriteCapacity: pulumi.Int(1), +// HashKey: pulumi.String("UserId"), +// Attributes: dynamodb.TableAttributeArray{ +// &dynamodb.TableAttributeArgs{ +// Name: pulumi.String("UserId"), +// Type: pulumi.String("S"), +// }, +// }, +// }) +// if err != nil { +// return err +// } +// assumeRole, err := iam.GetPolicyDocument(ctx, &iam.GetPolicyDocumentArgs{ +// Statements: []iam.GetPolicyDocumentStatement{ +// { +// Effect: pulumi.StringRef("Allow"), +// Principals: []iam.GetPolicyDocumentStatementPrincipal{ +// { +// Type: "Service", +// Identifiers: []string{ +// "appsync.amazonaws.com", +// }, +// }, +// }, +// Actions: []string{ +// "sts:AssumeRole", +// }, +// }, +// }, +// }, nil) +// if err != nil { +// return err +// } +// exampleRole, err := iam.NewRole(ctx, "exampleRole", &iam.RoleArgs{ +// AssumeRolePolicy: *pulumi.String(assumeRole.Json), +// }) +// if err != nil { +// return err +// } +// examplePolicyDocument := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{ +// Statements: iam.GetPolicyDocumentStatementArray{ +// &iam.GetPolicyDocumentStatementArgs{ +// Effect: pulumi.String("Allow"), +// Actions: pulumi.StringArray{ +// pulumi.String("dynamodb:*"), +// }, +// Resources: pulumi.StringArray{ +// exampleTable.Arn, +// }, +// }, +// }, +// }, nil) +// _, err = iam.NewRolePolicy(ctx, "exampleRolePolicy", &iam.RolePolicyArgs{ +// Role: exampleRole.ID(), +// Policy: examplePolicyDocument.ApplyT(func(examplePolicyDocument iam.GetPolicyDocumentResult) (*string, error) { +// return &examplePolicyDocument.Json, nil +// }).(pulumi.StringPtrOutput), +// }) +// if err != nil { +// return err +// } +// exampleGraphQLApi, err := appsync.NewGraphQLApi(ctx, "exampleGraphQLApi", &appsync.GraphQLApiArgs{ +// AuthenticationType: pulumi.String("API_KEY"), +// }) +// if err != nil { +// return err +// } +// _, err = appsync.NewDataSource(ctx, "exampleDataSource", &appsync.DataSourceArgs{ +// ApiId: exampleGraphQLApi.ID(), +// Name: pulumi.String("my_appsync_example"), +// ServiceRoleArn: exampleRole.Arn, +// Type: pulumi.String("AMAZON_DYNAMODB"), +// DynamodbConfig: &appsync.DataSourceDynamodbConfigArgs{ +// TableName: exampleTable.Name, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// // ## Import // // `aws_appsync_datasource` can be imported with their `api_id`, a hyphen, and `name`, e.g., diff --git a/sdk/go/aws/cloudhsmv2/hsm.go b/sdk/go/aws/cloudhsmv2/hsm.go index c6a8f08da03..6a7619b50ca 100644 --- a/sdk/go/aws/cloudhsmv2/hsm.go +++ b/sdk/go/aws/cloudhsmv2/hsm.go @@ -60,7 +60,7 @@ import ( type Hsm struct { pulumi.CustomResourceState - // The IDs of AZ in which HSM module will be located. Do not use together with subnet_id. + // The IDs of AZ in which HSM module will be located. Conflicts with `subnetId`. AvailabilityZone pulumi.StringOutput `pulumi:"availabilityZone"` // The ID of Cloud HSM v2 cluster to which HSM will be added. ClusterId pulumi.StringOutput `pulumi:"clusterId"` @@ -72,7 +72,7 @@ type Hsm struct { HsmState pulumi.StringOutput `pulumi:"hsmState"` // The IP address of HSM module. Must be within the CIDR of selected subnet. IpAddress pulumi.StringOutput `pulumi:"ipAddress"` - // The ID of subnet in which HSM module will be located. + // The ID of subnet in which HSM module will be located. Conflicts with `availabilityZone`. SubnetId pulumi.StringOutput `pulumi:"subnetId"` } @@ -108,7 +108,7 @@ func GetHsm(ctx *pulumi.Context, // Input properties used for looking up and filtering Hsm resources. type hsmState struct { - // The IDs of AZ in which HSM module will be located. Do not use together with subnet_id. + // The IDs of AZ in which HSM module will be located. Conflicts with `subnetId`. AvailabilityZone *string `pulumi:"availabilityZone"` // The ID of Cloud HSM v2 cluster to which HSM will be added. ClusterId *string `pulumi:"clusterId"` @@ -120,12 +120,12 @@ type hsmState struct { HsmState *string `pulumi:"hsmState"` // The IP address of HSM module. Must be within the CIDR of selected subnet. IpAddress *string `pulumi:"ipAddress"` - // The ID of subnet in which HSM module will be located. + // The ID of subnet in which HSM module will be located. Conflicts with `availabilityZone`. SubnetId *string `pulumi:"subnetId"` } type HsmState struct { - // The IDs of AZ in which HSM module will be located. Do not use together with subnet_id. + // The IDs of AZ in which HSM module will be located. Conflicts with `subnetId`. AvailabilityZone pulumi.StringPtrInput // The ID of Cloud HSM v2 cluster to which HSM will be added. ClusterId pulumi.StringPtrInput @@ -137,7 +137,7 @@ type HsmState struct { HsmState pulumi.StringPtrInput // The IP address of HSM module. Must be within the CIDR of selected subnet. IpAddress pulumi.StringPtrInput - // The ID of subnet in which HSM module will be located. + // The ID of subnet in which HSM module will be located. Conflicts with `availabilityZone`. SubnetId pulumi.StringPtrInput } @@ -146,25 +146,25 @@ func (HsmState) ElementType() reflect.Type { } type hsmArgs struct { - // The IDs of AZ in which HSM module will be located. Do not use together with subnet_id. + // The IDs of AZ in which HSM module will be located. Conflicts with `subnetId`. AvailabilityZone *string `pulumi:"availabilityZone"` // The ID of Cloud HSM v2 cluster to which HSM will be added. ClusterId string `pulumi:"clusterId"` // The IP address of HSM module. Must be within the CIDR of selected subnet. IpAddress *string `pulumi:"ipAddress"` - // The ID of subnet in which HSM module will be located. + // The ID of subnet in which HSM module will be located. Conflicts with `availabilityZone`. SubnetId *string `pulumi:"subnetId"` } // The set of arguments for constructing a Hsm resource. type HsmArgs struct { - // The IDs of AZ in which HSM module will be located. Do not use together with subnet_id. + // The IDs of AZ in which HSM module will be located. Conflicts with `subnetId`. AvailabilityZone pulumi.StringPtrInput // The ID of Cloud HSM v2 cluster to which HSM will be added. ClusterId pulumi.StringInput // The IP address of HSM module. Must be within the CIDR of selected subnet. IpAddress pulumi.StringPtrInput - // The ID of subnet in which HSM module will be located. + // The ID of subnet in which HSM module will be located. Conflicts with `availabilityZone`. SubnetId pulumi.StringPtrInput } @@ -255,7 +255,7 @@ func (o HsmOutput) ToHsmOutputWithContext(ctx context.Context) HsmOutput { return o } -// The IDs of AZ in which HSM module will be located. Do not use together with subnet_id. +// The IDs of AZ in which HSM module will be located. Conflicts with `subnetId`. func (o HsmOutput) AvailabilityZone() pulumi.StringOutput { return o.ApplyT(func(v *Hsm) pulumi.StringOutput { return v.AvailabilityZone }).(pulumi.StringOutput) } @@ -285,7 +285,7 @@ func (o HsmOutput) IpAddress() pulumi.StringOutput { return o.ApplyT(func(v *Hsm) pulumi.StringOutput { return v.IpAddress }).(pulumi.StringOutput) } -// The ID of subnet in which HSM module will be located. +// The ID of subnet in which HSM module will be located. Conflicts with `availabilityZone`. func (o HsmOutput) SubnetId() pulumi.StringOutput { return o.ApplyT(func(v *Hsm) pulumi.StringOutput { return v.SubnetId }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/codebuild/pulumiTypes.go b/sdk/go/aws/codebuild/pulumiTypes.go index 8983b1330f1..4a01c977638 100644 --- a/sdk/go/aws/codebuild/pulumiTypes.go +++ b/sdk/go/aws/codebuild/pulumiTypes.go @@ -2045,23 +2045,23 @@ func (o ProjectLogsConfigS3LogsPtrOutput) Status() pulumi.StringPtrOutput { type ProjectSecondaryArtifact struct { // Artifact identifier. Must be the same specified inside the AWS CodeBuild build specification. ArtifactIdentifier string `pulumi:"artifactIdentifier"` - // Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has access to these objects. This property allows you to give the bucket owner access to these objects. Valid values are `NONE`, `READ_ONLY`, and `FULL`. your CodeBuild service role must have the `s3:PutBucketAcl` permission. This permission allows CodeBuild to modify the access control list for the bucket. + // Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has access to these objects. This property allows you to give the bucket owner access to these objects. Valid values are `NONE`, `READ_ONLY`, and `FULL`. The CodeBuild service role must have the `s3:PutBucketAcl` permission. This permission allows CodeBuild to modify the access control list for the bucket. BucketOwnerAccess *string `pulumi:"bucketOwnerAccess"` // Whether to disable encrypting output artifacts. If `type` is set to `NO_ARTIFACTS`, this value is ignored. Defaults to `false`. EncryptionDisabled *bool `pulumi:"encryptionDisabled"` - // Information about the build output artifact location. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored. If `type` is set to `S3`, this is the name of the output bucket. If `path` is not also specified, then `location` can also specify the path of the output artifact in the output bucket. + // Information about the build output artifact location. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, this is the name of the output bucket. If `path` is not specified, `location` can specify the path of the output artifact in the output bucket. Location *string `pulumi:"location"` - // Name of the project. If `type` is set to `S3`, this is the name of the output artifact object + // Name of the project. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, this is the name of the output artifact object. Name *string `pulumi:"name"` - // Namespace to use in storing build artifacts. If `type` is set to `S3`, then valid values are `BUILD_ID` or `NONE`. + // Namespace to use in storing build artifacts. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, valid values are `BUILD_ID` or `NONE`. NamespaceType *string `pulumi:"namespaceType"` // Whether a name specified in the build specification overrides the artifact name. OverrideArtifactName *bool `pulumi:"overrideArtifactName"` - // Type of build output artifact to create. If `type` is set to `S3`, valid values are `NONE`, `ZIP` + // Type of build output artifact to create. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, valid values are `NONE` or `ZIP`. Packaging *string `pulumi:"packaging"` - // If `type` is set to `S3`, this is the path to the output artifact. + // Along with `namespaceType` and `name`, the pattern that AWS CodeBuild uses to name and store the output artifact. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, this is the path to the output artifact. Path *string `pulumi:"path"` - // Build output artifact's type. The only valid value is `S3`. + // Build output artifact's type. Valid values `CODEPIPELINE`, `NO_ARTIFACTS`, and `S3`. Type string `pulumi:"type"` } @@ -2079,23 +2079,23 @@ type ProjectSecondaryArtifactInput interface { type ProjectSecondaryArtifactArgs struct { // Artifact identifier. Must be the same specified inside the AWS CodeBuild build specification. ArtifactIdentifier pulumi.StringInput `pulumi:"artifactIdentifier"` - // Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has access to these objects. This property allows you to give the bucket owner access to these objects. Valid values are `NONE`, `READ_ONLY`, and `FULL`. your CodeBuild service role must have the `s3:PutBucketAcl` permission. This permission allows CodeBuild to modify the access control list for the bucket. + // Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has access to these objects. This property allows you to give the bucket owner access to these objects. Valid values are `NONE`, `READ_ONLY`, and `FULL`. The CodeBuild service role must have the `s3:PutBucketAcl` permission. This permission allows CodeBuild to modify the access control list for the bucket. BucketOwnerAccess pulumi.StringPtrInput `pulumi:"bucketOwnerAccess"` // Whether to disable encrypting output artifacts. If `type` is set to `NO_ARTIFACTS`, this value is ignored. Defaults to `false`. EncryptionDisabled pulumi.BoolPtrInput `pulumi:"encryptionDisabled"` - // Information about the build output artifact location. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored. If `type` is set to `S3`, this is the name of the output bucket. If `path` is not also specified, then `location` can also specify the path of the output artifact in the output bucket. + // Information about the build output artifact location. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, this is the name of the output bucket. If `path` is not specified, `location` can specify the path of the output artifact in the output bucket. Location pulumi.StringPtrInput `pulumi:"location"` - // Name of the project. If `type` is set to `S3`, this is the name of the output artifact object + // Name of the project. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, this is the name of the output artifact object. Name pulumi.StringPtrInput `pulumi:"name"` - // Namespace to use in storing build artifacts. If `type` is set to `S3`, then valid values are `BUILD_ID` or `NONE`. + // Namespace to use in storing build artifacts. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, valid values are `BUILD_ID` or `NONE`. NamespaceType pulumi.StringPtrInput `pulumi:"namespaceType"` // Whether a name specified in the build specification overrides the artifact name. OverrideArtifactName pulumi.BoolPtrInput `pulumi:"overrideArtifactName"` - // Type of build output artifact to create. If `type` is set to `S3`, valid values are `NONE`, `ZIP` + // Type of build output artifact to create. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, valid values are `NONE` or `ZIP`. Packaging pulumi.StringPtrInput `pulumi:"packaging"` - // If `type` is set to `S3`, this is the path to the output artifact. + // Along with `namespaceType` and `name`, the pattern that AWS CodeBuild uses to name and store the output artifact. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, this is the path to the output artifact. Path pulumi.StringPtrInput `pulumi:"path"` - // Build output artifact's type. The only valid value is `S3`. + // Build output artifact's type. Valid values `CODEPIPELINE`, `NO_ARTIFACTS`, and `S3`. Type pulumi.StringInput `pulumi:"type"` } @@ -2155,7 +2155,7 @@ func (o ProjectSecondaryArtifactOutput) ArtifactIdentifier() pulumi.StringOutput return o.ApplyT(func(v ProjectSecondaryArtifact) string { return v.ArtifactIdentifier }).(pulumi.StringOutput) } -// Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has access to these objects. This property allows you to give the bucket owner access to these objects. Valid values are `NONE`, `READ_ONLY`, and `FULL`. your CodeBuild service role must have the `s3:PutBucketAcl` permission. This permission allows CodeBuild to modify the access control list for the bucket. +// Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has access to these objects. This property allows you to give the bucket owner access to these objects. Valid values are `NONE`, `READ_ONLY`, and `FULL`. The CodeBuild service role must have the `s3:PutBucketAcl` permission. This permission allows CodeBuild to modify the access control list for the bucket. func (o ProjectSecondaryArtifactOutput) BucketOwnerAccess() pulumi.StringPtrOutput { return o.ApplyT(func(v ProjectSecondaryArtifact) *string { return v.BucketOwnerAccess }).(pulumi.StringPtrOutput) } @@ -2165,17 +2165,17 @@ func (o ProjectSecondaryArtifactOutput) EncryptionDisabled() pulumi.BoolPtrOutpu return o.ApplyT(func(v ProjectSecondaryArtifact) *bool { return v.EncryptionDisabled }).(pulumi.BoolPtrOutput) } -// Information about the build output artifact location. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored. If `type` is set to `S3`, this is the name of the output bucket. If `path` is not also specified, then `location` can also specify the path of the output artifact in the output bucket. +// Information about the build output artifact location. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, this is the name of the output bucket. If `path` is not specified, `location` can specify the path of the output artifact in the output bucket. func (o ProjectSecondaryArtifactOutput) Location() pulumi.StringPtrOutput { return o.ApplyT(func(v ProjectSecondaryArtifact) *string { return v.Location }).(pulumi.StringPtrOutput) } -// Name of the project. If `type` is set to `S3`, this is the name of the output artifact object +// Name of the project. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, this is the name of the output artifact object. func (o ProjectSecondaryArtifactOutput) Name() pulumi.StringPtrOutput { return o.ApplyT(func(v ProjectSecondaryArtifact) *string { return v.Name }).(pulumi.StringPtrOutput) } -// Namespace to use in storing build artifacts. If `type` is set to `S3`, then valid values are `BUILD_ID` or `NONE`. +// Namespace to use in storing build artifacts. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, valid values are `BUILD_ID` or `NONE`. func (o ProjectSecondaryArtifactOutput) NamespaceType() pulumi.StringPtrOutput { return o.ApplyT(func(v ProjectSecondaryArtifact) *string { return v.NamespaceType }).(pulumi.StringPtrOutput) } @@ -2185,17 +2185,17 @@ func (o ProjectSecondaryArtifactOutput) OverrideArtifactName() pulumi.BoolPtrOut return o.ApplyT(func(v ProjectSecondaryArtifact) *bool { return v.OverrideArtifactName }).(pulumi.BoolPtrOutput) } -// Type of build output artifact to create. If `type` is set to `S3`, valid values are `NONE`, `ZIP` +// Type of build output artifact to create. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, valid values are `NONE` or `ZIP`. func (o ProjectSecondaryArtifactOutput) Packaging() pulumi.StringPtrOutput { return o.ApplyT(func(v ProjectSecondaryArtifact) *string { return v.Packaging }).(pulumi.StringPtrOutput) } -// If `type` is set to `S3`, this is the path to the output artifact. +// Along with `namespaceType` and `name`, the pattern that AWS CodeBuild uses to name and store the output artifact. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, this is the path to the output artifact. func (o ProjectSecondaryArtifactOutput) Path() pulumi.StringPtrOutput { return o.ApplyT(func(v ProjectSecondaryArtifact) *string { return v.Path }).(pulumi.StringPtrOutput) } -// Build output artifact's type. The only valid value is `S3`. +// Build output artifact's type. Valid values `CODEPIPELINE`, `NO_ARTIFACTS`, and `S3`. func (o ProjectSecondaryArtifactOutput) Type() pulumi.StringOutput { return o.ApplyT(func(v ProjectSecondaryArtifact) string { return v.Type }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/cognito/resourceServer.go b/sdk/go/aws/cognito/resourceServer.go index e9d5dab7631..e69d10f25a4 100644 --- a/sdk/go/aws/cognito/resourceServer.go +++ b/sdk/go/aws/cognito/resourceServer.go @@ -87,7 +87,7 @@ import ( // // ```sh // -// $ pulumi import aws:cognito/resourceServer:ResourceServer example us-west-2_abc123:https://example.com +// $ pulumi import aws:cognito/resourceServer:ResourceServer example "us-west-2_abc123|https://example.com" // // ``` type ResourceServer struct { diff --git a/sdk/go/aws/dynamodb/table.go b/sdk/go/aws/dynamodb/table.go index 0657db7a969..99bec71f495 100644 --- a/sdk/go/aws/dynamodb/table.go +++ b/sdk/go/aws/dynamodb/table.go @@ -161,7 +161,7 @@ type Table struct { GlobalSecondaryIndexes TableGlobalSecondaryIndexArrayOutput `pulumi:"globalSecondaryIndexes"` // Attribute to use as the hash (partition) key. Must also be defined as an `attribute`. See below. HashKey pulumi.StringOutput `pulumi:"hashKey"` - // Describe an LSI on the table; these can only be allocated *at creation* so you cannot change this definition after you have created the resource. See below. + // Describe an LSI on the table; these can only be allocated _at creation_ so you cannot change this definition after you have created the resource. See below. LocalSecondaryIndexes TableLocalSecondaryIndexArrayOutput `pulumi:"localSecondaryIndexes"` // Unique within a region name of the table. Name pulumi.StringOutput `pulumi:"name"` @@ -189,7 +189,9 @@ type Table struct { StreamLabel pulumi.StringOutput `pulumi:"streamLabel"` // When an item in the table is modified, StreamViewType determines what information is written to the table's stream. Valid values are `KEYS_ONLY`, `NEW_IMAGE`, `OLD_IMAGE`, `NEW_AND_OLD_IMAGES`. StreamViewType pulumi.StringOutput `pulumi:"streamViewType"` - // Storage class of the table. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + // Storage class of the table. + // Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + // Default value is `STANDARD`. TableClass pulumi.StringPtrOutput `pulumi:"tableClass"` // A map of tags to populate on the created table. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapOutput `pulumi:"tags"` @@ -240,7 +242,7 @@ type tableState struct { GlobalSecondaryIndexes []TableGlobalSecondaryIndex `pulumi:"globalSecondaryIndexes"` // Attribute to use as the hash (partition) key. Must also be defined as an `attribute`. See below. HashKey *string `pulumi:"hashKey"` - // Describe an LSI on the table; these can only be allocated *at creation* so you cannot change this definition after you have created the resource. See below. + // Describe an LSI on the table; these can only be allocated _at creation_ so you cannot change this definition after you have created the resource. See below. LocalSecondaryIndexes []TableLocalSecondaryIndex `pulumi:"localSecondaryIndexes"` // Unique within a region name of the table. Name *string `pulumi:"name"` @@ -268,7 +270,9 @@ type tableState struct { StreamLabel *string `pulumi:"streamLabel"` // When an item in the table is modified, StreamViewType determines what information is written to the table's stream. Valid values are `KEYS_ONLY`, `NEW_IMAGE`, `OLD_IMAGE`, `NEW_AND_OLD_IMAGES`. StreamViewType *string `pulumi:"streamViewType"` - // Storage class of the table. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + // Storage class of the table. + // Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + // Default value is `STANDARD`. TableClass *string `pulumi:"tableClass"` // A map of tags to populate on the created table. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` @@ -291,7 +295,7 @@ type TableState struct { GlobalSecondaryIndexes TableGlobalSecondaryIndexArrayInput // Attribute to use as the hash (partition) key. Must also be defined as an `attribute`. See below. HashKey pulumi.StringPtrInput - // Describe an LSI on the table; these can only be allocated *at creation* so you cannot change this definition after you have created the resource. See below. + // Describe an LSI on the table; these can only be allocated _at creation_ so you cannot change this definition after you have created the resource. See below. LocalSecondaryIndexes TableLocalSecondaryIndexArrayInput // Unique within a region name of the table. Name pulumi.StringPtrInput @@ -319,7 +323,9 @@ type TableState struct { StreamLabel pulumi.StringPtrInput // When an item in the table is modified, StreamViewType determines what information is written to the table's stream. Valid values are `KEYS_ONLY`, `NEW_IMAGE`, `OLD_IMAGE`, `NEW_AND_OLD_IMAGES`. StreamViewType pulumi.StringPtrInput - // Storage class of the table. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + // Storage class of the table. + // Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + // Default value is `STANDARD`. TableClass pulumi.StringPtrInput // A map of tags to populate on the created table. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput @@ -344,7 +350,7 @@ type tableArgs struct { GlobalSecondaryIndexes []TableGlobalSecondaryIndex `pulumi:"globalSecondaryIndexes"` // Attribute to use as the hash (partition) key. Must also be defined as an `attribute`. See below. HashKey *string `pulumi:"hashKey"` - // Describe an LSI on the table; these can only be allocated *at creation* so you cannot change this definition after you have created the resource. See below. + // Describe an LSI on the table; these can only be allocated _at creation_ so you cannot change this definition after you have created the resource. See below. LocalSecondaryIndexes []TableLocalSecondaryIndex `pulumi:"localSecondaryIndexes"` // Unique within a region name of the table. Name *string `pulumi:"name"` @@ -368,7 +374,9 @@ type tableArgs struct { StreamEnabled *bool `pulumi:"streamEnabled"` // When an item in the table is modified, StreamViewType determines what information is written to the table's stream. Valid values are `KEYS_ONLY`, `NEW_IMAGE`, `OLD_IMAGE`, `NEW_AND_OLD_IMAGES`. StreamViewType *string `pulumi:"streamViewType"` - // Storage class of the table. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + // Storage class of the table. + // Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + // Default value is `STANDARD`. TableClass *string `pulumi:"tableClass"` // A map of tags to populate on the created table. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` @@ -390,7 +398,7 @@ type TableArgs struct { GlobalSecondaryIndexes TableGlobalSecondaryIndexArrayInput // Attribute to use as the hash (partition) key. Must also be defined as an `attribute`. See below. HashKey pulumi.StringPtrInput - // Describe an LSI on the table; these can only be allocated *at creation* so you cannot change this definition after you have created the resource. See below. + // Describe an LSI on the table; these can only be allocated _at creation_ so you cannot change this definition after you have created the resource. See below. LocalSecondaryIndexes TableLocalSecondaryIndexArrayInput // Unique within a region name of the table. Name pulumi.StringPtrInput @@ -414,7 +422,9 @@ type TableArgs struct { StreamEnabled pulumi.BoolPtrInput // When an item in the table is modified, StreamViewType determines what information is written to the table's stream. Valid values are `KEYS_ONLY`, `NEW_IMAGE`, `OLD_IMAGE`, `NEW_AND_OLD_IMAGES`. StreamViewType pulumi.StringPtrInput - // Storage class of the table. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + // Storage class of the table. + // Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + // Default value is `STANDARD`. TableClass pulumi.StringPtrInput // A map of tags to populate on the created table. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput @@ -538,7 +548,7 @@ func (o TableOutput) HashKey() pulumi.StringOutput { return o.ApplyT(func(v *Table) pulumi.StringOutput { return v.HashKey }).(pulumi.StringOutput) } -// Describe an LSI on the table; these can only be allocated *at creation* so you cannot change this definition after you have created the resource. See below. +// Describe an LSI on the table; these can only be allocated _at creation_ so you cannot change this definition after you have created the resource. See below. func (o TableOutput) LocalSecondaryIndexes() TableLocalSecondaryIndexArrayOutput { return o.ApplyT(func(v *Table) TableLocalSecondaryIndexArrayOutput { return v.LocalSecondaryIndexes }).(TableLocalSecondaryIndexArrayOutput) } @@ -608,7 +618,9 @@ func (o TableOutput) StreamViewType() pulumi.StringOutput { return o.ApplyT(func(v *Table) pulumi.StringOutput { return v.StreamViewType }).(pulumi.StringOutput) } -// Storage class of the table. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. +// Storage class of the table. +// Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. +// Default value is `STANDARD`. func (o TableOutput) TableClass() pulumi.StringPtrOutput { return o.ApplyT(func(v *Table) pulumi.StringPtrOutput { return v.TableClass }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/aws/ec2/flowLog.go b/sdk/go/aws/ec2/flowLog.go index 79f5b006c10..93408435339 100644 --- a/sdk/go/aws/ec2/flowLog.go +++ b/sdk/go/aws/ec2/flowLog.go @@ -187,6 +187,8 @@ type FlowLog struct { // The ARN of the Flow Log. Arn pulumi.StringOutput `pulumi:"arn"` + // ARN of the IAM role that allows Amazon EC2 to publish flow logs across accounts. + DeliverCrossAccountRole pulumi.StringPtrOutput `pulumi:"deliverCrossAccountRole"` // Describes the destination options for a flow log. More details below. DestinationOptions FlowLogDestinationOptionsPtrOutput `pulumi:"destinationOptions"` // Elastic Network Interface ID to attach to @@ -255,6 +257,8 @@ func GetFlowLog(ctx *pulumi.Context, type flowLogState struct { // The ARN of the Flow Log. Arn *string `pulumi:"arn"` + // ARN of the IAM role that allows Amazon EC2 to publish flow logs across accounts. + DeliverCrossAccountRole *string `pulumi:"deliverCrossAccountRole"` // Describes the destination options for a flow log. More details below. DestinationOptions *FlowLogDestinationOptions `pulumi:"destinationOptions"` // Elastic Network Interface ID to attach to @@ -295,6 +299,8 @@ type flowLogState struct { type FlowLogState struct { // The ARN of the Flow Log. Arn pulumi.StringPtrInput + // ARN of the IAM role that allows Amazon EC2 to publish flow logs across accounts. + DeliverCrossAccountRole pulumi.StringPtrInput // Describes the destination options for a flow log. More details below. DestinationOptions FlowLogDestinationOptionsPtrInput // Elastic Network Interface ID to attach to @@ -337,6 +343,8 @@ func (FlowLogState) ElementType() reflect.Type { } type flowLogArgs struct { + // ARN of the IAM role that allows Amazon EC2 to publish flow logs across accounts. + DeliverCrossAccountRole *string `pulumi:"deliverCrossAccountRole"` // Describes the destination options for a flow log. More details below. DestinationOptions *FlowLogDestinationOptions `pulumi:"destinationOptions"` // Elastic Network Interface ID to attach to @@ -374,6 +382,8 @@ type flowLogArgs struct { // The set of arguments for constructing a FlowLog resource. type FlowLogArgs struct { + // ARN of the IAM role that allows Amazon EC2 to publish flow logs across accounts. + DeliverCrossAccountRole pulumi.StringPtrInput // Describes the destination options for a flow log. More details below. DestinationOptions FlowLogDestinationOptionsPtrInput // Elastic Network Interface ID to attach to @@ -501,6 +511,11 @@ func (o FlowLogOutput) Arn() pulumi.StringOutput { return o.ApplyT(func(v *FlowLog) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) } +// ARN of the IAM role that allows Amazon EC2 to publish flow logs across accounts. +func (o FlowLogOutput) DeliverCrossAccountRole() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FlowLog) pulumi.StringPtrOutput { return v.DeliverCrossAccountRole }).(pulumi.StringPtrOutput) +} + // Describes the destination options for a flow log. More details below. func (o FlowLogOutput) DestinationOptions() FlowLogDestinationOptionsPtrOutput { return o.ApplyT(func(v *FlowLog) FlowLogDestinationOptionsPtrOutput { return v.DestinationOptions }).(FlowLogDestinationOptionsPtrOutput) diff --git a/sdk/go/aws/ec2/getInstances.go b/sdk/go/aws/ec2/getInstances.go index 47df1802b2e..914672b6b9a 100644 --- a/sdk/go/aws/ec2/getInstances.go +++ b/sdk/go/aws/ec2/getInstances.go @@ -48,6 +48,8 @@ type GetInstancesResult struct { Ids []string `pulumi:"ids"` InstanceStateNames []string `pulumi:"instanceStateNames"` InstanceTags map[string]string `pulumi:"instanceTags"` + // IPv6 addresses of instances found through the filter + Ipv6Addresses []string `pulumi:"ipv6Addresses"` // Private IP addresses of instances found through the filter PrivateIps []string `pulumi:"privateIps"` // Public IP addresses of instances found through the filter @@ -121,6 +123,11 @@ func (o GetInstancesResultOutput) InstanceTags() pulumi.StringMapOutput { return o.ApplyT(func(v GetInstancesResult) map[string]string { return v.InstanceTags }).(pulumi.StringMapOutput) } +// IPv6 addresses of instances found through the filter +func (o GetInstancesResultOutput) Ipv6Addresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetInstancesResult) []string { return v.Ipv6Addresses }).(pulumi.StringArrayOutput) +} + // Private IP addresses of instances found through the filter func (o GetInstancesResultOutput) PrivateIps() pulumi.StringArrayOutput { return o.ApplyT(func(v GetInstancesResult) []string { return v.PrivateIps }).(pulumi.StringArrayOutput) diff --git a/sdk/go/aws/ec2/launchConfiguration.go b/sdk/go/aws/ec2/launchConfiguration.go index fc56f7fdbf4..dd6af7b078c 100644 --- a/sdk/go/aws/ec2/launchConfiguration.go +++ b/sdk/go/aws/ec2/launchConfiguration.go @@ -13,6 +13,8 @@ import ( // Provides a resource to create a new launch configuration, used for autoscaling groups. // +// !> **WARNING:** The use of launch configurations is discouraged in favour of launch templates. Read more in the [AWS EC2 Documentation](https://docs.aws.amazon.com/autoscaling/ec2/userguide/launch-configurations.html). +// // > **Note** When using `ec2.LaunchConfiguration` with `autoscaling.Group`, it is recommended to use the `namePrefix` (Optional) instead of the `name` (Optional) attribute. // // ## Example Usage diff --git a/sdk/go/aws/ec2transitgateway/getAttachment.go b/sdk/go/aws/ec2transitgateway/getAttachment.go index e93e1a6a1fc..deb2a3ca2c2 100644 --- a/sdk/go/aws/ec2transitgateway/getAttachment.go +++ b/sdk/go/aws/ec2transitgateway/getAttachment.go @@ -33,8 +33,12 @@ type GetAttachmentArgs struct { // A collection of values returned by getAttachment. type GetAttachmentResult struct { // ARN of the attachment. - Arn string `pulumi:"arn"` - Filters []GetAttachmentFilter `pulumi:"filters"` + Arn string `pulumi:"arn"` + // The state of the association (see [the underlying AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_TransitGatewayAttachmentAssociation.html) for valid values). + AssociationState string `pulumi:"associationState"` + // The ID of the route table for the transit gateway. + AssociationTransitGatewayRouteTableId string `pulumi:"associationTransitGatewayRouteTableId"` + Filters []GetAttachmentFilter `pulumi:"filters"` // The provider-assigned unique ID for this managed resource. Id string `pulumi:"id"` // ID of the resource. @@ -101,6 +105,16 @@ func (o GetAttachmentResultOutput) Arn() pulumi.StringOutput { return o.ApplyT(func(v GetAttachmentResult) string { return v.Arn }).(pulumi.StringOutput) } +// The state of the association (see [the underlying AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_TransitGatewayAttachmentAssociation.html) for valid values). +func (o GetAttachmentResultOutput) AssociationState() pulumi.StringOutput { + return o.ApplyT(func(v GetAttachmentResult) string { return v.AssociationState }).(pulumi.StringOutput) +} + +// The ID of the route table for the transit gateway. +func (o GetAttachmentResultOutput) AssociationTransitGatewayRouteTableId() pulumi.StringOutput { + return o.ApplyT(func(v GetAttachmentResult) string { return v.AssociationTransitGatewayRouteTableId }).(pulumi.StringOutput) +} + func (o GetAttachmentResultOutput) Filters() GetAttachmentFilterArrayOutput { return o.ApplyT(func(v GetAttachmentResult) []GetAttachmentFilter { return v.Filters }).(GetAttachmentFilterArrayOutput) } diff --git a/sdk/go/aws/ecs/getTaskExecution.go b/sdk/go/aws/ecs/getTaskExecution.go new file mode 100644 index 00000000000..fc49237e3e7 --- /dev/null +++ b/sdk/go/aws/ecs/getTaskExecution.go @@ -0,0 +1,242 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ecs + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Data source for managing an AWS ECS (Elastic Container) Task Execution. This data source calls the [RunTask](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html) API, allowing execution of one-time tasks that don't fit a standard resource lifecycle. See the feature request issue for additional context. +// +// > **NOTE on preview operations:** This data source calls the `RunTask` API on every read operation, which means new task(s) may be created from a `pulumi preview` command if all attributes are known. Placing this functionality behind a data source is an intentional trade off to enable use cases requiring a one-time task execution without relying on provisioners. Caution should be taken to ensure the data source is only executed once, or that the resulting tasks can safely run in parallel. +// +// ## Example Usage +func GetTaskExecution(ctx *pulumi.Context, args *GetTaskExecutionArgs, opts ...pulumi.InvokeOption) (*GetTaskExecutionResult, error) { + var rv GetTaskExecutionResult + err := ctx.Invoke("aws:ecs/getTaskExecution:getTaskExecution", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getTaskExecution. +type GetTaskExecutionArgs struct { + // Set of capacity provider strategies to use for the cluster. See below. + CapacityProviderStrategies []GetTaskExecutionCapacityProviderStrategy `pulumi:"capacityProviderStrategies"` + // Short name or full Amazon Resource Name (ARN) of the cluster to run the task on. + Cluster string `pulumi:"cluster"` + // Number of instantiations of the specified task to place on your cluster. You can specify up to 10 tasks for each call. + DesiredCount *int `pulumi:"desiredCount"` + // Specifies whether to enable Amazon ECS managed tags for the tasks within the service. + EnableEcsManagedTags *bool `pulumi:"enableEcsManagedTags"` + // Specifies whether to enable Amazon ECS Exec for the tasks within the service. + EnableExecuteCommand *bool `pulumi:"enableExecuteCommand"` + // Name of the task group to associate with the task. The default value is the family name of the task definition. + Group *string `pulumi:"group"` + // Launch type on which to run your service. Valid values are `EC2`, `FARGATE`, and `EXTERNAL`. + LaunchType *string `pulumi:"launchType"` + // Network configuration for the service. This parameter is required for task definitions that use the `awsvpc` network mode to receive their own Elastic Network Interface, and it is not supported for other network modes. See below. + NetworkConfiguration *GetTaskExecutionNetworkConfiguration `pulumi:"networkConfiguration"` + // A list of container overrides that specify the name of a container in the specified task definition and the overrides it should receive. + Overrides *GetTaskExecutionOverrides `pulumi:"overrides"` + // An array of placement constraint objects to use for the task. You can specify up to 10 constraints for each task. See below. + PlacementConstraints []GetTaskExecutionPlacementConstraint `pulumi:"placementConstraints"` + // The placement strategy objects to use for the task. You can specify a maximum of 5 strategy rules for each task. See below. + PlacementStrategies []GetTaskExecutionPlacementStrategy `pulumi:"placementStrategies"` + // The platform version the task uses. A platform version is only specified for tasks hosted on Fargate. If one isn't specified, the `LATEST` platform version is used. + PlatformVersion *string `pulumi:"platformVersion"` + // Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. An error will be received if you specify the `SERVICE` option when running a task. Valid values are `TASK_DEFINITION` or `NONE`. + PropagateTags *string `pulumi:"propagateTags"` + // The reference ID to use for the task. + ReferenceId *string `pulumi:"referenceId"` + // An optional tag specified when a task is started. + StartedBy *string `pulumi:"startedBy"` + // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags map[string]string `pulumi:"tags"` + // The `family` and `revision` (`family:revision`) or full ARN of the task definition to run. If a revision isn't specified, the latest `ACTIVE` revision is used. + TaskDefinition string `pulumi:"taskDefinition"` +} + +// A collection of values returned by getTaskExecution. +type GetTaskExecutionResult struct { + CapacityProviderStrategies []GetTaskExecutionCapacityProviderStrategy `pulumi:"capacityProviderStrategies"` + Cluster string `pulumi:"cluster"` + DesiredCount *int `pulumi:"desiredCount"` + EnableEcsManagedTags *bool `pulumi:"enableEcsManagedTags"` + EnableExecuteCommand *bool `pulumi:"enableExecuteCommand"` + Group *string `pulumi:"group"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + LaunchType *string `pulumi:"launchType"` + NetworkConfiguration *GetTaskExecutionNetworkConfiguration `pulumi:"networkConfiguration"` + Overrides *GetTaskExecutionOverrides `pulumi:"overrides"` + PlacementConstraints []GetTaskExecutionPlacementConstraint `pulumi:"placementConstraints"` + PlacementStrategies []GetTaskExecutionPlacementStrategy `pulumi:"placementStrategies"` + PlatformVersion *string `pulumi:"platformVersion"` + PropagateTags *string `pulumi:"propagateTags"` + ReferenceId *string `pulumi:"referenceId"` + StartedBy *string `pulumi:"startedBy"` + Tags map[string]string `pulumi:"tags"` + // A list of the provisioned task ARNs. + TaskArns []string `pulumi:"taskArns"` + TaskDefinition string `pulumi:"taskDefinition"` +} + +func GetTaskExecutionOutput(ctx *pulumi.Context, args GetTaskExecutionOutputArgs, opts ...pulumi.InvokeOption) GetTaskExecutionResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (GetTaskExecutionResult, error) { + args := v.(GetTaskExecutionArgs) + r, err := GetTaskExecution(ctx, &args, opts...) + var s GetTaskExecutionResult + if r != nil { + s = *r + } + return s, err + }).(GetTaskExecutionResultOutput) +} + +// A collection of arguments for invoking getTaskExecution. +type GetTaskExecutionOutputArgs struct { + // Set of capacity provider strategies to use for the cluster. See below. + CapacityProviderStrategies GetTaskExecutionCapacityProviderStrategyArrayInput `pulumi:"capacityProviderStrategies"` + // Short name or full Amazon Resource Name (ARN) of the cluster to run the task on. + Cluster pulumi.StringInput `pulumi:"cluster"` + // Number of instantiations of the specified task to place on your cluster. You can specify up to 10 tasks for each call. + DesiredCount pulumi.IntPtrInput `pulumi:"desiredCount"` + // Specifies whether to enable Amazon ECS managed tags for the tasks within the service. + EnableEcsManagedTags pulumi.BoolPtrInput `pulumi:"enableEcsManagedTags"` + // Specifies whether to enable Amazon ECS Exec for the tasks within the service. + EnableExecuteCommand pulumi.BoolPtrInput `pulumi:"enableExecuteCommand"` + // Name of the task group to associate with the task. The default value is the family name of the task definition. + Group pulumi.StringPtrInput `pulumi:"group"` + // Launch type on which to run your service. Valid values are `EC2`, `FARGATE`, and `EXTERNAL`. + LaunchType pulumi.StringPtrInput `pulumi:"launchType"` + // Network configuration for the service. This parameter is required for task definitions that use the `awsvpc` network mode to receive their own Elastic Network Interface, and it is not supported for other network modes. See below. + NetworkConfiguration GetTaskExecutionNetworkConfigurationPtrInput `pulumi:"networkConfiguration"` + // A list of container overrides that specify the name of a container in the specified task definition and the overrides it should receive. + Overrides GetTaskExecutionOverridesPtrInput `pulumi:"overrides"` + // An array of placement constraint objects to use for the task. You can specify up to 10 constraints for each task. See below. + PlacementConstraints GetTaskExecutionPlacementConstraintArrayInput `pulumi:"placementConstraints"` + // The placement strategy objects to use for the task. You can specify a maximum of 5 strategy rules for each task. See below. + PlacementStrategies GetTaskExecutionPlacementStrategyArrayInput `pulumi:"placementStrategies"` + // The platform version the task uses. A platform version is only specified for tasks hosted on Fargate. If one isn't specified, the `LATEST` platform version is used. + PlatformVersion pulumi.StringPtrInput `pulumi:"platformVersion"` + // Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. An error will be received if you specify the `SERVICE` option when running a task. Valid values are `TASK_DEFINITION` or `NONE`. + PropagateTags pulumi.StringPtrInput `pulumi:"propagateTags"` + // The reference ID to use for the task. + ReferenceId pulumi.StringPtrInput `pulumi:"referenceId"` + // An optional tag specified when a task is started. + StartedBy pulumi.StringPtrInput `pulumi:"startedBy"` + // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapInput `pulumi:"tags"` + // The `family` and `revision` (`family:revision`) or full ARN of the task definition to run. If a revision isn't specified, the latest `ACTIVE` revision is used. + TaskDefinition pulumi.StringInput `pulumi:"taskDefinition"` +} + +func (GetTaskExecutionOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetTaskExecutionArgs)(nil)).Elem() +} + +// A collection of values returned by getTaskExecution. +type GetTaskExecutionResultOutput struct{ *pulumi.OutputState } + +func (GetTaskExecutionResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetTaskExecutionResult)(nil)).Elem() +} + +func (o GetTaskExecutionResultOutput) ToGetTaskExecutionResultOutput() GetTaskExecutionResultOutput { + return o +} + +func (o GetTaskExecutionResultOutput) ToGetTaskExecutionResultOutputWithContext(ctx context.Context) GetTaskExecutionResultOutput { + return o +} + +func (o GetTaskExecutionResultOutput) CapacityProviderStrategies() GetTaskExecutionCapacityProviderStrategyArrayOutput { + return o.ApplyT(func(v GetTaskExecutionResult) []GetTaskExecutionCapacityProviderStrategy { + return v.CapacityProviderStrategies + }).(GetTaskExecutionCapacityProviderStrategyArrayOutput) +} + +func (o GetTaskExecutionResultOutput) Cluster() pulumi.StringOutput { + return o.ApplyT(func(v GetTaskExecutionResult) string { return v.Cluster }).(pulumi.StringOutput) +} + +func (o GetTaskExecutionResultOutput) DesiredCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetTaskExecutionResult) *int { return v.DesiredCount }).(pulumi.IntPtrOutput) +} + +func (o GetTaskExecutionResultOutput) EnableEcsManagedTags() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GetTaskExecutionResult) *bool { return v.EnableEcsManagedTags }).(pulumi.BoolPtrOutput) +} + +func (o GetTaskExecutionResultOutput) EnableExecuteCommand() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GetTaskExecutionResult) *bool { return v.EnableExecuteCommand }).(pulumi.BoolPtrOutput) +} + +func (o GetTaskExecutionResultOutput) Group() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetTaskExecutionResult) *string { return v.Group }).(pulumi.StringPtrOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetTaskExecutionResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetTaskExecutionResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetTaskExecutionResultOutput) LaunchType() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetTaskExecutionResult) *string { return v.LaunchType }).(pulumi.StringPtrOutput) +} + +func (o GetTaskExecutionResultOutput) NetworkConfiguration() GetTaskExecutionNetworkConfigurationPtrOutput { + return o.ApplyT(func(v GetTaskExecutionResult) *GetTaskExecutionNetworkConfiguration { return v.NetworkConfiguration }).(GetTaskExecutionNetworkConfigurationPtrOutput) +} + +func (o GetTaskExecutionResultOutput) Overrides() GetTaskExecutionOverridesPtrOutput { + return o.ApplyT(func(v GetTaskExecutionResult) *GetTaskExecutionOverrides { return v.Overrides }).(GetTaskExecutionOverridesPtrOutput) +} + +func (o GetTaskExecutionResultOutput) PlacementConstraints() GetTaskExecutionPlacementConstraintArrayOutput { + return o.ApplyT(func(v GetTaskExecutionResult) []GetTaskExecutionPlacementConstraint { return v.PlacementConstraints }).(GetTaskExecutionPlacementConstraintArrayOutput) +} + +func (o GetTaskExecutionResultOutput) PlacementStrategies() GetTaskExecutionPlacementStrategyArrayOutput { + return o.ApplyT(func(v GetTaskExecutionResult) []GetTaskExecutionPlacementStrategy { return v.PlacementStrategies }).(GetTaskExecutionPlacementStrategyArrayOutput) +} + +func (o GetTaskExecutionResultOutput) PlatformVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetTaskExecutionResult) *string { return v.PlatformVersion }).(pulumi.StringPtrOutput) +} + +func (o GetTaskExecutionResultOutput) PropagateTags() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetTaskExecutionResult) *string { return v.PropagateTags }).(pulumi.StringPtrOutput) +} + +func (o GetTaskExecutionResultOutput) ReferenceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetTaskExecutionResult) *string { return v.ReferenceId }).(pulumi.StringPtrOutput) +} + +func (o GetTaskExecutionResultOutput) StartedBy() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetTaskExecutionResult) *string { return v.StartedBy }).(pulumi.StringPtrOutput) +} + +func (o GetTaskExecutionResultOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v GetTaskExecutionResult) map[string]string { return v.Tags }).(pulumi.StringMapOutput) +} + +// A list of the provisioned task ARNs. +func (o GetTaskExecutionResultOutput) TaskArns() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetTaskExecutionResult) []string { return v.TaskArns }).(pulumi.StringArrayOutput) +} + +func (o GetTaskExecutionResultOutput) TaskDefinition() pulumi.StringOutput { + return o.ApplyT(func(v GetTaskExecutionResult) string { return v.TaskDefinition }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetTaskExecutionResultOutput{}) +} diff --git a/sdk/go/aws/ecs/pulumiTypes.go b/sdk/go/aws/ecs/pulumiTypes.go index d99b5552298..2a853f02ade 100644 --- a/sdk/go/aws/ecs/pulumiTypes.go +++ b/sdk/go/aws/ecs/pulumiTypes.go @@ -6115,6 +6115,1217 @@ func (o GetClusterSettingArrayOutput) Index(i pulumi.IntInput) GetClusterSetting }).(GetClusterSettingOutput) } +type GetTaskExecutionCapacityProviderStrategy struct { + // The number of tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a base defined. Defaults to `0`. + Base *int `pulumi:"base"` + // Name of the capacity provider. + CapacityProvider string `pulumi:"capacityProvider"` + // The relative percentage of the total number of launched tasks that should use the specified capacity provider. The `weight` value is taken into consideration after the `base` count of tasks has been satisfied. Defaults to `0`. + Weight *int `pulumi:"weight"` +} + +// GetTaskExecutionCapacityProviderStrategyInput is an input type that accepts GetTaskExecutionCapacityProviderStrategyArgs and GetTaskExecutionCapacityProviderStrategyOutput values. +// You can construct a concrete instance of `GetTaskExecutionCapacityProviderStrategyInput` via: +// +// GetTaskExecutionCapacityProviderStrategyArgs{...} +type GetTaskExecutionCapacityProviderStrategyInput interface { + pulumi.Input + + ToGetTaskExecutionCapacityProviderStrategyOutput() GetTaskExecutionCapacityProviderStrategyOutput + ToGetTaskExecutionCapacityProviderStrategyOutputWithContext(context.Context) GetTaskExecutionCapacityProviderStrategyOutput +} + +type GetTaskExecutionCapacityProviderStrategyArgs struct { + // The number of tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a base defined. Defaults to `0`. + Base pulumi.IntPtrInput `pulumi:"base"` + // Name of the capacity provider. + CapacityProvider pulumi.StringInput `pulumi:"capacityProvider"` + // The relative percentage of the total number of launched tasks that should use the specified capacity provider. The `weight` value is taken into consideration after the `base` count of tasks has been satisfied. Defaults to `0`. + Weight pulumi.IntPtrInput `pulumi:"weight"` +} + +func (GetTaskExecutionCapacityProviderStrategyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetTaskExecutionCapacityProviderStrategy)(nil)).Elem() +} + +func (i GetTaskExecutionCapacityProviderStrategyArgs) ToGetTaskExecutionCapacityProviderStrategyOutput() GetTaskExecutionCapacityProviderStrategyOutput { + return i.ToGetTaskExecutionCapacityProviderStrategyOutputWithContext(context.Background()) +} + +func (i GetTaskExecutionCapacityProviderStrategyArgs) ToGetTaskExecutionCapacityProviderStrategyOutputWithContext(ctx context.Context) GetTaskExecutionCapacityProviderStrategyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTaskExecutionCapacityProviderStrategyOutput) +} + +// GetTaskExecutionCapacityProviderStrategyArrayInput is an input type that accepts GetTaskExecutionCapacityProviderStrategyArray and GetTaskExecutionCapacityProviderStrategyArrayOutput values. +// You can construct a concrete instance of `GetTaskExecutionCapacityProviderStrategyArrayInput` via: +// +// GetTaskExecutionCapacityProviderStrategyArray{ GetTaskExecutionCapacityProviderStrategyArgs{...} } +type GetTaskExecutionCapacityProviderStrategyArrayInput interface { + pulumi.Input + + ToGetTaskExecutionCapacityProviderStrategyArrayOutput() GetTaskExecutionCapacityProviderStrategyArrayOutput + ToGetTaskExecutionCapacityProviderStrategyArrayOutputWithContext(context.Context) GetTaskExecutionCapacityProviderStrategyArrayOutput +} + +type GetTaskExecutionCapacityProviderStrategyArray []GetTaskExecutionCapacityProviderStrategyInput + +func (GetTaskExecutionCapacityProviderStrategyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTaskExecutionCapacityProviderStrategy)(nil)).Elem() +} + +func (i GetTaskExecutionCapacityProviderStrategyArray) ToGetTaskExecutionCapacityProviderStrategyArrayOutput() GetTaskExecutionCapacityProviderStrategyArrayOutput { + return i.ToGetTaskExecutionCapacityProviderStrategyArrayOutputWithContext(context.Background()) +} + +func (i GetTaskExecutionCapacityProviderStrategyArray) ToGetTaskExecutionCapacityProviderStrategyArrayOutputWithContext(ctx context.Context) GetTaskExecutionCapacityProviderStrategyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTaskExecutionCapacityProviderStrategyArrayOutput) +} + +type GetTaskExecutionCapacityProviderStrategyOutput struct{ *pulumi.OutputState } + +func (GetTaskExecutionCapacityProviderStrategyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetTaskExecutionCapacityProviderStrategy)(nil)).Elem() +} + +func (o GetTaskExecutionCapacityProviderStrategyOutput) ToGetTaskExecutionCapacityProviderStrategyOutput() GetTaskExecutionCapacityProviderStrategyOutput { + return o +} + +func (o GetTaskExecutionCapacityProviderStrategyOutput) ToGetTaskExecutionCapacityProviderStrategyOutputWithContext(ctx context.Context) GetTaskExecutionCapacityProviderStrategyOutput { + return o +} + +// The number of tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a base defined. Defaults to `0`. +func (o GetTaskExecutionCapacityProviderStrategyOutput) Base() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetTaskExecutionCapacityProviderStrategy) *int { return v.Base }).(pulumi.IntPtrOutput) +} + +// Name of the capacity provider. +func (o GetTaskExecutionCapacityProviderStrategyOutput) CapacityProvider() pulumi.StringOutput { + return o.ApplyT(func(v GetTaskExecutionCapacityProviderStrategy) string { return v.CapacityProvider }).(pulumi.StringOutput) +} + +// The relative percentage of the total number of launched tasks that should use the specified capacity provider. The `weight` value is taken into consideration after the `base` count of tasks has been satisfied. Defaults to `0`. +func (o GetTaskExecutionCapacityProviderStrategyOutput) Weight() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetTaskExecutionCapacityProviderStrategy) *int { return v.Weight }).(pulumi.IntPtrOutput) +} + +type GetTaskExecutionCapacityProviderStrategyArrayOutput struct{ *pulumi.OutputState } + +func (GetTaskExecutionCapacityProviderStrategyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTaskExecutionCapacityProviderStrategy)(nil)).Elem() +} + +func (o GetTaskExecutionCapacityProviderStrategyArrayOutput) ToGetTaskExecutionCapacityProviderStrategyArrayOutput() GetTaskExecutionCapacityProviderStrategyArrayOutput { + return o +} + +func (o GetTaskExecutionCapacityProviderStrategyArrayOutput) ToGetTaskExecutionCapacityProviderStrategyArrayOutputWithContext(ctx context.Context) GetTaskExecutionCapacityProviderStrategyArrayOutput { + return o +} + +func (o GetTaskExecutionCapacityProviderStrategyArrayOutput) Index(i pulumi.IntInput) GetTaskExecutionCapacityProviderStrategyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetTaskExecutionCapacityProviderStrategy { + return vs[0].([]GetTaskExecutionCapacityProviderStrategy)[vs[1].(int)] + }).(GetTaskExecutionCapacityProviderStrategyOutput) +} + +type GetTaskExecutionNetworkConfiguration struct { + // Assign a public IP address to the ENI (Fargate launch type only). Valid values are `true` or `false`. Default `false`. + AssignPublicIp *bool `pulumi:"assignPublicIp"` + // Security groups associated with the task or service. If you do not specify a security group, the default security group for the VPC is used. + SecurityGroups []string `pulumi:"securityGroups"` + // Subnets associated with the task or service. + Subnets []string `pulumi:"subnets"` +} + +// GetTaskExecutionNetworkConfigurationInput is an input type that accepts GetTaskExecutionNetworkConfigurationArgs and GetTaskExecutionNetworkConfigurationOutput values. +// You can construct a concrete instance of `GetTaskExecutionNetworkConfigurationInput` via: +// +// GetTaskExecutionNetworkConfigurationArgs{...} +type GetTaskExecutionNetworkConfigurationInput interface { + pulumi.Input + + ToGetTaskExecutionNetworkConfigurationOutput() GetTaskExecutionNetworkConfigurationOutput + ToGetTaskExecutionNetworkConfigurationOutputWithContext(context.Context) GetTaskExecutionNetworkConfigurationOutput +} + +type GetTaskExecutionNetworkConfigurationArgs struct { + // Assign a public IP address to the ENI (Fargate launch type only). Valid values are `true` or `false`. Default `false`. + AssignPublicIp pulumi.BoolPtrInput `pulumi:"assignPublicIp"` + // Security groups associated with the task or service. If you do not specify a security group, the default security group for the VPC is used. + SecurityGroups pulumi.StringArrayInput `pulumi:"securityGroups"` + // Subnets associated with the task or service. + Subnets pulumi.StringArrayInput `pulumi:"subnets"` +} + +func (GetTaskExecutionNetworkConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetTaskExecutionNetworkConfiguration)(nil)).Elem() +} + +func (i GetTaskExecutionNetworkConfigurationArgs) ToGetTaskExecutionNetworkConfigurationOutput() GetTaskExecutionNetworkConfigurationOutput { + return i.ToGetTaskExecutionNetworkConfigurationOutputWithContext(context.Background()) +} + +func (i GetTaskExecutionNetworkConfigurationArgs) ToGetTaskExecutionNetworkConfigurationOutputWithContext(ctx context.Context) GetTaskExecutionNetworkConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTaskExecutionNetworkConfigurationOutput) +} + +func (i GetTaskExecutionNetworkConfigurationArgs) ToGetTaskExecutionNetworkConfigurationPtrOutput() GetTaskExecutionNetworkConfigurationPtrOutput { + return i.ToGetTaskExecutionNetworkConfigurationPtrOutputWithContext(context.Background()) +} + +func (i GetTaskExecutionNetworkConfigurationArgs) ToGetTaskExecutionNetworkConfigurationPtrOutputWithContext(ctx context.Context) GetTaskExecutionNetworkConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTaskExecutionNetworkConfigurationOutput).ToGetTaskExecutionNetworkConfigurationPtrOutputWithContext(ctx) +} + +// GetTaskExecutionNetworkConfigurationPtrInput is an input type that accepts GetTaskExecutionNetworkConfigurationArgs, GetTaskExecutionNetworkConfigurationPtr and GetTaskExecutionNetworkConfigurationPtrOutput values. +// You can construct a concrete instance of `GetTaskExecutionNetworkConfigurationPtrInput` via: +// +// GetTaskExecutionNetworkConfigurationArgs{...} +// +// or: +// +// nil +type GetTaskExecutionNetworkConfigurationPtrInput interface { + pulumi.Input + + ToGetTaskExecutionNetworkConfigurationPtrOutput() GetTaskExecutionNetworkConfigurationPtrOutput + ToGetTaskExecutionNetworkConfigurationPtrOutputWithContext(context.Context) GetTaskExecutionNetworkConfigurationPtrOutput +} + +type getTaskExecutionNetworkConfigurationPtrType GetTaskExecutionNetworkConfigurationArgs + +func GetTaskExecutionNetworkConfigurationPtr(v *GetTaskExecutionNetworkConfigurationArgs) GetTaskExecutionNetworkConfigurationPtrInput { + return (*getTaskExecutionNetworkConfigurationPtrType)(v) +} + +func (*getTaskExecutionNetworkConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetTaskExecutionNetworkConfiguration)(nil)).Elem() +} + +func (i *getTaskExecutionNetworkConfigurationPtrType) ToGetTaskExecutionNetworkConfigurationPtrOutput() GetTaskExecutionNetworkConfigurationPtrOutput { + return i.ToGetTaskExecutionNetworkConfigurationPtrOutputWithContext(context.Background()) +} + +func (i *getTaskExecutionNetworkConfigurationPtrType) ToGetTaskExecutionNetworkConfigurationPtrOutputWithContext(ctx context.Context) GetTaskExecutionNetworkConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTaskExecutionNetworkConfigurationPtrOutput) +} + +type GetTaskExecutionNetworkConfigurationOutput struct{ *pulumi.OutputState } + +func (GetTaskExecutionNetworkConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetTaskExecutionNetworkConfiguration)(nil)).Elem() +} + +func (o GetTaskExecutionNetworkConfigurationOutput) ToGetTaskExecutionNetworkConfigurationOutput() GetTaskExecutionNetworkConfigurationOutput { + return o +} + +func (o GetTaskExecutionNetworkConfigurationOutput) ToGetTaskExecutionNetworkConfigurationOutputWithContext(ctx context.Context) GetTaskExecutionNetworkConfigurationOutput { + return o +} + +func (o GetTaskExecutionNetworkConfigurationOutput) ToGetTaskExecutionNetworkConfigurationPtrOutput() GetTaskExecutionNetworkConfigurationPtrOutput { + return o.ToGetTaskExecutionNetworkConfigurationPtrOutputWithContext(context.Background()) +} + +func (o GetTaskExecutionNetworkConfigurationOutput) ToGetTaskExecutionNetworkConfigurationPtrOutputWithContext(ctx context.Context) GetTaskExecutionNetworkConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetTaskExecutionNetworkConfiguration) *GetTaskExecutionNetworkConfiguration { + return &v + }).(GetTaskExecutionNetworkConfigurationPtrOutput) +} + +// Assign a public IP address to the ENI (Fargate launch type only). Valid values are `true` or `false`. Default `false`. +func (o GetTaskExecutionNetworkConfigurationOutput) AssignPublicIp() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GetTaskExecutionNetworkConfiguration) *bool { return v.AssignPublicIp }).(pulumi.BoolPtrOutput) +} + +// Security groups associated with the task or service. If you do not specify a security group, the default security group for the VPC is used. +func (o GetTaskExecutionNetworkConfigurationOutput) SecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetTaskExecutionNetworkConfiguration) []string { return v.SecurityGroups }).(pulumi.StringArrayOutput) +} + +// Subnets associated with the task or service. +func (o GetTaskExecutionNetworkConfigurationOutput) Subnets() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetTaskExecutionNetworkConfiguration) []string { return v.Subnets }).(pulumi.StringArrayOutput) +} + +type GetTaskExecutionNetworkConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (GetTaskExecutionNetworkConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetTaskExecutionNetworkConfiguration)(nil)).Elem() +} + +func (o GetTaskExecutionNetworkConfigurationPtrOutput) ToGetTaskExecutionNetworkConfigurationPtrOutput() GetTaskExecutionNetworkConfigurationPtrOutput { + return o +} + +func (o GetTaskExecutionNetworkConfigurationPtrOutput) ToGetTaskExecutionNetworkConfigurationPtrOutputWithContext(ctx context.Context) GetTaskExecutionNetworkConfigurationPtrOutput { + return o +} + +func (o GetTaskExecutionNetworkConfigurationPtrOutput) Elem() GetTaskExecutionNetworkConfigurationOutput { + return o.ApplyT(func(v *GetTaskExecutionNetworkConfiguration) GetTaskExecutionNetworkConfiguration { + if v != nil { + return *v + } + var ret GetTaskExecutionNetworkConfiguration + return ret + }).(GetTaskExecutionNetworkConfigurationOutput) +} + +// Assign a public IP address to the ENI (Fargate launch type only). Valid values are `true` or `false`. Default `false`. +func (o GetTaskExecutionNetworkConfigurationPtrOutput) AssignPublicIp() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *GetTaskExecutionNetworkConfiguration) *bool { + if v == nil { + return nil + } + return v.AssignPublicIp + }).(pulumi.BoolPtrOutput) +} + +// Security groups associated with the task or service. If you do not specify a security group, the default security group for the VPC is used. +func (o GetTaskExecutionNetworkConfigurationPtrOutput) SecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v *GetTaskExecutionNetworkConfiguration) []string { + if v == nil { + return nil + } + return v.SecurityGroups + }).(pulumi.StringArrayOutput) +} + +// Subnets associated with the task or service. +func (o GetTaskExecutionNetworkConfigurationPtrOutput) Subnets() pulumi.StringArrayOutput { + return o.ApplyT(func(v *GetTaskExecutionNetworkConfiguration) []string { + if v == nil { + return nil + } + return v.Subnets + }).(pulumi.StringArrayOutput) +} + +type GetTaskExecutionOverrides struct { + // One or more container overrides that are sent to a task. See below. + ContainerOverrides []GetTaskExecutionOverridesContainerOverride `pulumi:"containerOverrides"` + // The CPU override for the task. + Cpu *string `pulumi:"cpu"` + // Amazon Resource Name (ARN) of the task execution role override for the task. + ExecutionRoleArn *string `pulumi:"executionRoleArn"` + // Elastic Inference accelerator override for the task. See below. + InferenceAcceleratorOverrides []GetTaskExecutionOverridesInferenceAcceleratorOverride `pulumi:"inferenceAcceleratorOverrides"` + // The memory override for the task. + Memory *string `pulumi:"memory"` + // Amazon Resource Name (ARN) of the role that containers in this task can assume. + TaskRoleArn *string `pulumi:"taskRoleArn"` +} + +// GetTaskExecutionOverridesInput is an input type that accepts GetTaskExecutionOverridesArgs and GetTaskExecutionOverridesOutput values. +// You can construct a concrete instance of `GetTaskExecutionOverridesInput` via: +// +// GetTaskExecutionOverridesArgs{...} +type GetTaskExecutionOverridesInput interface { + pulumi.Input + + ToGetTaskExecutionOverridesOutput() GetTaskExecutionOverridesOutput + ToGetTaskExecutionOverridesOutputWithContext(context.Context) GetTaskExecutionOverridesOutput +} + +type GetTaskExecutionOverridesArgs struct { + // One or more container overrides that are sent to a task. See below. + ContainerOverrides GetTaskExecutionOverridesContainerOverrideArrayInput `pulumi:"containerOverrides"` + // The CPU override for the task. + Cpu pulumi.StringPtrInput `pulumi:"cpu"` + // Amazon Resource Name (ARN) of the task execution role override for the task. + ExecutionRoleArn pulumi.StringPtrInput `pulumi:"executionRoleArn"` + // Elastic Inference accelerator override for the task. See below. + InferenceAcceleratorOverrides GetTaskExecutionOverridesInferenceAcceleratorOverrideArrayInput `pulumi:"inferenceAcceleratorOverrides"` + // The memory override for the task. + Memory pulumi.StringPtrInput `pulumi:"memory"` + // Amazon Resource Name (ARN) of the role that containers in this task can assume. + TaskRoleArn pulumi.StringPtrInput `pulumi:"taskRoleArn"` +} + +func (GetTaskExecutionOverridesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetTaskExecutionOverrides)(nil)).Elem() +} + +func (i GetTaskExecutionOverridesArgs) ToGetTaskExecutionOverridesOutput() GetTaskExecutionOverridesOutput { + return i.ToGetTaskExecutionOverridesOutputWithContext(context.Background()) +} + +func (i GetTaskExecutionOverridesArgs) ToGetTaskExecutionOverridesOutputWithContext(ctx context.Context) GetTaskExecutionOverridesOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTaskExecutionOverridesOutput) +} + +func (i GetTaskExecutionOverridesArgs) ToGetTaskExecutionOverridesPtrOutput() GetTaskExecutionOverridesPtrOutput { + return i.ToGetTaskExecutionOverridesPtrOutputWithContext(context.Background()) +} + +func (i GetTaskExecutionOverridesArgs) ToGetTaskExecutionOverridesPtrOutputWithContext(ctx context.Context) GetTaskExecutionOverridesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTaskExecutionOverridesOutput).ToGetTaskExecutionOverridesPtrOutputWithContext(ctx) +} + +// GetTaskExecutionOverridesPtrInput is an input type that accepts GetTaskExecutionOverridesArgs, GetTaskExecutionOverridesPtr and GetTaskExecutionOverridesPtrOutput values. +// You can construct a concrete instance of `GetTaskExecutionOverridesPtrInput` via: +// +// GetTaskExecutionOverridesArgs{...} +// +// or: +// +// nil +type GetTaskExecutionOverridesPtrInput interface { + pulumi.Input + + ToGetTaskExecutionOverridesPtrOutput() GetTaskExecutionOverridesPtrOutput + ToGetTaskExecutionOverridesPtrOutputWithContext(context.Context) GetTaskExecutionOverridesPtrOutput +} + +type getTaskExecutionOverridesPtrType GetTaskExecutionOverridesArgs + +func GetTaskExecutionOverridesPtr(v *GetTaskExecutionOverridesArgs) GetTaskExecutionOverridesPtrInput { + return (*getTaskExecutionOverridesPtrType)(v) +} + +func (*getTaskExecutionOverridesPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetTaskExecutionOverrides)(nil)).Elem() +} + +func (i *getTaskExecutionOverridesPtrType) ToGetTaskExecutionOverridesPtrOutput() GetTaskExecutionOverridesPtrOutput { + return i.ToGetTaskExecutionOverridesPtrOutputWithContext(context.Background()) +} + +func (i *getTaskExecutionOverridesPtrType) ToGetTaskExecutionOverridesPtrOutputWithContext(ctx context.Context) GetTaskExecutionOverridesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTaskExecutionOverridesPtrOutput) +} + +type GetTaskExecutionOverridesOutput struct{ *pulumi.OutputState } + +func (GetTaskExecutionOverridesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetTaskExecutionOverrides)(nil)).Elem() +} + +func (o GetTaskExecutionOverridesOutput) ToGetTaskExecutionOverridesOutput() GetTaskExecutionOverridesOutput { + return o +} + +func (o GetTaskExecutionOverridesOutput) ToGetTaskExecutionOverridesOutputWithContext(ctx context.Context) GetTaskExecutionOverridesOutput { + return o +} + +func (o GetTaskExecutionOverridesOutput) ToGetTaskExecutionOverridesPtrOutput() GetTaskExecutionOverridesPtrOutput { + return o.ToGetTaskExecutionOverridesPtrOutputWithContext(context.Background()) +} + +func (o GetTaskExecutionOverridesOutput) ToGetTaskExecutionOverridesPtrOutputWithContext(ctx context.Context) GetTaskExecutionOverridesPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetTaskExecutionOverrides) *GetTaskExecutionOverrides { + return &v + }).(GetTaskExecutionOverridesPtrOutput) +} + +// One or more container overrides that are sent to a task. See below. +func (o GetTaskExecutionOverridesOutput) ContainerOverrides() GetTaskExecutionOverridesContainerOverrideArrayOutput { + return o.ApplyT(func(v GetTaskExecutionOverrides) []GetTaskExecutionOverridesContainerOverride { + return v.ContainerOverrides + }).(GetTaskExecutionOverridesContainerOverrideArrayOutput) +} + +// The CPU override for the task. +func (o GetTaskExecutionOverridesOutput) Cpu() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetTaskExecutionOverrides) *string { return v.Cpu }).(pulumi.StringPtrOutput) +} + +// Amazon Resource Name (ARN) of the task execution role override for the task. +func (o GetTaskExecutionOverridesOutput) ExecutionRoleArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetTaskExecutionOverrides) *string { return v.ExecutionRoleArn }).(pulumi.StringPtrOutput) +} + +// Elastic Inference accelerator override for the task. See below. +func (o GetTaskExecutionOverridesOutput) InferenceAcceleratorOverrides() GetTaskExecutionOverridesInferenceAcceleratorOverrideArrayOutput { + return o.ApplyT(func(v GetTaskExecutionOverrides) []GetTaskExecutionOverridesInferenceAcceleratorOverride { + return v.InferenceAcceleratorOverrides + }).(GetTaskExecutionOverridesInferenceAcceleratorOverrideArrayOutput) +} + +// The memory override for the task. +func (o GetTaskExecutionOverridesOutput) Memory() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetTaskExecutionOverrides) *string { return v.Memory }).(pulumi.StringPtrOutput) +} + +// Amazon Resource Name (ARN) of the role that containers in this task can assume. +func (o GetTaskExecutionOverridesOutput) TaskRoleArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetTaskExecutionOverrides) *string { return v.TaskRoleArn }).(pulumi.StringPtrOutput) +} + +type GetTaskExecutionOverridesPtrOutput struct{ *pulumi.OutputState } + +func (GetTaskExecutionOverridesPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetTaskExecutionOverrides)(nil)).Elem() +} + +func (o GetTaskExecutionOverridesPtrOutput) ToGetTaskExecutionOverridesPtrOutput() GetTaskExecutionOverridesPtrOutput { + return o +} + +func (o GetTaskExecutionOverridesPtrOutput) ToGetTaskExecutionOverridesPtrOutputWithContext(ctx context.Context) GetTaskExecutionOverridesPtrOutput { + return o +} + +func (o GetTaskExecutionOverridesPtrOutput) Elem() GetTaskExecutionOverridesOutput { + return o.ApplyT(func(v *GetTaskExecutionOverrides) GetTaskExecutionOverrides { + if v != nil { + return *v + } + var ret GetTaskExecutionOverrides + return ret + }).(GetTaskExecutionOverridesOutput) +} + +// One or more container overrides that are sent to a task. See below. +func (o GetTaskExecutionOverridesPtrOutput) ContainerOverrides() GetTaskExecutionOverridesContainerOverrideArrayOutput { + return o.ApplyT(func(v *GetTaskExecutionOverrides) []GetTaskExecutionOverridesContainerOverride { + if v == nil { + return nil + } + return v.ContainerOverrides + }).(GetTaskExecutionOverridesContainerOverrideArrayOutput) +} + +// The CPU override for the task. +func (o GetTaskExecutionOverridesPtrOutput) Cpu() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetTaskExecutionOverrides) *string { + if v == nil { + return nil + } + return v.Cpu + }).(pulumi.StringPtrOutput) +} + +// Amazon Resource Name (ARN) of the task execution role override for the task. +func (o GetTaskExecutionOverridesPtrOutput) ExecutionRoleArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetTaskExecutionOverrides) *string { + if v == nil { + return nil + } + return v.ExecutionRoleArn + }).(pulumi.StringPtrOutput) +} + +// Elastic Inference accelerator override for the task. See below. +func (o GetTaskExecutionOverridesPtrOutput) InferenceAcceleratorOverrides() GetTaskExecutionOverridesInferenceAcceleratorOverrideArrayOutput { + return o.ApplyT(func(v *GetTaskExecutionOverrides) []GetTaskExecutionOverridesInferenceAcceleratorOverride { + if v == nil { + return nil + } + return v.InferenceAcceleratorOverrides + }).(GetTaskExecutionOverridesInferenceAcceleratorOverrideArrayOutput) +} + +// The memory override for the task. +func (o GetTaskExecutionOverridesPtrOutput) Memory() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetTaskExecutionOverrides) *string { + if v == nil { + return nil + } + return v.Memory + }).(pulumi.StringPtrOutput) +} + +// Amazon Resource Name (ARN) of the role that containers in this task can assume. +func (o GetTaskExecutionOverridesPtrOutput) TaskRoleArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetTaskExecutionOverrides) *string { + if v == nil { + return nil + } + return v.TaskRoleArn + }).(pulumi.StringPtrOutput) +} + +type GetTaskExecutionOverridesContainerOverride struct { + // The command to send to the container that overrides the default command from the Docker image or the task definition. + Commands []string `pulumi:"commands"` + // The number of cpu units reserved for the container, instead of the default value from the task definition. + Cpu *int `pulumi:"cpu"` + // The environment variables to send to the container. You can add new environment variables, which are added to the container at launch, or you can override the existing environment variables from the Docker image or the task definition. See below. + Environments []GetTaskExecutionOverridesContainerOverrideEnvironment `pulumi:"environments"` + // The hard limit (in MiB) of memory to present to the container, instead of the default value from the task definition. If your container attempts to exceed the memory specified here, the container is killed. + Memory *int `pulumi:"memory"` + // The soft limit (in MiB) of memory to reserve for the container, instead of the default value from the task definition. + MemoryReservation *int `pulumi:"memoryReservation"` + // The name of the container that receives the override. This parameter is required if any override is specified. + Name string `pulumi:"name"` + // The type and amount of a resource to assign to a container, instead of the default value from the task definition. The only supported resource is a GPU. See below. + ResourceRequirements []GetTaskExecutionOverridesContainerOverrideResourceRequirement `pulumi:"resourceRequirements"` +} + +// GetTaskExecutionOverridesContainerOverrideInput is an input type that accepts GetTaskExecutionOverridesContainerOverrideArgs and GetTaskExecutionOverridesContainerOverrideOutput values. +// You can construct a concrete instance of `GetTaskExecutionOverridesContainerOverrideInput` via: +// +// GetTaskExecutionOverridesContainerOverrideArgs{...} +type GetTaskExecutionOverridesContainerOverrideInput interface { + pulumi.Input + + ToGetTaskExecutionOverridesContainerOverrideOutput() GetTaskExecutionOverridesContainerOverrideOutput + ToGetTaskExecutionOverridesContainerOverrideOutputWithContext(context.Context) GetTaskExecutionOverridesContainerOverrideOutput +} + +type GetTaskExecutionOverridesContainerOverrideArgs struct { + // The command to send to the container that overrides the default command from the Docker image or the task definition. + Commands pulumi.StringArrayInput `pulumi:"commands"` + // The number of cpu units reserved for the container, instead of the default value from the task definition. + Cpu pulumi.IntPtrInput `pulumi:"cpu"` + // The environment variables to send to the container. You can add new environment variables, which are added to the container at launch, or you can override the existing environment variables from the Docker image or the task definition. See below. + Environments GetTaskExecutionOverridesContainerOverrideEnvironmentArrayInput `pulumi:"environments"` + // The hard limit (in MiB) of memory to present to the container, instead of the default value from the task definition. If your container attempts to exceed the memory specified here, the container is killed. + Memory pulumi.IntPtrInput `pulumi:"memory"` + // The soft limit (in MiB) of memory to reserve for the container, instead of the default value from the task definition. + MemoryReservation pulumi.IntPtrInput `pulumi:"memoryReservation"` + // The name of the container that receives the override. This parameter is required if any override is specified. + Name pulumi.StringInput `pulumi:"name"` + // The type and amount of a resource to assign to a container, instead of the default value from the task definition. The only supported resource is a GPU. See below. + ResourceRequirements GetTaskExecutionOverridesContainerOverrideResourceRequirementArrayInput `pulumi:"resourceRequirements"` +} + +func (GetTaskExecutionOverridesContainerOverrideArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetTaskExecutionOverridesContainerOverride)(nil)).Elem() +} + +func (i GetTaskExecutionOverridesContainerOverrideArgs) ToGetTaskExecutionOverridesContainerOverrideOutput() GetTaskExecutionOverridesContainerOverrideOutput { + return i.ToGetTaskExecutionOverridesContainerOverrideOutputWithContext(context.Background()) +} + +func (i GetTaskExecutionOverridesContainerOverrideArgs) ToGetTaskExecutionOverridesContainerOverrideOutputWithContext(ctx context.Context) GetTaskExecutionOverridesContainerOverrideOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTaskExecutionOverridesContainerOverrideOutput) +} + +// GetTaskExecutionOverridesContainerOverrideArrayInput is an input type that accepts GetTaskExecutionOverridesContainerOverrideArray and GetTaskExecutionOverridesContainerOverrideArrayOutput values. +// You can construct a concrete instance of `GetTaskExecutionOverridesContainerOverrideArrayInput` via: +// +// GetTaskExecutionOverridesContainerOverrideArray{ GetTaskExecutionOverridesContainerOverrideArgs{...} } +type GetTaskExecutionOverridesContainerOverrideArrayInput interface { + pulumi.Input + + ToGetTaskExecutionOverridesContainerOverrideArrayOutput() GetTaskExecutionOverridesContainerOverrideArrayOutput + ToGetTaskExecutionOverridesContainerOverrideArrayOutputWithContext(context.Context) GetTaskExecutionOverridesContainerOverrideArrayOutput +} + +type GetTaskExecutionOverridesContainerOverrideArray []GetTaskExecutionOverridesContainerOverrideInput + +func (GetTaskExecutionOverridesContainerOverrideArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTaskExecutionOverridesContainerOverride)(nil)).Elem() +} + +func (i GetTaskExecutionOverridesContainerOverrideArray) ToGetTaskExecutionOverridesContainerOverrideArrayOutput() GetTaskExecutionOverridesContainerOverrideArrayOutput { + return i.ToGetTaskExecutionOverridesContainerOverrideArrayOutputWithContext(context.Background()) +} + +func (i GetTaskExecutionOverridesContainerOverrideArray) ToGetTaskExecutionOverridesContainerOverrideArrayOutputWithContext(ctx context.Context) GetTaskExecutionOverridesContainerOverrideArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTaskExecutionOverridesContainerOverrideArrayOutput) +} + +type GetTaskExecutionOverridesContainerOverrideOutput struct{ *pulumi.OutputState } + +func (GetTaskExecutionOverridesContainerOverrideOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetTaskExecutionOverridesContainerOverride)(nil)).Elem() +} + +func (o GetTaskExecutionOverridesContainerOverrideOutput) ToGetTaskExecutionOverridesContainerOverrideOutput() GetTaskExecutionOverridesContainerOverrideOutput { + return o +} + +func (o GetTaskExecutionOverridesContainerOverrideOutput) ToGetTaskExecutionOverridesContainerOverrideOutputWithContext(ctx context.Context) GetTaskExecutionOverridesContainerOverrideOutput { + return o +} + +// The command to send to the container that overrides the default command from the Docker image or the task definition. +func (o GetTaskExecutionOverridesContainerOverrideOutput) Commands() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetTaskExecutionOverridesContainerOverride) []string { return v.Commands }).(pulumi.StringArrayOutput) +} + +// The number of cpu units reserved for the container, instead of the default value from the task definition. +func (o GetTaskExecutionOverridesContainerOverrideOutput) Cpu() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetTaskExecutionOverridesContainerOverride) *int { return v.Cpu }).(pulumi.IntPtrOutput) +} + +// The environment variables to send to the container. You can add new environment variables, which are added to the container at launch, or you can override the existing environment variables from the Docker image or the task definition. See below. +func (o GetTaskExecutionOverridesContainerOverrideOutput) Environments() GetTaskExecutionOverridesContainerOverrideEnvironmentArrayOutput { + return o.ApplyT(func(v GetTaskExecutionOverridesContainerOverride) []GetTaskExecutionOverridesContainerOverrideEnvironment { + return v.Environments + }).(GetTaskExecutionOverridesContainerOverrideEnvironmentArrayOutput) +} + +// The hard limit (in MiB) of memory to present to the container, instead of the default value from the task definition. If your container attempts to exceed the memory specified here, the container is killed. +func (o GetTaskExecutionOverridesContainerOverrideOutput) Memory() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetTaskExecutionOverridesContainerOverride) *int { return v.Memory }).(pulumi.IntPtrOutput) +} + +// The soft limit (in MiB) of memory to reserve for the container, instead of the default value from the task definition. +func (o GetTaskExecutionOverridesContainerOverrideOutput) MemoryReservation() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetTaskExecutionOverridesContainerOverride) *int { return v.MemoryReservation }).(pulumi.IntPtrOutput) +} + +// The name of the container that receives the override. This parameter is required if any override is specified. +func (o GetTaskExecutionOverridesContainerOverrideOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetTaskExecutionOverridesContainerOverride) string { return v.Name }).(pulumi.StringOutput) +} + +// The type and amount of a resource to assign to a container, instead of the default value from the task definition. The only supported resource is a GPU. See below. +func (o GetTaskExecutionOverridesContainerOverrideOutput) ResourceRequirements() GetTaskExecutionOverridesContainerOverrideResourceRequirementArrayOutput { + return o.ApplyT(func(v GetTaskExecutionOverridesContainerOverride) []GetTaskExecutionOverridesContainerOverrideResourceRequirement { + return v.ResourceRequirements + }).(GetTaskExecutionOverridesContainerOverrideResourceRequirementArrayOutput) +} + +type GetTaskExecutionOverridesContainerOverrideArrayOutput struct{ *pulumi.OutputState } + +func (GetTaskExecutionOverridesContainerOverrideArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTaskExecutionOverridesContainerOverride)(nil)).Elem() +} + +func (o GetTaskExecutionOverridesContainerOverrideArrayOutput) ToGetTaskExecutionOverridesContainerOverrideArrayOutput() GetTaskExecutionOverridesContainerOverrideArrayOutput { + return o +} + +func (o GetTaskExecutionOverridesContainerOverrideArrayOutput) ToGetTaskExecutionOverridesContainerOverrideArrayOutputWithContext(ctx context.Context) GetTaskExecutionOverridesContainerOverrideArrayOutput { + return o +} + +func (o GetTaskExecutionOverridesContainerOverrideArrayOutput) Index(i pulumi.IntInput) GetTaskExecutionOverridesContainerOverrideOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetTaskExecutionOverridesContainerOverride { + return vs[0].([]GetTaskExecutionOverridesContainerOverride)[vs[1].(int)] + }).(GetTaskExecutionOverridesContainerOverrideOutput) +} + +type GetTaskExecutionOverridesContainerOverrideEnvironment struct { + // The name of the key-value pair. For environment variables, this is the name of the environment variable. + Key string `pulumi:"key"` + // The value of the key-value pair. For environment variables, this is the value of the environment variable. + Value string `pulumi:"value"` +} + +// GetTaskExecutionOverridesContainerOverrideEnvironmentInput is an input type that accepts GetTaskExecutionOverridesContainerOverrideEnvironmentArgs and GetTaskExecutionOverridesContainerOverrideEnvironmentOutput values. +// You can construct a concrete instance of `GetTaskExecutionOverridesContainerOverrideEnvironmentInput` via: +// +// GetTaskExecutionOverridesContainerOverrideEnvironmentArgs{...} +type GetTaskExecutionOverridesContainerOverrideEnvironmentInput interface { + pulumi.Input + + ToGetTaskExecutionOverridesContainerOverrideEnvironmentOutput() GetTaskExecutionOverridesContainerOverrideEnvironmentOutput + ToGetTaskExecutionOverridesContainerOverrideEnvironmentOutputWithContext(context.Context) GetTaskExecutionOverridesContainerOverrideEnvironmentOutput +} + +type GetTaskExecutionOverridesContainerOverrideEnvironmentArgs struct { + // The name of the key-value pair. For environment variables, this is the name of the environment variable. + Key pulumi.StringInput `pulumi:"key"` + // The value of the key-value pair. For environment variables, this is the value of the environment variable. + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetTaskExecutionOverridesContainerOverrideEnvironmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetTaskExecutionOverridesContainerOverrideEnvironment)(nil)).Elem() +} + +func (i GetTaskExecutionOverridesContainerOverrideEnvironmentArgs) ToGetTaskExecutionOverridesContainerOverrideEnvironmentOutput() GetTaskExecutionOverridesContainerOverrideEnvironmentOutput { + return i.ToGetTaskExecutionOverridesContainerOverrideEnvironmentOutputWithContext(context.Background()) +} + +func (i GetTaskExecutionOverridesContainerOverrideEnvironmentArgs) ToGetTaskExecutionOverridesContainerOverrideEnvironmentOutputWithContext(ctx context.Context) GetTaskExecutionOverridesContainerOverrideEnvironmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTaskExecutionOverridesContainerOverrideEnvironmentOutput) +} + +// GetTaskExecutionOverridesContainerOverrideEnvironmentArrayInput is an input type that accepts GetTaskExecutionOverridesContainerOverrideEnvironmentArray and GetTaskExecutionOverridesContainerOverrideEnvironmentArrayOutput values. +// You can construct a concrete instance of `GetTaskExecutionOverridesContainerOverrideEnvironmentArrayInput` via: +// +// GetTaskExecutionOverridesContainerOverrideEnvironmentArray{ GetTaskExecutionOverridesContainerOverrideEnvironmentArgs{...} } +type GetTaskExecutionOverridesContainerOverrideEnvironmentArrayInput interface { + pulumi.Input + + ToGetTaskExecutionOverridesContainerOverrideEnvironmentArrayOutput() GetTaskExecutionOverridesContainerOverrideEnvironmentArrayOutput + ToGetTaskExecutionOverridesContainerOverrideEnvironmentArrayOutputWithContext(context.Context) GetTaskExecutionOverridesContainerOverrideEnvironmentArrayOutput +} + +type GetTaskExecutionOverridesContainerOverrideEnvironmentArray []GetTaskExecutionOverridesContainerOverrideEnvironmentInput + +func (GetTaskExecutionOverridesContainerOverrideEnvironmentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTaskExecutionOverridesContainerOverrideEnvironment)(nil)).Elem() +} + +func (i GetTaskExecutionOverridesContainerOverrideEnvironmentArray) ToGetTaskExecutionOverridesContainerOverrideEnvironmentArrayOutput() GetTaskExecutionOverridesContainerOverrideEnvironmentArrayOutput { + return i.ToGetTaskExecutionOverridesContainerOverrideEnvironmentArrayOutputWithContext(context.Background()) +} + +func (i GetTaskExecutionOverridesContainerOverrideEnvironmentArray) ToGetTaskExecutionOverridesContainerOverrideEnvironmentArrayOutputWithContext(ctx context.Context) GetTaskExecutionOverridesContainerOverrideEnvironmentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTaskExecutionOverridesContainerOverrideEnvironmentArrayOutput) +} + +type GetTaskExecutionOverridesContainerOverrideEnvironmentOutput struct{ *pulumi.OutputState } + +func (GetTaskExecutionOverridesContainerOverrideEnvironmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetTaskExecutionOverridesContainerOverrideEnvironment)(nil)).Elem() +} + +func (o GetTaskExecutionOverridesContainerOverrideEnvironmentOutput) ToGetTaskExecutionOverridesContainerOverrideEnvironmentOutput() GetTaskExecutionOverridesContainerOverrideEnvironmentOutput { + return o +} + +func (o GetTaskExecutionOverridesContainerOverrideEnvironmentOutput) ToGetTaskExecutionOverridesContainerOverrideEnvironmentOutputWithContext(ctx context.Context) GetTaskExecutionOverridesContainerOverrideEnvironmentOutput { + return o +} + +// The name of the key-value pair. For environment variables, this is the name of the environment variable. +func (o GetTaskExecutionOverridesContainerOverrideEnvironmentOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetTaskExecutionOverridesContainerOverrideEnvironment) string { return v.Key }).(pulumi.StringOutput) +} + +// The value of the key-value pair. For environment variables, this is the value of the environment variable. +func (o GetTaskExecutionOverridesContainerOverrideEnvironmentOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetTaskExecutionOverridesContainerOverrideEnvironment) string { return v.Value }).(pulumi.StringOutput) +} + +type GetTaskExecutionOverridesContainerOverrideEnvironmentArrayOutput struct{ *pulumi.OutputState } + +func (GetTaskExecutionOverridesContainerOverrideEnvironmentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTaskExecutionOverridesContainerOverrideEnvironment)(nil)).Elem() +} + +func (o GetTaskExecutionOverridesContainerOverrideEnvironmentArrayOutput) ToGetTaskExecutionOverridesContainerOverrideEnvironmentArrayOutput() GetTaskExecutionOverridesContainerOverrideEnvironmentArrayOutput { + return o +} + +func (o GetTaskExecutionOverridesContainerOverrideEnvironmentArrayOutput) ToGetTaskExecutionOverridesContainerOverrideEnvironmentArrayOutputWithContext(ctx context.Context) GetTaskExecutionOverridesContainerOverrideEnvironmentArrayOutput { + return o +} + +func (o GetTaskExecutionOverridesContainerOverrideEnvironmentArrayOutput) Index(i pulumi.IntInput) GetTaskExecutionOverridesContainerOverrideEnvironmentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetTaskExecutionOverridesContainerOverrideEnvironment { + return vs[0].([]GetTaskExecutionOverridesContainerOverrideEnvironment)[vs[1].(int)] + }).(GetTaskExecutionOverridesContainerOverrideEnvironmentOutput) +} + +type GetTaskExecutionOverridesContainerOverrideResourceRequirement struct { + // The type of resource to assign to a container. Valid values are `GPU` or `InferenceAccelerator`. + Type string `pulumi:"type"` + // The value for the specified resource type. If the `GPU` type is used, the value is the number of physical GPUs the Amazon ECS container agent reserves for the container. The number of GPUs that's reserved for all containers in a task can't exceed the number of available GPUs on the container instance that the task is launched on. If the `InferenceAccelerator` type is used, the value matches the `deviceName` for an InferenceAccelerator specified in a task definition. + Value string `pulumi:"value"` +} + +// GetTaskExecutionOverridesContainerOverrideResourceRequirementInput is an input type that accepts GetTaskExecutionOverridesContainerOverrideResourceRequirementArgs and GetTaskExecutionOverridesContainerOverrideResourceRequirementOutput values. +// You can construct a concrete instance of `GetTaskExecutionOverridesContainerOverrideResourceRequirementInput` via: +// +// GetTaskExecutionOverridesContainerOverrideResourceRequirementArgs{...} +type GetTaskExecutionOverridesContainerOverrideResourceRequirementInput interface { + pulumi.Input + + ToGetTaskExecutionOverridesContainerOverrideResourceRequirementOutput() GetTaskExecutionOverridesContainerOverrideResourceRequirementOutput + ToGetTaskExecutionOverridesContainerOverrideResourceRequirementOutputWithContext(context.Context) GetTaskExecutionOverridesContainerOverrideResourceRequirementOutput +} + +type GetTaskExecutionOverridesContainerOverrideResourceRequirementArgs struct { + // The type of resource to assign to a container. Valid values are `GPU` or `InferenceAccelerator`. + Type pulumi.StringInput `pulumi:"type"` + // The value for the specified resource type. If the `GPU` type is used, the value is the number of physical GPUs the Amazon ECS container agent reserves for the container. The number of GPUs that's reserved for all containers in a task can't exceed the number of available GPUs on the container instance that the task is launched on. If the `InferenceAccelerator` type is used, the value matches the `deviceName` for an InferenceAccelerator specified in a task definition. + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetTaskExecutionOverridesContainerOverrideResourceRequirementArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetTaskExecutionOverridesContainerOverrideResourceRequirement)(nil)).Elem() +} + +func (i GetTaskExecutionOverridesContainerOverrideResourceRequirementArgs) ToGetTaskExecutionOverridesContainerOverrideResourceRequirementOutput() GetTaskExecutionOverridesContainerOverrideResourceRequirementOutput { + return i.ToGetTaskExecutionOverridesContainerOverrideResourceRequirementOutputWithContext(context.Background()) +} + +func (i GetTaskExecutionOverridesContainerOverrideResourceRequirementArgs) ToGetTaskExecutionOverridesContainerOverrideResourceRequirementOutputWithContext(ctx context.Context) GetTaskExecutionOverridesContainerOverrideResourceRequirementOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTaskExecutionOverridesContainerOverrideResourceRequirementOutput) +} + +// GetTaskExecutionOverridesContainerOverrideResourceRequirementArrayInput is an input type that accepts GetTaskExecutionOverridesContainerOverrideResourceRequirementArray and GetTaskExecutionOverridesContainerOverrideResourceRequirementArrayOutput values. +// You can construct a concrete instance of `GetTaskExecutionOverridesContainerOverrideResourceRequirementArrayInput` via: +// +// GetTaskExecutionOverridesContainerOverrideResourceRequirementArray{ GetTaskExecutionOverridesContainerOverrideResourceRequirementArgs{...} } +type GetTaskExecutionOverridesContainerOverrideResourceRequirementArrayInput interface { + pulumi.Input + + ToGetTaskExecutionOverridesContainerOverrideResourceRequirementArrayOutput() GetTaskExecutionOverridesContainerOverrideResourceRequirementArrayOutput + ToGetTaskExecutionOverridesContainerOverrideResourceRequirementArrayOutputWithContext(context.Context) GetTaskExecutionOverridesContainerOverrideResourceRequirementArrayOutput +} + +type GetTaskExecutionOverridesContainerOverrideResourceRequirementArray []GetTaskExecutionOverridesContainerOverrideResourceRequirementInput + +func (GetTaskExecutionOverridesContainerOverrideResourceRequirementArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTaskExecutionOverridesContainerOverrideResourceRequirement)(nil)).Elem() +} + +func (i GetTaskExecutionOverridesContainerOverrideResourceRequirementArray) ToGetTaskExecutionOverridesContainerOverrideResourceRequirementArrayOutput() GetTaskExecutionOverridesContainerOverrideResourceRequirementArrayOutput { + return i.ToGetTaskExecutionOverridesContainerOverrideResourceRequirementArrayOutputWithContext(context.Background()) +} + +func (i GetTaskExecutionOverridesContainerOverrideResourceRequirementArray) ToGetTaskExecutionOverridesContainerOverrideResourceRequirementArrayOutputWithContext(ctx context.Context) GetTaskExecutionOverridesContainerOverrideResourceRequirementArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTaskExecutionOverridesContainerOverrideResourceRequirementArrayOutput) +} + +type GetTaskExecutionOverridesContainerOverrideResourceRequirementOutput struct{ *pulumi.OutputState } + +func (GetTaskExecutionOverridesContainerOverrideResourceRequirementOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetTaskExecutionOverridesContainerOverrideResourceRequirement)(nil)).Elem() +} + +func (o GetTaskExecutionOverridesContainerOverrideResourceRequirementOutput) ToGetTaskExecutionOverridesContainerOverrideResourceRequirementOutput() GetTaskExecutionOverridesContainerOverrideResourceRequirementOutput { + return o +} + +func (o GetTaskExecutionOverridesContainerOverrideResourceRequirementOutput) ToGetTaskExecutionOverridesContainerOverrideResourceRequirementOutputWithContext(ctx context.Context) GetTaskExecutionOverridesContainerOverrideResourceRequirementOutput { + return o +} + +// The type of resource to assign to a container. Valid values are `GPU` or `InferenceAccelerator`. +func (o GetTaskExecutionOverridesContainerOverrideResourceRequirementOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetTaskExecutionOverridesContainerOverrideResourceRequirement) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for the specified resource type. If the `GPU` type is used, the value is the number of physical GPUs the Amazon ECS container agent reserves for the container. The number of GPUs that's reserved for all containers in a task can't exceed the number of available GPUs on the container instance that the task is launched on. If the `InferenceAccelerator` type is used, the value matches the `deviceName` for an InferenceAccelerator specified in a task definition. +func (o GetTaskExecutionOverridesContainerOverrideResourceRequirementOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetTaskExecutionOverridesContainerOverrideResourceRequirement) string { return v.Value }).(pulumi.StringOutput) +} + +type GetTaskExecutionOverridesContainerOverrideResourceRequirementArrayOutput struct{ *pulumi.OutputState } + +func (GetTaskExecutionOverridesContainerOverrideResourceRequirementArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTaskExecutionOverridesContainerOverrideResourceRequirement)(nil)).Elem() +} + +func (o GetTaskExecutionOverridesContainerOverrideResourceRequirementArrayOutput) ToGetTaskExecutionOverridesContainerOverrideResourceRequirementArrayOutput() GetTaskExecutionOverridesContainerOverrideResourceRequirementArrayOutput { + return o +} + +func (o GetTaskExecutionOverridesContainerOverrideResourceRequirementArrayOutput) ToGetTaskExecutionOverridesContainerOverrideResourceRequirementArrayOutputWithContext(ctx context.Context) GetTaskExecutionOverridesContainerOverrideResourceRequirementArrayOutput { + return o +} + +func (o GetTaskExecutionOverridesContainerOverrideResourceRequirementArrayOutput) Index(i pulumi.IntInput) GetTaskExecutionOverridesContainerOverrideResourceRequirementOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetTaskExecutionOverridesContainerOverrideResourceRequirement { + return vs[0].([]GetTaskExecutionOverridesContainerOverrideResourceRequirement)[vs[1].(int)] + }).(GetTaskExecutionOverridesContainerOverrideResourceRequirementOutput) +} + +type GetTaskExecutionOverridesInferenceAcceleratorOverride struct { + // The Elastic Inference accelerator device name to override for the task. This parameter must match a deviceName specified in the task definition. + DeviceName *string `pulumi:"deviceName"` + // The Elastic Inference accelerator type to use. + DeviceType *string `pulumi:"deviceType"` +} + +// GetTaskExecutionOverridesInferenceAcceleratorOverrideInput is an input type that accepts GetTaskExecutionOverridesInferenceAcceleratorOverrideArgs and GetTaskExecutionOverridesInferenceAcceleratorOverrideOutput values. +// You can construct a concrete instance of `GetTaskExecutionOverridesInferenceAcceleratorOverrideInput` via: +// +// GetTaskExecutionOverridesInferenceAcceleratorOverrideArgs{...} +type GetTaskExecutionOverridesInferenceAcceleratorOverrideInput interface { + pulumi.Input + + ToGetTaskExecutionOverridesInferenceAcceleratorOverrideOutput() GetTaskExecutionOverridesInferenceAcceleratorOverrideOutput + ToGetTaskExecutionOverridesInferenceAcceleratorOverrideOutputWithContext(context.Context) GetTaskExecutionOverridesInferenceAcceleratorOverrideOutput +} + +type GetTaskExecutionOverridesInferenceAcceleratorOverrideArgs struct { + // The Elastic Inference accelerator device name to override for the task. This parameter must match a deviceName specified in the task definition. + DeviceName pulumi.StringPtrInput `pulumi:"deviceName"` + // The Elastic Inference accelerator type to use. + DeviceType pulumi.StringPtrInput `pulumi:"deviceType"` +} + +func (GetTaskExecutionOverridesInferenceAcceleratorOverrideArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetTaskExecutionOverridesInferenceAcceleratorOverride)(nil)).Elem() +} + +func (i GetTaskExecutionOverridesInferenceAcceleratorOverrideArgs) ToGetTaskExecutionOverridesInferenceAcceleratorOverrideOutput() GetTaskExecutionOverridesInferenceAcceleratorOverrideOutput { + return i.ToGetTaskExecutionOverridesInferenceAcceleratorOverrideOutputWithContext(context.Background()) +} + +func (i GetTaskExecutionOverridesInferenceAcceleratorOverrideArgs) ToGetTaskExecutionOverridesInferenceAcceleratorOverrideOutputWithContext(ctx context.Context) GetTaskExecutionOverridesInferenceAcceleratorOverrideOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTaskExecutionOverridesInferenceAcceleratorOverrideOutput) +} + +// GetTaskExecutionOverridesInferenceAcceleratorOverrideArrayInput is an input type that accepts GetTaskExecutionOverridesInferenceAcceleratorOverrideArray and GetTaskExecutionOverridesInferenceAcceleratorOverrideArrayOutput values. +// You can construct a concrete instance of `GetTaskExecutionOverridesInferenceAcceleratorOverrideArrayInput` via: +// +// GetTaskExecutionOverridesInferenceAcceleratorOverrideArray{ GetTaskExecutionOverridesInferenceAcceleratorOverrideArgs{...} } +type GetTaskExecutionOverridesInferenceAcceleratorOverrideArrayInput interface { + pulumi.Input + + ToGetTaskExecutionOverridesInferenceAcceleratorOverrideArrayOutput() GetTaskExecutionOverridesInferenceAcceleratorOverrideArrayOutput + ToGetTaskExecutionOverridesInferenceAcceleratorOverrideArrayOutputWithContext(context.Context) GetTaskExecutionOverridesInferenceAcceleratorOverrideArrayOutput +} + +type GetTaskExecutionOverridesInferenceAcceleratorOverrideArray []GetTaskExecutionOverridesInferenceAcceleratorOverrideInput + +func (GetTaskExecutionOverridesInferenceAcceleratorOverrideArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTaskExecutionOverridesInferenceAcceleratorOverride)(nil)).Elem() +} + +func (i GetTaskExecutionOverridesInferenceAcceleratorOverrideArray) ToGetTaskExecutionOverridesInferenceAcceleratorOverrideArrayOutput() GetTaskExecutionOverridesInferenceAcceleratorOverrideArrayOutput { + return i.ToGetTaskExecutionOverridesInferenceAcceleratorOverrideArrayOutputWithContext(context.Background()) +} + +func (i GetTaskExecutionOverridesInferenceAcceleratorOverrideArray) ToGetTaskExecutionOverridesInferenceAcceleratorOverrideArrayOutputWithContext(ctx context.Context) GetTaskExecutionOverridesInferenceAcceleratorOverrideArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTaskExecutionOverridesInferenceAcceleratorOverrideArrayOutput) +} + +type GetTaskExecutionOverridesInferenceAcceleratorOverrideOutput struct{ *pulumi.OutputState } + +func (GetTaskExecutionOverridesInferenceAcceleratorOverrideOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetTaskExecutionOverridesInferenceAcceleratorOverride)(nil)).Elem() +} + +func (o GetTaskExecutionOverridesInferenceAcceleratorOverrideOutput) ToGetTaskExecutionOverridesInferenceAcceleratorOverrideOutput() GetTaskExecutionOverridesInferenceAcceleratorOverrideOutput { + return o +} + +func (o GetTaskExecutionOverridesInferenceAcceleratorOverrideOutput) ToGetTaskExecutionOverridesInferenceAcceleratorOverrideOutputWithContext(ctx context.Context) GetTaskExecutionOverridesInferenceAcceleratorOverrideOutput { + return o +} + +// The Elastic Inference accelerator device name to override for the task. This parameter must match a deviceName specified in the task definition. +func (o GetTaskExecutionOverridesInferenceAcceleratorOverrideOutput) DeviceName() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetTaskExecutionOverridesInferenceAcceleratorOverride) *string { return v.DeviceName }).(pulumi.StringPtrOutput) +} + +// The Elastic Inference accelerator type to use. +func (o GetTaskExecutionOverridesInferenceAcceleratorOverrideOutput) DeviceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetTaskExecutionOverridesInferenceAcceleratorOverride) *string { return v.DeviceType }).(pulumi.StringPtrOutput) +} + +type GetTaskExecutionOverridesInferenceAcceleratorOverrideArrayOutput struct{ *pulumi.OutputState } + +func (GetTaskExecutionOverridesInferenceAcceleratorOverrideArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTaskExecutionOverridesInferenceAcceleratorOverride)(nil)).Elem() +} + +func (o GetTaskExecutionOverridesInferenceAcceleratorOverrideArrayOutput) ToGetTaskExecutionOverridesInferenceAcceleratorOverrideArrayOutput() GetTaskExecutionOverridesInferenceAcceleratorOverrideArrayOutput { + return o +} + +func (o GetTaskExecutionOverridesInferenceAcceleratorOverrideArrayOutput) ToGetTaskExecutionOverridesInferenceAcceleratorOverrideArrayOutputWithContext(ctx context.Context) GetTaskExecutionOverridesInferenceAcceleratorOverrideArrayOutput { + return o +} + +func (o GetTaskExecutionOverridesInferenceAcceleratorOverrideArrayOutput) Index(i pulumi.IntInput) GetTaskExecutionOverridesInferenceAcceleratorOverrideOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetTaskExecutionOverridesInferenceAcceleratorOverride { + return vs[0].([]GetTaskExecutionOverridesInferenceAcceleratorOverride)[vs[1].(int)] + }).(GetTaskExecutionOverridesInferenceAcceleratorOverrideOutput) +} + +type GetTaskExecutionPlacementConstraint struct { + // A cluster query language expression to apply to the constraint. The expression can have a maximum length of 2000 characters. You can't specify an expression if the constraint type is `distinctInstance`. + Expression *string `pulumi:"expression"` + // The type of constraint. Valid values are `distinctInstance` or `memberOf`. Use `distinctInstance` to ensure that each task in a particular group is running on a different container instance. Use `memberOf` to restrict the selection to a group of valid candidates. + Type string `pulumi:"type"` +} + +// GetTaskExecutionPlacementConstraintInput is an input type that accepts GetTaskExecutionPlacementConstraintArgs and GetTaskExecutionPlacementConstraintOutput values. +// You can construct a concrete instance of `GetTaskExecutionPlacementConstraintInput` via: +// +// GetTaskExecutionPlacementConstraintArgs{...} +type GetTaskExecutionPlacementConstraintInput interface { + pulumi.Input + + ToGetTaskExecutionPlacementConstraintOutput() GetTaskExecutionPlacementConstraintOutput + ToGetTaskExecutionPlacementConstraintOutputWithContext(context.Context) GetTaskExecutionPlacementConstraintOutput +} + +type GetTaskExecutionPlacementConstraintArgs struct { + // A cluster query language expression to apply to the constraint. The expression can have a maximum length of 2000 characters. You can't specify an expression if the constraint type is `distinctInstance`. + Expression pulumi.StringPtrInput `pulumi:"expression"` + // The type of constraint. Valid values are `distinctInstance` or `memberOf`. Use `distinctInstance` to ensure that each task in a particular group is running on a different container instance. Use `memberOf` to restrict the selection to a group of valid candidates. + Type pulumi.StringInput `pulumi:"type"` +} + +func (GetTaskExecutionPlacementConstraintArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetTaskExecutionPlacementConstraint)(nil)).Elem() +} + +func (i GetTaskExecutionPlacementConstraintArgs) ToGetTaskExecutionPlacementConstraintOutput() GetTaskExecutionPlacementConstraintOutput { + return i.ToGetTaskExecutionPlacementConstraintOutputWithContext(context.Background()) +} + +func (i GetTaskExecutionPlacementConstraintArgs) ToGetTaskExecutionPlacementConstraintOutputWithContext(ctx context.Context) GetTaskExecutionPlacementConstraintOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTaskExecutionPlacementConstraintOutput) +} + +// GetTaskExecutionPlacementConstraintArrayInput is an input type that accepts GetTaskExecutionPlacementConstraintArray and GetTaskExecutionPlacementConstraintArrayOutput values. +// You can construct a concrete instance of `GetTaskExecutionPlacementConstraintArrayInput` via: +// +// GetTaskExecutionPlacementConstraintArray{ GetTaskExecutionPlacementConstraintArgs{...} } +type GetTaskExecutionPlacementConstraintArrayInput interface { + pulumi.Input + + ToGetTaskExecutionPlacementConstraintArrayOutput() GetTaskExecutionPlacementConstraintArrayOutput + ToGetTaskExecutionPlacementConstraintArrayOutputWithContext(context.Context) GetTaskExecutionPlacementConstraintArrayOutput +} + +type GetTaskExecutionPlacementConstraintArray []GetTaskExecutionPlacementConstraintInput + +func (GetTaskExecutionPlacementConstraintArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTaskExecutionPlacementConstraint)(nil)).Elem() +} + +func (i GetTaskExecutionPlacementConstraintArray) ToGetTaskExecutionPlacementConstraintArrayOutput() GetTaskExecutionPlacementConstraintArrayOutput { + return i.ToGetTaskExecutionPlacementConstraintArrayOutputWithContext(context.Background()) +} + +func (i GetTaskExecutionPlacementConstraintArray) ToGetTaskExecutionPlacementConstraintArrayOutputWithContext(ctx context.Context) GetTaskExecutionPlacementConstraintArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTaskExecutionPlacementConstraintArrayOutput) +} + +type GetTaskExecutionPlacementConstraintOutput struct{ *pulumi.OutputState } + +func (GetTaskExecutionPlacementConstraintOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetTaskExecutionPlacementConstraint)(nil)).Elem() +} + +func (o GetTaskExecutionPlacementConstraintOutput) ToGetTaskExecutionPlacementConstraintOutput() GetTaskExecutionPlacementConstraintOutput { + return o +} + +func (o GetTaskExecutionPlacementConstraintOutput) ToGetTaskExecutionPlacementConstraintOutputWithContext(ctx context.Context) GetTaskExecutionPlacementConstraintOutput { + return o +} + +// A cluster query language expression to apply to the constraint. The expression can have a maximum length of 2000 characters. You can't specify an expression if the constraint type is `distinctInstance`. +func (o GetTaskExecutionPlacementConstraintOutput) Expression() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetTaskExecutionPlacementConstraint) *string { return v.Expression }).(pulumi.StringPtrOutput) +} + +// The type of constraint. Valid values are `distinctInstance` or `memberOf`. Use `distinctInstance` to ensure that each task in a particular group is running on a different container instance. Use `memberOf` to restrict the selection to a group of valid candidates. +func (o GetTaskExecutionPlacementConstraintOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetTaskExecutionPlacementConstraint) string { return v.Type }).(pulumi.StringOutput) +} + +type GetTaskExecutionPlacementConstraintArrayOutput struct{ *pulumi.OutputState } + +func (GetTaskExecutionPlacementConstraintArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTaskExecutionPlacementConstraint)(nil)).Elem() +} + +func (o GetTaskExecutionPlacementConstraintArrayOutput) ToGetTaskExecutionPlacementConstraintArrayOutput() GetTaskExecutionPlacementConstraintArrayOutput { + return o +} + +func (o GetTaskExecutionPlacementConstraintArrayOutput) ToGetTaskExecutionPlacementConstraintArrayOutputWithContext(ctx context.Context) GetTaskExecutionPlacementConstraintArrayOutput { + return o +} + +func (o GetTaskExecutionPlacementConstraintArrayOutput) Index(i pulumi.IntInput) GetTaskExecutionPlacementConstraintOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetTaskExecutionPlacementConstraint { + return vs[0].([]GetTaskExecutionPlacementConstraint)[vs[1].(int)] + }).(GetTaskExecutionPlacementConstraintOutput) +} + +type GetTaskExecutionPlacementStrategy struct { + // The field to apply the placement strategy against. + Field *string `pulumi:"field"` + // The type of placement strategy. Valid values are `random`, `spread`, and `binpack`. + Type string `pulumi:"type"` +} + +// GetTaskExecutionPlacementStrategyInput is an input type that accepts GetTaskExecutionPlacementStrategyArgs and GetTaskExecutionPlacementStrategyOutput values. +// You can construct a concrete instance of `GetTaskExecutionPlacementStrategyInput` via: +// +// GetTaskExecutionPlacementStrategyArgs{...} +type GetTaskExecutionPlacementStrategyInput interface { + pulumi.Input + + ToGetTaskExecutionPlacementStrategyOutput() GetTaskExecutionPlacementStrategyOutput + ToGetTaskExecutionPlacementStrategyOutputWithContext(context.Context) GetTaskExecutionPlacementStrategyOutput +} + +type GetTaskExecutionPlacementStrategyArgs struct { + // The field to apply the placement strategy against. + Field pulumi.StringPtrInput `pulumi:"field"` + // The type of placement strategy. Valid values are `random`, `spread`, and `binpack`. + Type pulumi.StringInput `pulumi:"type"` +} + +func (GetTaskExecutionPlacementStrategyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetTaskExecutionPlacementStrategy)(nil)).Elem() +} + +func (i GetTaskExecutionPlacementStrategyArgs) ToGetTaskExecutionPlacementStrategyOutput() GetTaskExecutionPlacementStrategyOutput { + return i.ToGetTaskExecutionPlacementStrategyOutputWithContext(context.Background()) +} + +func (i GetTaskExecutionPlacementStrategyArgs) ToGetTaskExecutionPlacementStrategyOutputWithContext(ctx context.Context) GetTaskExecutionPlacementStrategyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTaskExecutionPlacementStrategyOutput) +} + +// GetTaskExecutionPlacementStrategyArrayInput is an input type that accepts GetTaskExecutionPlacementStrategyArray and GetTaskExecutionPlacementStrategyArrayOutput values. +// You can construct a concrete instance of `GetTaskExecutionPlacementStrategyArrayInput` via: +// +// GetTaskExecutionPlacementStrategyArray{ GetTaskExecutionPlacementStrategyArgs{...} } +type GetTaskExecutionPlacementStrategyArrayInput interface { + pulumi.Input + + ToGetTaskExecutionPlacementStrategyArrayOutput() GetTaskExecutionPlacementStrategyArrayOutput + ToGetTaskExecutionPlacementStrategyArrayOutputWithContext(context.Context) GetTaskExecutionPlacementStrategyArrayOutput +} + +type GetTaskExecutionPlacementStrategyArray []GetTaskExecutionPlacementStrategyInput + +func (GetTaskExecutionPlacementStrategyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTaskExecutionPlacementStrategy)(nil)).Elem() +} + +func (i GetTaskExecutionPlacementStrategyArray) ToGetTaskExecutionPlacementStrategyArrayOutput() GetTaskExecutionPlacementStrategyArrayOutput { + return i.ToGetTaskExecutionPlacementStrategyArrayOutputWithContext(context.Background()) +} + +func (i GetTaskExecutionPlacementStrategyArray) ToGetTaskExecutionPlacementStrategyArrayOutputWithContext(ctx context.Context) GetTaskExecutionPlacementStrategyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTaskExecutionPlacementStrategyArrayOutput) +} + +type GetTaskExecutionPlacementStrategyOutput struct{ *pulumi.OutputState } + +func (GetTaskExecutionPlacementStrategyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetTaskExecutionPlacementStrategy)(nil)).Elem() +} + +func (o GetTaskExecutionPlacementStrategyOutput) ToGetTaskExecutionPlacementStrategyOutput() GetTaskExecutionPlacementStrategyOutput { + return o +} + +func (o GetTaskExecutionPlacementStrategyOutput) ToGetTaskExecutionPlacementStrategyOutputWithContext(ctx context.Context) GetTaskExecutionPlacementStrategyOutput { + return o +} + +// The field to apply the placement strategy against. +func (o GetTaskExecutionPlacementStrategyOutput) Field() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetTaskExecutionPlacementStrategy) *string { return v.Field }).(pulumi.StringPtrOutput) +} + +// The type of placement strategy. Valid values are `random`, `spread`, and `binpack`. +func (o GetTaskExecutionPlacementStrategyOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetTaskExecutionPlacementStrategy) string { return v.Type }).(pulumi.StringOutput) +} + +type GetTaskExecutionPlacementStrategyArrayOutput struct{ *pulumi.OutputState } + +func (GetTaskExecutionPlacementStrategyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTaskExecutionPlacementStrategy)(nil)).Elem() +} + +func (o GetTaskExecutionPlacementStrategyArrayOutput) ToGetTaskExecutionPlacementStrategyArrayOutput() GetTaskExecutionPlacementStrategyArrayOutput { + return o +} + +func (o GetTaskExecutionPlacementStrategyArrayOutput) ToGetTaskExecutionPlacementStrategyArrayOutputWithContext(ctx context.Context) GetTaskExecutionPlacementStrategyArrayOutput { + return o +} + +func (o GetTaskExecutionPlacementStrategyArrayOutput) Index(i pulumi.IntInput) GetTaskExecutionPlacementStrategyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetTaskExecutionPlacementStrategy { + return vs[0].([]GetTaskExecutionPlacementStrategy)[vs[1].(int)] + }).(GetTaskExecutionPlacementStrategyOutput) +} + func init() { pulumi.RegisterInputType(reflect.TypeOf((*CapacityProviderAutoScalingGroupProviderInput)(nil)).Elem(), CapacityProviderAutoScalingGroupProviderArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CapacityProviderAutoScalingGroupProviderPtrInput)(nil)).Elem(), CapacityProviderAutoScalingGroupProviderArgs{}) @@ -6198,6 +7409,24 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetClusterServiceConnectDefaultArrayInput)(nil)).Elem(), GetClusterServiceConnectDefaultArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetClusterSettingInput)(nil)).Elem(), GetClusterSettingArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetClusterSettingArrayInput)(nil)).Elem(), GetClusterSettingArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTaskExecutionCapacityProviderStrategyInput)(nil)).Elem(), GetTaskExecutionCapacityProviderStrategyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTaskExecutionCapacityProviderStrategyArrayInput)(nil)).Elem(), GetTaskExecutionCapacityProviderStrategyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTaskExecutionNetworkConfigurationInput)(nil)).Elem(), GetTaskExecutionNetworkConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTaskExecutionNetworkConfigurationPtrInput)(nil)).Elem(), GetTaskExecutionNetworkConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTaskExecutionOverridesInput)(nil)).Elem(), GetTaskExecutionOverridesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTaskExecutionOverridesPtrInput)(nil)).Elem(), GetTaskExecutionOverridesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTaskExecutionOverridesContainerOverrideInput)(nil)).Elem(), GetTaskExecutionOverridesContainerOverrideArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTaskExecutionOverridesContainerOverrideArrayInput)(nil)).Elem(), GetTaskExecutionOverridesContainerOverrideArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTaskExecutionOverridesContainerOverrideEnvironmentInput)(nil)).Elem(), GetTaskExecutionOverridesContainerOverrideEnvironmentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTaskExecutionOverridesContainerOverrideEnvironmentArrayInput)(nil)).Elem(), GetTaskExecutionOverridesContainerOverrideEnvironmentArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTaskExecutionOverridesContainerOverrideResourceRequirementInput)(nil)).Elem(), GetTaskExecutionOverridesContainerOverrideResourceRequirementArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTaskExecutionOverridesContainerOverrideResourceRequirementArrayInput)(nil)).Elem(), GetTaskExecutionOverridesContainerOverrideResourceRequirementArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTaskExecutionOverridesInferenceAcceleratorOverrideInput)(nil)).Elem(), GetTaskExecutionOverridesInferenceAcceleratorOverrideArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTaskExecutionOverridesInferenceAcceleratorOverrideArrayInput)(nil)).Elem(), GetTaskExecutionOverridesInferenceAcceleratorOverrideArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTaskExecutionPlacementConstraintInput)(nil)).Elem(), GetTaskExecutionPlacementConstraintArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTaskExecutionPlacementConstraintArrayInput)(nil)).Elem(), GetTaskExecutionPlacementConstraintArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTaskExecutionPlacementStrategyInput)(nil)).Elem(), GetTaskExecutionPlacementStrategyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTaskExecutionPlacementStrategyArrayInput)(nil)).Elem(), GetTaskExecutionPlacementStrategyArray{}) pulumi.RegisterOutputType(CapacityProviderAutoScalingGroupProviderOutput{}) pulumi.RegisterOutputType(CapacityProviderAutoScalingGroupProviderPtrOutput{}) pulumi.RegisterOutputType(CapacityProviderAutoScalingGroupProviderManagedScalingOutput{}) @@ -6280,4 +7509,22 @@ func init() { pulumi.RegisterOutputType(GetClusterServiceConnectDefaultArrayOutput{}) pulumi.RegisterOutputType(GetClusterSettingOutput{}) pulumi.RegisterOutputType(GetClusterSettingArrayOutput{}) + pulumi.RegisterOutputType(GetTaskExecutionCapacityProviderStrategyOutput{}) + pulumi.RegisterOutputType(GetTaskExecutionCapacityProviderStrategyArrayOutput{}) + pulumi.RegisterOutputType(GetTaskExecutionNetworkConfigurationOutput{}) + pulumi.RegisterOutputType(GetTaskExecutionNetworkConfigurationPtrOutput{}) + pulumi.RegisterOutputType(GetTaskExecutionOverridesOutput{}) + pulumi.RegisterOutputType(GetTaskExecutionOverridesPtrOutput{}) + pulumi.RegisterOutputType(GetTaskExecutionOverridesContainerOverrideOutput{}) + pulumi.RegisterOutputType(GetTaskExecutionOverridesContainerOverrideArrayOutput{}) + pulumi.RegisterOutputType(GetTaskExecutionOverridesContainerOverrideEnvironmentOutput{}) + pulumi.RegisterOutputType(GetTaskExecutionOverridesContainerOverrideEnvironmentArrayOutput{}) + pulumi.RegisterOutputType(GetTaskExecutionOverridesContainerOverrideResourceRequirementOutput{}) + pulumi.RegisterOutputType(GetTaskExecutionOverridesContainerOverrideResourceRequirementArrayOutput{}) + pulumi.RegisterOutputType(GetTaskExecutionOverridesInferenceAcceleratorOverrideOutput{}) + pulumi.RegisterOutputType(GetTaskExecutionOverridesInferenceAcceleratorOverrideArrayOutput{}) + pulumi.RegisterOutputType(GetTaskExecutionPlacementConstraintOutput{}) + pulumi.RegisterOutputType(GetTaskExecutionPlacementConstraintArrayOutput{}) + pulumi.RegisterOutputType(GetTaskExecutionPlacementStrategyOutput{}) + pulumi.RegisterOutputType(GetTaskExecutionPlacementStrategyArrayOutput{}) } diff --git a/sdk/go/aws/eks/cluster.go b/sdk/go/aws/eks/cluster.go index 94b9a9c8181..ba1429cc35f 100644 --- a/sdk/go/aws/eks/cluster.go +++ b/sdk/go/aws/eks/cluster.go @@ -52,6 +52,66 @@ import ( // } // // ``` +// ### Example IAM Role for EKS Cluster +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/iam" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// assumeRole, err := iam.GetPolicyDocument(ctx, &iam.GetPolicyDocumentArgs{ +// Statements: []iam.GetPolicyDocumentStatement{ +// { +// Effect: pulumi.StringRef("Allow"), +// Principals: []iam.GetPolicyDocumentStatementPrincipal{ +// { +// Type: "Service", +// Identifiers: []string{ +// "eks.amazonaws.com", +// }, +// }, +// }, +// Actions: []string{ +// "sts:AssumeRole", +// }, +// }, +// }, +// }, nil) +// if err != nil { +// return err +// } +// example, err := iam.NewRole(ctx, "example", &iam.RoleArgs{ +// AssumeRolePolicy: *pulumi.String(assumeRole.Json), +// }) +// if err != nil { +// return err +// } +// _, err = iam.NewRolePolicyAttachment(ctx, "example-AmazonEKSClusterPolicy", &iam.RolePolicyAttachmentArgs{ +// PolicyArn: pulumi.String("arn:aws:iam::aws:policy/AmazonEKSClusterPolicy"), +// Role: example.Name, +// }) +// if err != nil { +// return err +// } +// _, err = iam.NewRolePolicyAttachment(ctx, "example-AmazonEKSVPCResourceController", &iam.RolePolicyAttachmentArgs{ +// PolicyArn: pulumi.String("arn:aws:iam::aws:policy/AmazonEKSVPCResourceController"), +// Role: example.Name, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` // ### Enabling Control Plane Logging // // [EKS Control Plane Logging](https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html) can be enabled via the `enabledClusterLogTypes` argument. To manage the CloudWatch Log Group retention period, the `cloudwatch.LogGroup` resource can be used. diff --git a/sdk/go/aws/grafana/pulumiTypes.go b/sdk/go/aws/grafana/pulumiTypes.go index 6bda112b947..3ac8b158b8d 100644 --- a/sdk/go/aws/grafana/pulumiTypes.go +++ b/sdk/go/aws/grafana/pulumiTypes.go @@ -10,6 +10,162 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) +type WorkspaceNetworkAccessControl struct { + // An array of prefix list IDs. + PrefixListIds []string `pulumi:"prefixListIds"` + // An array of Amazon VPC endpoint IDs for the workspace. The only VPC endpoints that can be specified here are interface VPC endpoints for Grafana workspaces (using the com.amazonaws.[region].grafana-workspace service endpoint). Other VPC endpoints will be ignored. + VpceIds []string `pulumi:"vpceIds"` +} + +// WorkspaceNetworkAccessControlInput is an input type that accepts WorkspaceNetworkAccessControlArgs and WorkspaceNetworkAccessControlOutput values. +// You can construct a concrete instance of `WorkspaceNetworkAccessControlInput` via: +// +// WorkspaceNetworkAccessControlArgs{...} +type WorkspaceNetworkAccessControlInput interface { + pulumi.Input + + ToWorkspaceNetworkAccessControlOutput() WorkspaceNetworkAccessControlOutput + ToWorkspaceNetworkAccessControlOutputWithContext(context.Context) WorkspaceNetworkAccessControlOutput +} + +type WorkspaceNetworkAccessControlArgs struct { + // An array of prefix list IDs. + PrefixListIds pulumi.StringArrayInput `pulumi:"prefixListIds"` + // An array of Amazon VPC endpoint IDs for the workspace. The only VPC endpoints that can be specified here are interface VPC endpoints for Grafana workspaces (using the com.amazonaws.[region].grafana-workspace service endpoint). Other VPC endpoints will be ignored. + VpceIds pulumi.StringArrayInput `pulumi:"vpceIds"` +} + +func (WorkspaceNetworkAccessControlArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WorkspaceNetworkAccessControl)(nil)).Elem() +} + +func (i WorkspaceNetworkAccessControlArgs) ToWorkspaceNetworkAccessControlOutput() WorkspaceNetworkAccessControlOutput { + return i.ToWorkspaceNetworkAccessControlOutputWithContext(context.Background()) +} + +func (i WorkspaceNetworkAccessControlArgs) ToWorkspaceNetworkAccessControlOutputWithContext(ctx context.Context) WorkspaceNetworkAccessControlOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkspaceNetworkAccessControlOutput) +} + +func (i WorkspaceNetworkAccessControlArgs) ToWorkspaceNetworkAccessControlPtrOutput() WorkspaceNetworkAccessControlPtrOutput { + return i.ToWorkspaceNetworkAccessControlPtrOutputWithContext(context.Background()) +} + +func (i WorkspaceNetworkAccessControlArgs) ToWorkspaceNetworkAccessControlPtrOutputWithContext(ctx context.Context) WorkspaceNetworkAccessControlPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkspaceNetworkAccessControlOutput).ToWorkspaceNetworkAccessControlPtrOutputWithContext(ctx) +} + +// WorkspaceNetworkAccessControlPtrInput is an input type that accepts WorkspaceNetworkAccessControlArgs, WorkspaceNetworkAccessControlPtr and WorkspaceNetworkAccessControlPtrOutput values. +// You can construct a concrete instance of `WorkspaceNetworkAccessControlPtrInput` via: +// +// WorkspaceNetworkAccessControlArgs{...} +// +// or: +// +// nil +type WorkspaceNetworkAccessControlPtrInput interface { + pulumi.Input + + ToWorkspaceNetworkAccessControlPtrOutput() WorkspaceNetworkAccessControlPtrOutput + ToWorkspaceNetworkAccessControlPtrOutputWithContext(context.Context) WorkspaceNetworkAccessControlPtrOutput +} + +type workspaceNetworkAccessControlPtrType WorkspaceNetworkAccessControlArgs + +func WorkspaceNetworkAccessControlPtr(v *WorkspaceNetworkAccessControlArgs) WorkspaceNetworkAccessControlPtrInput { + return (*workspaceNetworkAccessControlPtrType)(v) +} + +func (*workspaceNetworkAccessControlPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WorkspaceNetworkAccessControl)(nil)).Elem() +} + +func (i *workspaceNetworkAccessControlPtrType) ToWorkspaceNetworkAccessControlPtrOutput() WorkspaceNetworkAccessControlPtrOutput { + return i.ToWorkspaceNetworkAccessControlPtrOutputWithContext(context.Background()) +} + +func (i *workspaceNetworkAccessControlPtrType) ToWorkspaceNetworkAccessControlPtrOutputWithContext(ctx context.Context) WorkspaceNetworkAccessControlPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkspaceNetworkAccessControlPtrOutput) +} + +type WorkspaceNetworkAccessControlOutput struct{ *pulumi.OutputState } + +func (WorkspaceNetworkAccessControlOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WorkspaceNetworkAccessControl)(nil)).Elem() +} + +func (o WorkspaceNetworkAccessControlOutput) ToWorkspaceNetworkAccessControlOutput() WorkspaceNetworkAccessControlOutput { + return o +} + +func (o WorkspaceNetworkAccessControlOutput) ToWorkspaceNetworkAccessControlOutputWithContext(ctx context.Context) WorkspaceNetworkAccessControlOutput { + return o +} + +func (o WorkspaceNetworkAccessControlOutput) ToWorkspaceNetworkAccessControlPtrOutput() WorkspaceNetworkAccessControlPtrOutput { + return o.ToWorkspaceNetworkAccessControlPtrOutputWithContext(context.Background()) +} + +func (o WorkspaceNetworkAccessControlOutput) ToWorkspaceNetworkAccessControlPtrOutputWithContext(ctx context.Context) WorkspaceNetworkAccessControlPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WorkspaceNetworkAccessControl) *WorkspaceNetworkAccessControl { + return &v + }).(WorkspaceNetworkAccessControlPtrOutput) +} + +// An array of prefix list IDs. +func (o WorkspaceNetworkAccessControlOutput) PrefixListIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v WorkspaceNetworkAccessControl) []string { return v.PrefixListIds }).(pulumi.StringArrayOutput) +} + +// An array of Amazon VPC endpoint IDs for the workspace. The only VPC endpoints that can be specified here are interface VPC endpoints for Grafana workspaces (using the com.amazonaws.[region].grafana-workspace service endpoint). Other VPC endpoints will be ignored. +func (o WorkspaceNetworkAccessControlOutput) VpceIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v WorkspaceNetworkAccessControl) []string { return v.VpceIds }).(pulumi.StringArrayOutput) +} + +type WorkspaceNetworkAccessControlPtrOutput struct{ *pulumi.OutputState } + +func (WorkspaceNetworkAccessControlPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WorkspaceNetworkAccessControl)(nil)).Elem() +} + +func (o WorkspaceNetworkAccessControlPtrOutput) ToWorkspaceNetworkAccessControlPtrOutput() WorkspaceNetworkAccessControlPtrOutput { + return o +} + +func (o WorkspaceNetworkAccessControlPtrOutput) ToWorkspaceNetworkAccessControlPtrOutputWithContext(ctx context.Context) WorkspaceNetworkAccessControlPtrOutput { + return o +} + +func (o WorkspaceNetworkAccessControlPtrOutput) Elem() WorkspaceNetworkAccessControlOutput { + return o.ApplyT(func(v *WorkspaceNetworkAccessControl) WorkspaceNetworkAccessControl { + if v != nil { + return *v + } + var ret WorkspaceNetworkAccessControl + return ret + }).(WorkspaceNetworkAccessControlOutput) +} + +// An array of prefix list IDs. +func (o WorkspaceNetworkAccessControlPtrOutput) PrefixListIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *WorkspaceNetworkAccessControl) []string { + if v == nil { + return nil + } + return v.PrefixListIds + }).(pulumi.StringArrayOutput) +} + +// An array of Amazon VPC endpoint IDs for the workspace. The only VPC endpoints that can be specified here are interface VPC endpoints for Grafana workspaces (using the com.amazonaws.[region].grafana-workspace service endpoint). Other VPC endpoints will be ignored. +func (o WorkspaceNetworkAccessControlPtrOutput) VpceIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *WorkspaceNetworkAccessControl) []string { + if v == nil { + return nil + } + return v.VpceIds + }).(pulumi.StringArrayOutput) +} + type WorkspaceVpcConfiguration struct { // The list of Amazon EC2 security group IDs attached to the Amazon VPC for your Grafana workspace to connect. SecurityGroupIds []string `pulumi:"securityGroupIds"` @@ -167,8 +323,12 @@ func (o WorkspaceVpcConfigurationPtrOutput) SubnetIds() pulumi.StringArrayOutput } func init() { + pulumi.RegisterInputType(reflect.TypeOf((*WorkspaceNetworkAccessControlInput)(nil)).Elem(), WorkspaceNetworkAccessControlArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WorkspaceNetworkAccessControlPtrInput)(nil)).Elem(), WorkspaceNetworkAccessControlArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WorkspaceVpcConfigurationInput)(nil)).Elem(), WorkspaceVpcConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WorkspaceVpcConfigurationPtrInput)(nil)).Elem(), WorkspaceVpcConfigurationArgs{}) + pulumi.RegisterOutputType(WorkspaceNetworkAccessControlOutput{}) + pulumi.RegisterOutputType(WorkspaceNetworkAccessControlPtrOutput{}) pulumi.RegisterOutputType(WorkspaceVpcConfigurationOutput{}) pulumi.RegisterOutputType(WorkspaceVpcConfigurationPtrOutput{}) } diff --git a/sdk/go/aws/grafana/workspace.go b/sdk/go/aws/grafana/workspace.go index 50ec3dd3281..9357a0b103a 100644 --- a/sdk/go/aws/grafana/workspace.go +++ b/sdk/go/aws/grafana/workspace.go @@ -101,6 +101,8 @@ type Workspace struct { GrafanaVersion pulumi.StringOutput `pulumi:"grafanaVersion"` // The Grafana workspace name. Name pulumi.StringOutput `pulumi:"name"` + // Configuration for network access to your workspace.See Network Access Control below. + NetworkAccessControl WorkspaceNetworkAccessControlPtrOutput `pulumi:"networkAccessControl"` // The notification destinations. If a data source is specified here, Amazon Managed Grafana will create IAM roles and permissions needed to use these destinations. Must be set to `SNS`. NotificationDestinations pulumi.StringArrayOutput `pulumi:"notificationDestinations"` // The role name that the workspace uses to access resources through Amazon Organizations. @@ -178,6 +180,8 @@ type workspaceState struct { GrafanaVersion *string `pulumi:"grafanaVersion"` // The Grafana workspace name. Name *string `pulumi:"name"` + // Configuration for network access to your workspace.See Network Access Control below. + NetworkAccessControl *WorkspaceNetworkAccessControl `pulumi:"networkAccessControl"` // The notification destinations. If a data source is specified here, Amazon Managed Grafana will create IAM roles and permissions needed to use these destinations. Must be set to `SNS`. NotificationDestinations []string `pulumi:"notificationDestinations"` // The role name that the workspace uses to access resources through Amazon Organizations. @@ -218,6 +222,8 @@ type WorkspaceState struct { GrafanaVersion pulumi.StringPtrInput // The Grafana workspace name. Name pulumi.StringPtrInput + // Configuration for network access to your workspace.See Network Access Control below. + NetworkAccessControl WorkspaceNetworkAccessControlPtrInput // The notification destinations. If a data source is specified here, Amazon Managed Grafana will create IAM roles and permissions needed to use these destinations. Must be set to `SNS`. NotificationDestinations pulumi.StringArrayInput // The role name that the workspace uses to access resources through Amazon Organizations. @@ -256,6 +262,8 @@ type workspaceArgs struct { Description *string `pulumi:"description"` // The Grafana workspace name. Name *string `pulumi:"name"` + // Configuration for network access to your workspace.See Network Access Control below. + NetworkAccessControl *WorkspaceNetworkAccessControl `pulumi:"networkAccessControl"` // The notification destinations. If a data source is specified here, Amazon Managed Grafana will create IAM roles and permissions needed to use these destinations. Must be set to `SNS`. NotificationDestinations []string `pulumi:"notificationDestinations"` // The role name that the workspace uses to access resources through Amazon Organizations. @@ -288,6 +296,8 @@ type WorkspaceArgs struct { Description pulumi.StringPtrInput // The Grafana workspace name. Name pulumi.StringPtrInput + // Configuration for network access to your workspace.See Network Access Control below. + NetworkAccessControl WorkspaceNetworkAccessControlPtrInput // The notification destinations. If a data source is specified here, Amazon Managed Grafana will create IAM roles and permissions needed to use these destinations. Must be set to `SNS`. NotificationDestinations pulumi.StringArrayInput // The role name that the workspace uses to access resources through Amazon Organizations. @@ -438,6 +448,11 @@ func (o WorkspaceOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *Workspace) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } +// Configuration for network access to your workspace.See Network Access Control below. +func (o WorkspaceOutput) NetworkAccessControl() WorkspaceNetworkAccessControlPtrOutput { + return o.ApplyT(func(v *Workspace) WorkspaceNetworkAccessControlPtrOutput { return v.NetworkAccessControl }).(WorkspaceNetworkAccessControlPtrOutput) +} + // The notification destinations. If a data source is specified here, Amazon Managed Grafana will create IAM roles and permissions needed to use these destinations. Must be set to `SNS`. func (o WorkspaceOutput) NotificationDestinations() pulumi.StringArrayOutput { return o.ApplyT(func(v *Workspace) pulumi.StringArrayOutput { return v.NotificationDestinations }).(pulumi.StringArrayOutput) diff --git a/sdk/go/aws/iam/policyAttachment.go b/sdk/go/aws/iam/policyAttachment.go index 60c0abcfbf2..bc7ee66ecc8 100644 --- a/sdk/go/aws/iam/policyAttachment.go +++ b/sdk/go/aws/iam/policyAttachment.go @@ -18,6 +18,99 @@ import ( // > **NOTE:** The usage of this resource conflicts with the `iam.GroupPolicyAttachment`, `iam.RolePolicyAttachment`, and `iam.UserPolicyAttachment` resources and will permanently show a difference if both are defined. // // > **NOTE:** For a given role, this resource is incompatible with using the `iam.Role` resource `managedPolicyArns` argument. When using that argument and this resource, both will attempt to manage the role's managed policy attachments and the provider will show a permanent difference. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/iam" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// user, err := iam.NewUser(ctx, "user", nil) +// if err != nil { +// return err +// } +// assumeRole, err := iam.GetPolicyDocument(ctx, &iam.GetPolicyDocumentArgs{ +// Statements: []iam.GetPolicyDocumentStatement{ +// { +// Effect: pulumi.StringRef("Allow"), +// Principals: []iam.GetPolicyDocumentStatementPrincipal{ +// { +// Type: "Service", +// Identifiers: []string{ +// "ec2.amazonaws.com", +// }, +// }, +// }, +// Actions: []string{ +// "sts:AssumeRole", +// }, +// }, +// }, +// }, nil) +// if err != nil { +// return err +// } +// role, err := iam.NewRole(ctx, "role", &iam.RoleArgs{ +// AssumeRolePolicy: *pulumi.String(assumeRole.Json), +// }) +// if err != nil { +// return err +// } +// group, err := iam.NewGroup(ctx, "group", nil) +// if err != nil { +// return err +// } +// policyPolicyDocument, err := iam.GetPolicyDocument(ctx, &iam.GetPolicyDocumentArgs{ +// Statements: []iam.GetPolicyDocumentStatement{ +// { +// Effect: pulumi.StringRef("Allow"), +// Actions: []string{ +// "ec2:Describe*", +// }, +// Resources: []string{ +// "*", +// }, +// }, +// }, +// }, nil) +// if err != nil { +// return err +// } +// policyPolicy, err := iam.NewPolicy(ctx, "policyPolicy", &iam.PolicyArgs{ +// Description: pulumi.String("A test policy"), +// Policy: *pulumi.String(policyPolicyDocument.Json), +// }) +// if err != nil { +// return err +// } +// _, err = iam.NewPolicyAttachment(ctx, "test-attach", &iam.PolicyAttachmentArgs{ +// Users: pulumi.AnyArray{ +// user.Name, +// }, +// Roles: pulumi.AnyArray{ +// role.Name, +// }, +// Groups: pulumi.AnyArray{ +// group.Name, +// }, +// PolicyArn: policyPolicy.Arn, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` type PolicyAttachment struct { pulumi.CustomResourceState diff --git a/sdk/go/aws/lambda/function.go b/sdk/go/aws/lambda/function.go index 9ef7b4b00b2..d60a0f42ab5 100644 --- a/sdk/go/aws/lambda/function.go +++ b/sdk/go/aws/lambda/function.go @@ -17,6 +17,8 @@ import ( // // > **NOTE:** Due to [AWS Lambda improved VPC networking changes that began deploying in September 2019](https://aws.amazon.com/blogs/compute/announcing-improved-vpc-networking-for-aws-lambda-functions/), EC2 subnets and security groups associated with Lambda Functions can take up to 45 minutes to successfully delete. // +// > **NOTE:** If you get a `KMSAccessDeniedException: Lambda was unable to decrypt the environment variables because KMS access was denied` error when invoking an `lambda.Function` with environment variables, the IAM role associated with the function may have been deleted and recreated _after_ the function was created. You can fix the problem two ways: 1) updating the function's role to another role and then updating it back again to the recreated role, or 2) by using Pulumi to `taint` the function and `apply` your configuration again to recreate the function. (When you create a function, Lambda grants permissions on the KMS key to the function's IAM role. If the IAM role is recreated, the grant is no longer valid. Changing the function's role or recreating the function causes Lambda to update the grant.) +// // > To give an external source (like an EventBridge Rule, SNS, or S3) permission to access the Lambda function, use the `lambda.Permission` resource. See [Lambda Permission Model](https://docs.aws.amazon.com/lambda/latest/dg/intro-permission-model.html) for more details. On the other hand, the `role` argument of this resource is the function's execution role for identity and access to AWS services and resources. // // ## Example Usage diff --git a/sdk/go/aws/lambda/getInvocation.go b/sdk/go/aws/lambda/getInvocation.go index e1bc79a175d..db0e272755a 100644 --- a/sdk/go/aws/lambda/getInvocation.go +++ b/sdk/go/aws/lambda/getInvocation.go @@ -13,6 +13,8 @@ import ( // Use this data source to invoke custom lambda functions as data source. // The lambda function is invoked with [RequestResponse](https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html#API_Invoke_RequestSyntax) // invocation type. +// +// > **NOTE:** If you get a `KMSAccessDeniedException: Lambda was unable to decrypt the environment variables because KMS access was denied` error when invoking an `lambda.Function` with environment variables, the IAM role associated with the function may have been deleted and recreated _after_ the function was created. You can fix the problem two ways: 1) updating the function's role to another role and then updating it back again to the recreated role, or 2) by using Pulumi to `taint` the function and `apply` your configuration again to recreate the function. (When you create a function, Lambda grants permissions on the KMS key to the function's IAM role. If the IAM role is recreated, the grant is no longer valid. Changing the function's role or recreating the function causes Lambda to update the grant.) func LookupInvocation(ctx *pulumi.Context, args *LookupInvocationArgs, opts ...pulumi.InvokeOption) (*LookupInvocationResult, error) { var rv LookupInvocationResult err := ctx.Invoke("aws:lambda/getInvocation:getInvocation", args, &rv, opts...) diff --git a/sdk/go/aws/lambda/invocation.go b/sdk/go/aws/lambda/invocation.go index 05c5703740e..ef07bce9a6d 100644 --- a/sdk/go/aws/lambda/invocation.go +++ b/sdk/go/aws/lambda/invocation.go @@ -15,6 +15,8 @@ import ( // // > **NOTE:** This resource _only_ invokes the function when the arguments call for a create or update. In other words, after an initial invocation on _apply_, if the arguments do not change, a subsequent _apply_ does not invoke the function again. To dynamically invoke the function, see the `triggers` example below. To always invoke a function on each _apply_, see the `lambda.Invocation` data source. // +// > **NOTE:** If you get a `KMSAccessDeniedException: Lambda was unable to decrypt the environment variables because KMS access was denied` error when invoking an `lambda.Function` with environment variables, the IAM role associated with the function may have been deleted and recreated _after_ the function was created. You can fix the problem two ways: 1) updating the function's role to another role and then updating it back again to the recreated role, or 2) by using Pulumi to `taint` the function and `apply` your configuration again to recreate the function. (When you create a function, Lambda grants permissions on the KMS key to the function's IAM role. If the IAM role is recreated, the grant is no longer valid. Changing the function's role or recreating the function causes Lambda to update the grant.) +// // ## Example Usage // ### Dynamic Invocation Example Using Triggers // diff --git a/sdk/go/aws/licensemanager/getLicenseGrants.go b/sdk/go/aws/licensemanager/getLicenseGrants.go new file mode 100644 index 00000000000..aa1ec15bdfb --- /dev/null +++ b/sdk/go/aws/licensemanager/getLicenseGrants.go @@ -0,0 +1,134 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package licensemanager + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// This resource can be used to get a set of license grant ARNs matching a filter. +// +// ## Example Usage +// +// The following shows getting all license grant ARNs granted to your account. +// +// ```go +// package main +// +// import ( +// +// "fmt" +// +// "github.com/pulumi/pulumi-aws/sdk/v5/go/aws" +// "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/licensemanager" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// current, err := aws.GetCallerIdentity(ctx, nil, nil) +// if err != nil { +// return err +// } +// _, err = licensemanager.GetLicenseGrants(ctx, &licensemanager.GetLicenseGrantsArgs{ +// Filters: []licensemanager.GetLicenseGrantsFilter{ +// { +// Name: "GranteePrincipalARN", +// Values: []string{ +// fmt.Sprintf("arn:aws:iam::%v:root", current.AccountId), +// }, +// }, +// }, +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +func GetLicenseGrants(ctx *pulumi.Context, args *GetLicenseGrantsArgs, opts ...pulumi.InvokeOption) (*GetLicenseGrantsResult, error) { + var rv GetLicenseGrantsResult + err := ctx.Invoke("aws:licensemanager/getLicenseGrants:getLicenseGrants", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getLicenseGrants. +type GetLicenseGrantsArgs struct { + // Custom filter block as described below. + Filters []GetLicenseGrantsFilter `pulumi:"filters"` +} + +// A collection of values returned by getLicenseGrants. +type GetLicenseGrantsResult struct { + // List of all the license grant ARNs found. + Arns []string `pulumi:"arns"` + Filters []GetLicenseGrantsFilter `pulumi:"filters"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` +} + +func GetLicenseGrantsOutput(ctx *pulumi.Context, args GetLicenseGrantsOutputArgs, opts ...pulumi.InvokeOption) GetLicenseGrantsResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (GetLicenseGrantsResult, error) { + args := v.(GetLicenseGrantsArgs) + r, err := GetLicenseGrants(ctx, &args, opts...) + var s GetLicenseGrantsResult + if r != nil { + s = *r + } + return s, err + }).(GetLicenseGrantsResultOutput) +} + +// A collection of arguments for invoking getLicenseGrants. +type GetLicenseGrantsOutputArgs struct { + // Custom filter block as described below. + Filters GetLicenseGrantsFilterArrayInput `pulumi:"filters"` +} + +func (GetLicenseGrantsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetLicenseGrantsArgs)(nil)).Elem() +} + +// A collection of values returned by getLicenseGrants. +type GetLicenseGrantsResultOutput struct{ *pulumi.OutputState } + +func (GetLicenseGrantsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetLicenseGrantsResult)(nil)).Elem() +} + +func (o GetLicenseGrantsResultOutput) ToGetLicenseGrantsResultOutput() GetLicenseGrantsResultOutput { + return o +} + +func (o GetLicenseGrantsResultOutput) ToGetLicenseGrantsResultOutputWithContext(ctx context.Context) GetLicenseGrantsResultOutput { + return o +} + +// List of all the license grant ARNs found. +func (o GetLicenseGrantsResultOutput) Arns() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetLicenseGrantsResult) []string { return v.Arns }).(pulumi.StringArrayOutput) +} + +func (o GetLicenseGrantsResultOutput) Filters() GetLicenseGrantsFilterArrayOutput { + return o.ApplyT(func(v GetLicenseGrantsResult) []GetLicenseGrantsFilter { return v.Filters }).(GetLicenseGrantsFilterArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetLicenseGrantsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetLicenseGrantsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetLicenseGrantsResultOutput{}) +} diff --git a/sdk/go/aws/licensemanager/getReceivedLicense.go b/sdk/go/aws/licensemanager/getReceivedLicense.go new file mode 100644 index 00000000000..b3679ec3ee3 --- /dev/null +++ b/sdk/go/aws/licensemanager/getReceivedLicense.go @@ -0,0 +1,215 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package licensemanager + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// This resource can be used to get data on a received license using an ARN. This can be helpful for pulling in data on a license from the AWS marketplace and sharing that license with another account. +// +// ## Example Usage +// +// The following shows getting the received license data using and ARN. +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/licensemanager" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := licensemanager.GetReceivedLicense(ctx, &licensemanager.GetReceivedLicenseArgs{ +// LicenseArn: "arn:aws:license-manager::111111111111:license:l-ecbaa94eb71a4830b6d7e49268fecaa0", +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +func GetReceivedLicense(ctx *pulumi.Context, args *GetReceivedLicenseArgs, opts ...pulumi.InvokeOption) (*GetReceivedLicenseResult, error) { + var rv GetReceivedLicenseResult + err := ctx.Invoke("aws:licensemanager/getReceivedLicense:getReceivedLicense", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getReceivedLicense. +type GetReceivedLicenseArgs struct { + // The ARN of the received license you want data for. + LicenseArn string `pulumi:"licenseArn"` +} + +// A collection of values returned by getReceivedLicense. +type GetReceivedLicenseResult struct { + // Granted license beneficiary. This is in the form of the ARN of the root user of the account. + Beneficiary string `pulumi:"beneficiary"` + // Configuration for consumption of the license. Detailed below + ConsumptionConfigurations []GetReceivedLicenseConsumptionConfiguration `pulumi:"consumptionConfigurations"` + // Creation time of the granted license in RFC 3339 format. + CreateTime string `pulumi:"createTime"` + // License entitlements. Detailed below + Entitlements []GetReceivedLicenseEntitlement `pulumi:"entitlements"` + // Home Region of the granted license. + HomeRegion string `pulumi:"homeRegion"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + // Granted license issuer. Detailed below + Issuers []GetReceivedLicenseIssuer `pulumi:"issuers"` + // Amazon Resource Name (ARN) of the license. + LicenseArn string `pulumi:"licenseArn"` + // Granted license metadata. This is in the form of a set of all meta data. Detailed below + LicenseMetadatas []GetReceivedLicenseLicenseMetadata `pulumi:"licenseMetadatas"` + // License name. + LicenseName string `pulumi:"licenseName"` + // Product name. + // * ` productSku ` - Product SKU. + ProductName string `pulumi:"productName"` + ProductSku string `pulumi:"productSku"` + // Granted license received metadata. Detailed below + ReceivedMetadatas []GetReceivedLicenseReceivedMetadata `pulumi:"receivedMetadatas"` + // Granted license status. + Status string `pulumi:"status"` + // Date and time range during which the granted license is valid, in ISO8601-UTC format. Detailed below + Validities []GetReceivedLicenseValidity `pulumi:"validities"` + // Version of the granted license. + Version string `pulumi:"version"` +} + +func GetReceivedLicenseOutput(ctx *pulumi.Context, args GetReceivedLicenseOutputArgs, opts ...pulumi.InvokeOption) GetReceivedLicenseResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (GetReceivedLicenseResult, error) { + args := v.(GetReceivedLicenseArgs) + r, err := GetReceivedLicense(ctx, &args, opts...) + var s GetReceivedLicenseResult + if r != nil { + s = *r + } + return s, err + }).(GetReceivedLicenseResultOutput) +} + +// A collection of arguments for invoking getReceivedLicense. +type GetReceivedLicenseOutputArgs struct { + // The ARN of the received license you want data for. + LicenseArn pulumi.StringInput `pulumi:"licenseArn"` +} + +func (GetReceivedLicenseOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetReceivedLicenseArgs)(nil)).Elem() +} + +// A collection of values returned by getReceivedLicense. +type GetReceivedLicenseResultOutput struct{ *pulumi.OutputState } + +func (GetReceivedLicenseResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetReceivedLicenseResult)(nil)).Elem() +} + +func (o GetReceivedLicenseResultOutput) ToGetReceivedLicenseResultOutput() GetReceivedLicenseResultOutput { + return o +} + +func (o GetReceivedLicenseResultOutput) ToGetReceivedLicenseResultOutputWithContext(ctx context.Context) GetReceivedLicenseResultOutput { + return o +} + +// Granted license beneficiary. This is in the form of the ARN of the root user of the account. +func (o GetReceivedLicenseResultOutput) Beneficiary() pulumi.StringOutput { + return o.ApplyT(func(v GetReceivedLicenseResult) string { return v.Beneficiary }).(pulumi.StringOutput) +} + +// Configuration for consumption of the license. Detailed below +func (o GetReceivedLicenseResultOutput) ConsumptionConfigurations() GetReceivedLicenseConsumptionConfigurationArrayOutput { + return o.ApplyT(func(v GetReceivedLicenseResult) []GetReceivedLicenseConsumptionConfiguration { + return v.ConsumptionConfigurations + }).(GetReceivedLicenseConsumptionConfigurationArrayOutput) +} + +// Creation time of the granted license in RFC 3339 format. +func (o GetReceivedLicenseResultOutput) CreateTime() pulumi.StringOutput { + return o.ApplyT(func(v GetReceivedLicenseResult) string { return v.CreateTime }).(pulumi.StringOutput) +} + +// License entitlements. Detailed below +func (o GetReceivedLicenseResultOutput) Entitlements() GetReceivedLicenseEntitlementArrayOutput { + return o.ApplyT(func(v GetReceivedLicenseResult) []GetReceivedLicenseEntitlement { return v.Entitlements }).(GetReceivedLicenseEntitlementArrayOutput) +} + +// Home Region of the granted license. +func (o GetReceivedLicenseResultOutput) HomeRegion() pulumi.StringOutput { + return o.ApplyT(func(v GetReceivedLicenseResult) string { return v.HomeRegion }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetReceivedLicenseResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetReceivedLicenseResult) string { return v.Id }).(pulumi.StringOutput) +} + +// Granted license issuer. Detailed below +func (o GetReceivedLicenseResultOutput) Issuers() GetReceivedLicenseIssuerArrayOutput { + return o.ApplyT(func(v GetReceivedLicenseResult) []GetReceivedLicenseIssuer { return v.Issuers }).(GetReceivedLicenseIssuerArrayOutput) +} + +// Amazon Resource Name (ARN) of the license. +func (o GetReceivedLicenseResultOutput) LicenseArn() pulumi.StringOutput { + return o.ApplyT(func(v GetReceivedLicenseResult) string { return v.LicenseArn }).(pulumi.StringOutput) +} + +// Granted license metadata. This is in the form of a set of all meta data. Detailed below +func (o GetReceivedLicenseResultOutput) LicenseMetadatas() GetReceivedLicenseLicenseMetadataArrayOutput { + return o.ApplyT(func(v GetReceivedLicenseResult) []GetReceivedLicenseLicenseMetadata { return v.LicenseMetadatas }).(GetReceivedLicenseLicenseMetadataArrayOutput) +} + +// License name. +func (o GetReceivedLicenseResultOutput) LicenseName() pulumi.StringOutput { + return o.ApplyT(func(v GetReceivedLicenseResult) string { return v.LicenseName }).(pulumi.StringOutput) +} + +// Product name. +// * ` productSku ` - Product SKU. +func (o GetReceivedLicenseResultOutput) ProductName() pulumi.StringOutput { + return o.ApplyT(func(v GetReceivedLicenseResult) string { return v.ProductName }).(pulumi.StringOutput) +} + +func (o GetReceivedLicenseResultOutput) ProductSku() pulumi.StringOutput { + return o.ApplyT(func(v GetReceivedLicenseResult) string { return v.ProductSku }).(pulumi.StringOutput) +} + +// Granted license received metadata. Detailed below +func (o GetReceivedLicenseResultOutput) ReceivedMetadatas() GetReceivedLicenseReceivedMetadataArrayOutput { + return o.ApplyT(func(v GetReceivedLicenseResult) []GetReceivedLicenseReceivedMetadata { return v.ReceivedMetadatas }).(GetReceivedLicenseReceivedMetadataArrayOutput) +} + +// Granted license status. +func (o GetReceivedLicenseResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetReceivedLicenseResult) string { return v.Status }).(pulumi.StringOutput) +} + +// Date and time range during which the granted license is valid, in ISO8601-UTC format. Detailed below +func (o GetReceivedLicenseResultOutput) Validities() GetReceivedLicenseValidityArrayOutput { + return o.ApplyT(func(v GetReceivedLicenseResult) []GetReceivedLicenseValidity { return v.Validities }).(GetReceivedLicenseValidityArrayOutput) +} + +// Version of the granted license. +func (o GetReceivedLicenseResultOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v GetReceivedLicenseResult) string { return v.Version }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetReceivedLicenseResultOutput{}) +} diff --git a/sdk/go/aws/licensemanager/getReceivedLicenses.go b/sdk/go/aws/licensemanager/getReceivedLicenses.go new file mode 100644 index 00000000000..2c3227c52ed --- /dev/null +++ b/sdk/go/aws/licensemanager/getReceivedLicenses.go @@ -0,0 +1,127 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package licensemanager + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// This resource can be used to get a set of license ARNs matching a filter. +// +// ## Example Usage +// +// The following shows getting all license ARNs issued from the AWS marketplace. Providing no filter, would provide all license ARNs for the entire account. +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/licensemanager" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := licensemanager.GetReceivedLicenses(ctx, &licensemanager.GetReceivedLicensesArgs{ +// Filters: []licensemanager.GetReceivedLicensesFilter{ +// { +// Name: "IssuerName", +// Values: []string{ +// "AWS/Marketplace", +// }, +// }, +// }, +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +func GetReceivedLicenses(ctx *pulumi.Context, args *GetReceivedLicensesArgs, opts ...pulumi.InvokeOption) (*GetReceivedLicensesResult, error) { + var rv GetReceivedLicensesResult + err := ctx.Invoke("aws:licensemanager/getReceivedLicenses:getReceivedLicenses", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getReceivedLicenses. +type GetReceivedLicensesArgs struct { + // Custom filter block as described below. + Filters []GetReceivedLicensesFilter `pulumi:"filters"` +} + +// A collection of values returned by getReceivedLicenses. +type GetReceivedLicensesResult struct { + // List of all the license ARNs found. + Arns []string `pulumi:"arns"` + Filters []GetReceivedLicensesFilter `pulumi:"filters"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` +} + +func GetReceivedLicensesOutput(ctx *pulumi.Context, args GetReceivedLicensesOutputArgs, opts ...pulumi.InvokeOption) GetReceivedLicensesResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (GetReceivedLicensesResult, error) { + args := v.(GetReceivedLicensesArgs) + r, err := GetReceivedLicenses(ctx, &args, opts...) + var s GetReceivedLicensesResult + if r != nil { + s = *r + } + return s, err + }).(GetReceivedLicensesResultOutput) +} + +// A collection of arguments for invoking getReceivedLicenses. +type GetReceivedLicensesOutputArgs struct { + // Custom filter block as described below. + Filters GetReceivedLicensesFilterArrayInput `pulumi:"filters"` +} + +func (GetReceivedLicensesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetReceivedLicensesArgs)(nil)).Elem() +} + +// A collection of values returned by getReceivedLicenses. +type GetReceivedLicensesResultOutput struct{ *pulumi.OutputState } + +func (GetReceivedLicensesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetReceivedLicensesResult)(nil)).Elem() +} + +func (o GetReceivedLicensesResultOutput) ToGetReceivedLicensesResultOutput() GetReceivedLicensesResultOutput { + return o +} + +func (o GetReceivedLicensesResultOutput) ToGetReceivedLicensesResultOutputWithContext(ctx context.Context) GetReceivedLicensesResultOutput { + return o +} + +// List of all the license ARNs found. +func (o GetReceivedLicensesResultOutput) Arns() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetReceivedLicensesResult) []string { return v.Arns }).(pulumi.StringArrayOutput) +} + +func (o GetReceivedLicensesResultOutput) Filters() GetReceivedLicensesFilterArrayOutput { + return o.ApplyT(func(v GetReceivedLicensesResult) []GetReceivedLicensesFilter { return v.Filters }).(GetReceivedLicensesFilterArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetReceivedLicensesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetReceivedLicensesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetReceivedLicensesResultOutput{}) +} diff --git a/sdk/go/aws/licensemanager/init.go b/sdk/go/aws/licensemanager/init.go index 55c6dc92f98..346032858f1 100644 --- a/sdk/go/aws/licensemanager/init.go +++ b/sdk/go/aws/licensemanager/init.go @@ -25,6 +25,10 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &Association{} case "aws:licensemanager/licenseConfiguration:LicenseConfiguration": r = &LicenseConfiguration{} + case "aws:licensemanager/licenseGrant:LicenseGrant": + r = &LicenseGrant{} + case "aws:licensemanager/licenseGrantAccepter:LicenseGrantAccepter": + r = &LicenseGrantAccepter{} default: return nil, fmt.Errorf("unknown resource type: %s", typ) } @@ -48,4 +52,14 @@ func init() { "licensemanager/licenseConfiguration", &module{version}, ) + pulumi.RegisterResourceModule( + "aws", + "licensemanager/licenseGrant", + &module{version}, + ) + pulumi.RegisterResourceModule( + "aws", + "licensemanager/licenseGrantAccepter", + &module{version}, + ) } diff --git a/sdk/go/aws/licensemanager/licenseGrant.go b/sdk/go/aws/licensemanager/licenseGrant.go new file mode 100644 index 00000000000..0bf6b3308da --- /dev/null +++ b/sdk/go/aws/licensemanager/licenseGrant.go @@ -0,0 +1,333 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package licensemanager + +import ( + "context" + "reflect" + + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Provides a License Manager grant. This allows for sharing licenses with other AWS accounts. +// +// ## Import +// +// `aws_licensemanager_grant` can be imported using the grant arn. +// +// ```sh +// +// $ pulumi import aws:licensemanager/licenseGrant:LicenseGrant test arn:aws:license-manager::123456789011:grant:g-01d313393d9e443d8664cc054db1e089 +// +// ``` +type LicenseGrant struct { + pulumi.CustomResourceState + + // A list of the allowed operations for the grant. This is a subset of the allowed operations on the license. + AllowedOperations pulumi.StringArrayOutput `pulumi:"allowedOperations"` + // The grant ARN. + Arn pulumi.StringOutput `pulumi:"arn"` + // The home region for the license. + HomeRegion pulumi.StringOutput `pulumi:"homeRegion"` + // The ARN of the license to grant. + LicenseArn pulumi.StringOutput `pulumi:"licenseArn"` + // The Name of the grant. + Name pulumi.StringOutput `pulumi:"name"` + // The parent ARN. + ParentArn pulumi.StringOutput `pulumi:"parentArn"` + // The target account for the grant in the form of the ARN for an account principal of the root user. + Principal pulumi.StringOutput `pulumi:"principal"` + // The grant status. + Status pulumi.StringOutput `pulumi:"status"` + // The grant version. + Version pulumi.StringOutput `pulumi:"version"` +} + +// NewLicenseGrant registers a new resource with the given unique name, arguments, and options. +func NewLicenseGrant(ctx *pulumi.Context, + name string, args *LicenseGrantArgs, opts ...pulumi.ResourceOption) (*LicenseGrant, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.AllowedOperations == nil { + return nil, errors.New("invalid value for required argument 'AllowedOperations'") + } + if args.LicenseArn == nil { + return nil, errors.New("invalid value for required argument 'LicenseArn'") + } + if args.Principal == nil { + return nil, errors.New("invalid value for required argument 'Principal'") + } + var resource LicenseGrant + err := ctx.RegisterResource("aws:licensemanager/licenseGrant:LicenseGrant", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetLicenseGrant gets an existing LicenseGrant resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetLicenseGrant(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *LicenseGrantState, opts ...pulumi.ResourceOption) (*LicenseGrant, error) { + var resource LicenseGrant + err := ctx.ReadResource("aws:licensemanager/licenseGrant:LicenseGrant", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering LicenseGrant resources. +type licenseGrantState struct { + // A list of the allowed operations for the grant. This is a subset of the allowed operations on the license. + AllowedOperations []string `pulumi:"allowedOperations"` + // The grant ARN. + Arn *string `pulumi:"arn"` + // The home region for the license. + HomeRegion *string `pulumi:"homeRegion"` + // The ARN of the license to grant. + LicenseArn *string `pulumi:"licenseArn"` + // The Name of the grant. + Name *string `pulumi:"name"` + // The parent ARN. + ParentArn *string `pulumi:"parentArn"` + // The target account for the grant in the form of the ARN for an account principal of the root user. + Principal *string `pulumi:"principal"` + // The grant status. + Status *string `pulumi:"status"` + // The grant version. + Version *string `pulumi:"version"` +} + +type LicenseGrantState struct { + // A list of the allowed operations for the grant. This is a subset of the allowed operations on the license. + AllowedOperations pulumi.StringArrayInput + // The grant ARN. + Arn pulumi.StringPtrInput + // The home region for the license. + HomeRegion pulumi.StringPtrInput + // The ARN of the license to grant. + LicenseArn pulumi.StringPtrInput + // The Name of the grant. + Name pulumi.StringPtrInput + // The parent ARN. + ParentArn pulumi.StringPtrInput + // The target account for the grant in the form of the ARN for an account principal of the root user. + Principal pulumi.StringPtrInput + // The grant status. + Status pulumi.StringPtrInput + // The grant version. + Version pulumi.StringPtrInput +} + +func (LicenseGrantState) ElementType() reflect.Type { + return reflect.TypeOf((*licenseGrantState)(nil)).Elem() +} + +type licenseGrantArgs struct { + // A list of the allowed operations for the grant. This is a subset of the allowed operations on the license. + AllowedOperations []string `pulumi:"allowedOperations"` + // The ARN of the license to grant. + LicenseArn string `pulumi:"licenseArn"` + // The Name of the grant. + Name *string `pulumi:"name"` + // The target account for the grant in the form of the ARN for an account principal of the root user. + Principal string `pulumi:"principal"` +} + +// The set of arguments for constructing a LicenseGrant resource. +type LicenseGrantArgs struct { + // A list of the allowed operations for the grant. This is a subset of the allowed operations on the license. + AllowedOperations pulumi.StringArrayInput + // The ARN of the license to grant. + LicenseArn pulumi.StringInput + // The Name of the grant. + Name pulumi.StringPtrInput + // The target account for the grant in the form of the ARN for an account principal of the root user. + Principal pulumi.StringInput +} + +func (LicenseGrantArgs) ElementType() reflect.Type { + return reflect.TypeOf((*licenseGrantArgs)(nil)).Elem() +} + +type LicenseGrantInput interface { + pulumi.Input + + ToLicenseGrantOutput() LicenseGrantOutput + ToLicenseGrantOutputWithContext(ctx context.Context) LicenseGrantOutput +} + +func (*LicenseGrant) ElementType() reflect.Type { + return reflect.TypeOf((**LicenseGrant)(nil)).Elem() +} + +func (i *LicenseGrant) ToLicenseGrantOutput() LicenseGrantOutput { + return i.ToLicenseGrantOutputWithContext(context.Background()) +} + +func (i *LicenseGrant) ToLicenseGrantOutputWithContext(ctx context.Context) LicenseGrantOutput { + return pulumi.ToOutputWithContext(ctx, i).(LicenseGrantOutput) +} + +// LicenseGrantArrayInput is an input type that accepts LicenseGrantArray and LicenseGrantArrayOutput values. +// You can construct a concrete instance of `LicenseGrantArrayInput` via: +// +// LicenseGrantArray{ LicenseGrantArgs{...} } +type LicenseGrantArrayInput interface { + pulumi.Input + + ToLicenseGrantArrayOutput() LicenseGrantArrayOutput + ToLicenseGrantArrayOutputWithContext(context.Context) LicenseGrantArrayOutput +} + +type LicenseGrantArray []LicenseGrantInput + +func (LicenseGrantArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*LicenseGrant)(nil)).Elem() +} + +func (i LicenseGrantArray) ToLicenseGrantArrayOutput() LicenseGrantArrayOutput { + return i.ToLicenseGrantArrayOutputWithContext(context.Background()) +} + +func (i LicenseGrantArray) ToLicenseGrantArrayOutputWithContext(ctx context.Context) LicenseGrantArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(LicenseGrantArrayOutput) +} + +// LicenseGrantMapInput is an input type that accepts LicenseGrantMap and LicenseGrantMapOutput values. +// You can construct a concrete instance of `LicenseGrantMapInput` via: +// +// LicenseGrantMap{ "key": LicenseGrantArgs{...} } +type LicenseGrantMapInput interface { + pulumi.Input + + ToLicenseGrantMapOutput() LicenseGrantMapOutput + ToLicenseGrantMapOutputWithContext(context.Context) LicenseGrantMapOutput +} + +type LicenseGrantMap map[string]LicenseGrantInput + +func (LicenseGrantMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*LicenseGrant)(nil)).Elem() +} + +func (i LicenseGrantMap) ToLicenseGrantMapOutput() LicenseGrantMapOutput { + return i.ToLicenseGrantMapOutputWithContext(context.Background()) +} + +func (i LicenseGrantMap) ToLicenseGrantMapOutputWithContext(ctx context.Context) LicenseGrantMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(LicenseGrantMapOutput) +} + +type LicenseGrantOutput struct{ *pulumi.OutputState } + +func (LicenseGrantOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LicenseGrant)(nil)).Elem() +} + +func (o LicenseGrantOutput) ToLicenseGrantOutput() LicenseGrantOutput { + return o +} + +func (o LicenseGrantOutput) ToLicenseGrantOutputWithContext(ctx context.Context) LicenseGrantOutput { + return o +} + +// A list of the allowed operations for the grant. This is a subset of the allowed operations on the license. +func (o LicenseGrantOutput) AllowedOperations() pulumi.StringArrayOutput { + return o.ApplyT(func(v *LicenseGrant) pulumi.StringArrayOutput { return v.AllowedOperations }).(pulumi.StringArrayOutput) +} + +// The grant ARN. +func (o LicenseGrantOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *LicenseGrant) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + +// The home region for the license. +func (o LicenseGrantOutput) HomeRegion() pulumi.StringOutput { + return o.ApplyT(func(v *LicenseGrant) pulumi.StringOutput { return v.HomeRegion }).(pulumi.StringOutput) +} + +// The ARN of the license to grant. +func (o LicenseGrantOutput) LicenseArn() pulumi.StringOutput { + return o.ApplyT(func(v *LicenseGrant) pulumi.StringOutput { return v.LicenseArn }).(pulumi.StringOutput) +} + +// The Name of the grant. +func (o LicenseGrantOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *LicenseGrant) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The parent ARN. +func (o LicenseGrantOutput) ParentArn() pulumi.StringOutput { + return o.ApplyT(func(v *LicenseGrant) pulumi.StringOutput { return v.ParentArn }).(pulumi.StringOutput) +} + +// The target account for the grant in the form of the ARN for an account principal of the root user. +func (o LicenseGrantOutput) Principal() pulumi.StringOutput { + return o.ApplyT(func(v *LicenseGrant) pulumi.StringOutput { return v.Principal }).(pulumi.StringOutput) +} + +// The grant status. +func (o LicenseGrantOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *LicenseGrant) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// The grant version. +func (o LicenseGrantOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v *LicenseGrant) pulumi.StringOutput { return v.Version }).(pulumi.StringOutput) +} + +type LicenseGrantArrayOutput struct{ *pulumi.OutputState } + +func (LicenseGrantArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*LicenseGrant)(nil)).Elem() +} + +func (o LicenseGrantArrayOutput) ToLicenseGrantArrayOutput() LicenseGrantArrayOutput { + return o +} + +func (o LicenseGrantArrayOutput) ToLicenseGrantArrayOutputWithContext(ctx context.Context) LicenseGrantArrayOutput { + return o +} + +func (o LicenseGrantArrayOutput) Index(i pulumi.IntInput) LicenseGrantOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *LicenseGrant { + return vs[0].([]*LicenseGrant)[vs[1].(int)] + }).(LicenseGrantOutput) +} + +type LicenseGrantMapOutput struct{ *pulumi.OutputState } + +func (LicenseGrantMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*LicenseGrant)(nil)).Elem() +} + +func (o LicenseGrantMapOutput) ToLicenseGrantMapOutput() LicenseGrantMapOutput { + return o +} + +func (o LicenseGrantMapOutput) ToLicenseGrantMapOutputWithContext(ctx context.Context) LicenseGrantMapOutput { + return o +} + +func (o LicenseGrantMapOutput) MapIndex(k pulumi.StringInput) LicenseGrantOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *LicenseGrant { + return vs[0].(map[string]*LicenseGrant)[vs[1].(string)] + }).(LicenseGrantOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*LicenseGrantInput)(nil)).Elem(), &LicenseGrant{}) + pulumi.RegisterInputType(reflect.TypeOf((*LicenseGrantArrayInput)(nil)).Elem(), LicenseGrantArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*LicenseGrantMapInput)(nil)).Elem(), LicenseGrantMap{}) + pulumi.RegisterOutputType(LicenseGrantOutput{}) + pulumi.RegisterOutputType(LicenseGrantArrayOutput{}) + pulumi.RegisterOutputType(LicenseGrantMapOutput{}) +} diff --git a/sdk/go/aws/licensemanager/licenseGrantAccepter.go b/sdk/go/aws/licensemanager/licenseGrantAccepter.go new file mode 100644 index 00000000000..94162d35297 --- /dev/null +++ b/sdk/go/aws/licensemanager/licenseGrantAccepter.go @@ -0,0 +1,315 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package licensemanager + +import ( + "context" + "reflect" + + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Accepts a License Manager grant. This allows for sharing licenses with other aws accounts. +// +// ## Import +// +// `aws_licensemanager_grant_accepter` can be imported using the grant arn. +// +// ```sh +// +// $ pulumi import aws:licensemanager/licenseGrantAccepter:LicenseGrantAccepter test arn:aws:license-manager::123456789012:grant:g-1cf9fba4ba2f42dcab11c686c4b4d329 +// +// ``` +type LicenseGrantAccepter struct { + pulumi.CustomResourceState + + // A list of the allowed operations for the grant. + AllowedOperations pulumi.StringArrayOutput `pulumi:"allowedOperations"` + // The ARN of the grant to accept. + GrantArn pulumi.StringOutput `pulumi:"grantArn"` + // The home region for the license. + HomeRegion pulumi.StringOutput `pulumi:"homeRegion"` + // The ARN of the license for the grant. + LicenseArn pulumi.StringOutput `pulumi:"licenseArn"` + // The Name of the grant. + Name pulumi.StringOutput `pulumi:"name"` + // The parent ARN. + ParentArn pulumi.StringOutput `pulumi:"parentArn"` + // The target account for the grant. + Principal pulumi.StringOutput `pulumi:"principal"` + // The grant status. + Status pulumi.StringOutput `pulumi:"status"` + // The grant version. + Version pulumi.StringOutput `pulumi:"version"` +} + +// NewLicenseGrantAccepter registers a new resource with the given unique name, arguments, and options. +func NewLicenseGrantAccepter(ctx *pulumi.Context, + name string, args *LicenseGrantAccepterArgs, opts ...pulumi.ResourceOption) (*LicenseGrantAccepter, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.GrantArn == nil { + return nil, errors.New("invalid value for required argument 'GrantArn'") + } + var resource LicenseGrantAccepter + err := ctx.RegisterResource("aws:licensemanager/licenseGrantAccepter:LicenseGrantAccepter", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetLicenseGrantAccepter gets an existing LicenseGrantAccepter resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetLicenseGrantAccepter(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *LicenseGrantAccepterState, opts ...pulumi.ResourceOption) (*LicenseGrantAccepter, error) { + var resource LicenseGrantAccepter + err := ctx.ReadResource("aws:licensemanager/licenseGrantAccepter:LicenseGrantAccepter", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering LicenseGrantAccepter resources. +type licenseGrantAccepterState struct { + // A list of the allowed operations for the grant. + AllowedOperations []string `pulumi:"allowedOperations"` + // The ARN of the grant to accept. + GrantArn *string `pulumi:"grantArn"` + // The home region for the license. + HomeRegion *string `pulumi:"homeRegion"` + // The ARN of the license for the grant. + LicenseArn *string `pulumi:"licenseArn"` + // The Name of the grant. + Name *string `pulumi:"name"` + // The parent ARN. + ParentArn *string `pulumi:"parentArn"` + // The target account for the grant. + Principal *string `pulumi:"principal"` + // The grant status. + Status *string `pulumi:"status"` + // The grant version. + Version *string `pulumi:"version"` +} + +type LicenseGrantAccepterState struct { + // A list of the allowed operations for the grant. + AllowedOperations pulumi.StringArrayInput + // The ARN of the grant to accept. + GrantArn pulumi.StringPtrInput + // The home region for the license. + HomeRegion pulumi.StringPtrInput + // The ARN of the license for the grant. + LicenseArn pulumi.StringPtrInput + // The Name of the grant. + Name pulumi.StringPtrInput + // The parent ARN. + ParentArn pulumi.StringPtrInput + // The target account for the grant. + Principal pulumi.StringPtrInput + // The grant status. + Status pulumi.StringPtrInput + // The grant version. + Version pulumi.StringPtrInput +} + +func (LicenseGrantAccepterState) ElementType() reflect.Type { + return reflect.TypeOf((*licenseGrantAccepterState)(nil)).Elem() +} + +type licenseGrantAccepterArgs struct { + // The ARN of the grant to accept. + GrantArn string `pulumi:"grantArn"` +} + +// The set of arguments for constructing a LicenseGrantAccepter resource. +type LicenseGrantAccepterArgs struct { + // The ARN of the grant to accept. + GrantArn pulumi.StringInput +} + +func (LicenseGrantAccepterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*licenseGrantAccepterArgs)(nil)).Elem() +} + +type LicenseGrantAccepterInput interface { + pulumi.Input + + ToLicenseGrantAccepterOutput() LicenseGrantAccepterOutput + ToLicenseGrantAccepterOutputWithContext(ctx context.Context) LicenseGrantAccepterOutput +} + +func (*LicenseGrantAccepter) ElementType() reflect.Type { + return reflect.TypeOf((**LicenseGrantAccepter)(nil)).Elem() +} + +func (i *LicenseGrantAccepter) ToLicenseGrantAccepterOutput() LicenseGrantAccepterOutput { + return i.ToLicenseGrantAccepterOutputWithContext(context.Background()) +} + +func (i *LicenseGrantAccepter) ToLicenseGrantAccepterOutputWithContext(ctx context.Context) LicenseGrantAccepterOutput { + return pulumi.ToOutputWithContext(ctx, i).(LicenseGrantAccepterOutput) +} + +// LicenseGrantAccepterArrayInput is an input type that accepts LicenseGrantAccepterArray and LicenseGrantAccepterArrayOutput values. +// You can construct a concrete instance of `LicenseGrantAccepterArrayInput` via: +// +// LicenseGrantAccepterArray{ LicenseGrantAccepterArgs{...} } +type LicenseGrantAccepterArrayInput interface { + pulumi.Input + + ToLicenseGrantAccepterArrayOutput() LicenseGrantAccepterArrayOutput + ToLicenseGrantAccepterArrayOutputWithContext(context.Context) LicenseGrantAccepterArrayOutput +} + +type LicenseGrantAccepterArray []LicenseGrantAccepterInput + +func (LicenseGrantAccepterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*LicenseGrantAccepter)(nil)).Elem() +} + +func (i LicenseGrantAccepterArray) ToLicenseGrantAccepterArrayOutput() LicenseGrantAccepterArrayOutput { + return i.ToLicenseGrantAccepterArrayOutputWithContext(context.Background()) +} + +func (i LicenseGrantAccepterArray) ToLicenseGrantAccepterArrayOutputWithContext(ctx context.Context) LicenseGrantAccepterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(LicenseGrantAccepterArrayOutput) +} + +// LicenseGrantAccepterMapInput is an input type that accepts LicenseGrantAccepterMap and LicenseGrantAccepterMapOutput values. +// You can construct a concrete instance of `LicenseGrantAccepterMapInput` via: +// +// LicenseGrantAccepterMap{ "key": LicenseGrantAccepterArgs{...} } +type LicenseGrantAccepterMapInput interface { + pulumi.Input + + ToLicenseGrantAccepterMapOutput() LicenseGrantAccepterMapOutput + ToLicenseGrantAccepterMapOutputWithContext(context.Context) LicenseGrantAccepterMapOutput +} + +type LicenseGrantAccepterMap map[string]LicenseGrantAccepterInput + +func (LicenseGrantAccepterMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*LicenseGrantAccepter)(nil)).Elem() +} + +func (i LicenseGrantAccepterMap) ToLicenseGrantAccepterMapOutput() LicenseGrantAccepterMapOutput { + return i.ToLicenseGrantAccepterMapOutputWithContext(context.Background()) +} + +func (i LicenseGrantAccepterMap) ToLicenseGrantAccepterMapOutputWithContext(ctx context.Context) LicenseGrantAccepterMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(LicenseGrantAccepterMapOutput) +} + +type LicenseGrantAccepterOutput struct{ *pulumi.OutputState } + +func (LicenseGrantAccepterOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LicenseGrantAccepter)(nil)).Elem() +} + +func (o LicenseGrantAccepterOutput) ToLicenseGrantAccepterOutput() LicenseGrantAccepterOutput { + return o +} + +func (o LicenseGrantAccepterOutput) ToLicenseGrantAccepterOutputWithContext(ctx context.Context) LicenseGrantAccepterOutput { + return o +} + +// A list of the allowed operations for the grant. +func (o LicenseGrantAccepterOutput) AllowedOperations() pulumi.StringArrayOutput { + return o.ApplyT(func(v *LicenseGrantAccepter) pulumi.StringArrayOutput { return v.AllowedOperations }).(pulumi.StringArrayOutput) +} + +// The ARN of the grant to accept. +func (o LicenseGrantAccepterOutput) GrantArn() pulumi.StringOutput { + return o.ApplyT(func(v *LicenseGrantAccepter) pulumi.StringOutput { return v.GrantArn }).(pulumi.StringOutput) +} + +// The home region for the license. +func (o LicenseGrantAccepterOutput) HomeRegion() pulumi.StringOutput { + return o.ApplyT(func(v *LicenseGrantAccepter) pulumi.StringOutput { return v.HomeRegion }).(pulumi.StringOutput) +} + +// The ARN of the license for the grant. +func (o LicenseGrantAccepterOutput) LicenseArn() pulumi.StringOutput { + return o.ApplyT(func(v *LicenseGrantAccepter) pulumi.StringOutput { return v.LicenseArn }).(pulumi.StringOutput) +} + +// The Name of the grant. +func (o LicenseGrantAccepterOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *LicenseGrantAccepter) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The parent ARN. +func (o LicenseGrantAccepterOutput) ParentArn() pulumi.StringOutput { + return o.ApplyT(func(v *LicenseGrantAccepter) pulumi.StringOutput { return v.ParentArn }).(pulumi.StringOutput) +} + +// The target account for the grant. +func (o LicenseGrantAccepterOutput) Principal() pulumi.StringOutput { + return o.ApplyT(func(v *LicenseGrantAccepter) pulumi.StringOutput { return v.Principal }).(pulumi.StringOutput) +} + +// The grant status. +func (o LicenseGrantAccepterOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *LicenseGrantAccepter) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// The grant version. +func (o LicenseGrantAccepterOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v *LicenseGrantAccepter) pulumi.StringOutput { return v.Version }).(pulumi.StringOutput) +} + +type LicenseGrantAccepterArrayOutput struct{ *pulumi.OutputState } + +func (LicenseGrantAccepterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*LicenseGrantAccepter)(nil)).Elem() +} + +func (o LicenseGrantAccepterArrayOutput) ToLicenseGrantAccepterArrayOutput() LicenseGrantAccepterArrayOutput { + return o +} + +func (o LicenseGrantAccepterArrayOutput) ToLicenseGrantAccepterArrayOutputWithContext(ctx context.Context) LicenseGrantAccepterArrayOutput { + return o +} + +func (o LicenseGrantAccepterArrayOutput) Index(i pulumi.IntInput) LicenseGrantAccepterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *LicenseGrantAccepter { + return vs[0].([]*LicenseGrantAccepter)[vs[1].(int)] + }).(LicenseGrantAccepterOutput) +} + +type LicenseGrantAccepterMapOutput struct{ *pulumi.OutputState } + +func (LicenseGrantAccepterMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*LicenseGrantAccepter)(nil)).Elem() +} + +func (o LicenseGrantAccepterMapOutput) ToLicenseGrantAccepterMapOutput() LicenseGrantAccepterMapOutput { + return o +} + +func (o LicenseGrantAccepterMapOutput) ToLicenseGrantAccepterMapOutputWithContext(ctx context.Context) LicenseGrantAccepterMapOutput { + return o +} + +func (o LicenseGrantAccepterMapOutput) MapIndex(k pulumi.StringInput) LicenseGrantAccepterOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *LicenseGrantAccepter { + return vs[0].(map[string]*LicenseGrantAccepter)[vs[1].(string)] + }).(LicenseGrantAccepterOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*LicenseGrantAccepterInput)(nil)).Elem(), &LicenseGrantAccepter{}) + pulumi.RegisterInputType(reflect.TypeOf((*LicenseGrantAccepterArrayInput)(nil)).Elem(), LicenseGrantAccepterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*LicenseGrantAccepterMapInput)(nil)).Elem(), LicenseGrantAccepterMap{}) + pulumi.RegisterOutputType(LicenseGrantAccepterOutput{}) + pulumi.RegisterOutputType(LicenseGrantAccepterArrayOutput{}) + pulumi.RegisterOutputType(LicenseGrantAccepterMapOutput{}) +} diff --git a/sdk/go/aws/licensemanager/pulumiTypes.go b/sdk/go/aws/licensemanager/pulumiTypes.go new file mode 100644 index 00000000000..7da024fb9ee --- /dev/null +++ b/sdk/go/aws/licensemanager/pulumiTypes.go @@ -0,0 +1,1176 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package licensemanager + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type GetLicenseGrantsFilter struct { + // Name of the field to filter by, as defined by + // [the underlying AWS API](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_ListReceivedGrants.html#API_ListReceivedGrants_RequestSyntax). + // For example, if filtering using `ProductSKU`, use: + Name string `pulumi:"name"` + // Set of values that are accepted for the given field. + Values []string `pulumi:"values"` +} + +// GetLicenseGrantsFilterInput is an input type that accepts GetLicenseGrantsFilterArgs and GetLicenseGrantsFilterOutput values. +// You can construct a concrete instance of `GetLicenseGrantsFilterInput` via: +// +// GetLicenseGrantsFilterArgs{...} +type GetLicenseGrantsFilterInput interface { + pulumi.Input + + ToGetLicenseGrantsFilterOutput() GetLicenseGrantsFilterOutput + ToGetLicenseGrantsFilterOutputWithContext(context.Context) GetLicenseGrantsFilterOutput +} + +type GetLicenseGrantsFilterArgs struct { + // Name of the field to filter by, as defined by + // [the underlying AWS API](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_ListReceivedGrants.html#API_ListReceivedGrants_RequestSyntax). + // For example, if filtering using `ProductSKU`, use: + Name pulumi.StringInput `pulumi:"name"` + // Set of values that are accepted for the given field. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetLicenseGrantsFilterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetLicenseGrantsFilter)(nil)).Elem() +} + +func (i GetLicenseGrantsFilterArgs) ToGetLicenseGrantsFilterOutput() GetLicenseGrantsFilterOutput { + return i.ToGetLicenseGrantsFilterOutputWithContext(context.Background()) +} + +func (i GetLicenseGrantsFilterArgs) ToGetLicenseGrantsFilterOutputWithContext(ctx context.Context) GetLicenseGrantsFilterOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLicenseGrantsFilterOutput) +} + +// GetLicenseGrantsFilterArrayInput is an input type that accepts GetLicenseGrantsFilterArray and GetLicenseGrantsFilterArrayOutput values. +// You can construct a concrete instance of `GetLicenseGrantsFilterArrayInput` via: +// +// GetLicenseGrantsFilterArray{ GetLicenseGrantsFilterArgs{...} } +type GetLicenseGrantsFilterArrayInput interface { + pulumi.Input + + ToGetLicenseGrantsFilterArrayOutput() GetLicenseGrantsFilterArrayOutput + ToGetLicenseGrantsFilterArrayOutputWithContext(context.Context) GetLicenseGrantsFilterArrayOutput +} + +type GetLicenseGrantsFilterArray []GetLicenseGrantsFilterInput + +func (GetLicenseGrantsFilterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetLicenseGrantsFilter)(nil)).Elem() +} + +func (i GetLicenseGrantsFilterArray) ToGetLicenseGrantsFilterArrayOutput() GetLicenseGrantsFilterArrayOutput { + return i.ToGetLicenseGrantsFilterArrayOutputWithContext(context.Background()) +} + +func (i GetLicenseGrantsFilterArray) ToGetLicenseGrantsFilterArrayOutputWithContext(ctx context.Context) GetLicenseGrantsFilterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLicenseGrantsFilterArrayOutput) +} + +type GetLicenseGrantsFilterOutput struct{ *pulumi.OutputState } + +func (GetLicenseGrantsFilterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetLicenseGrantsFilter)(nil)).Elem() +} + +func (o GetLicenseGrantsFilterOutput) ToGetLicenseGrantsFilterOutput() GetLicenseGrantsFilterOutput { + return o +} + +func (o GetLicenseGrantsFilterOutput) ToGetLicenseGrantsFilterOutputWithContext(ctx context.Context) GetLicenseGrantsFilterOutput { + return o +} + +// Name of the field to filter by, as defined by +// [the underlying AWS API](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_ListReceivedGrants.html#API_ListReceivedGrants_RequestSyntax). +// For example, if filtering using `ProductSKU`, use: +func (o GetLicenseGrantsFilterOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetLicenseGrantsFilter) string { return v.Name }).(pulumi.StringOutput) +} + +// Set of values that are accepted for the given field. +func (o GetLicenseGrantsFilterOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetLicenseGrantsFilter) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetLicenseGrantsFilterArrayOutput struct{ *pulumi.OutputState } + +func (GetLicenseGrantsFilterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetLicenseGrantsFilter)(nil)).Elem() +} + +func (o GetLicenseGrantsFilterArrayOutput) ToGetLicenseGrantsFilterArrayOutput() GetLicenseGrantsFilterArrayOutput { + return o +} + +func (o GetLicenseGrantsFilterArrayOutput) ToGetLicenseGrantsFilterArrayOutputWithContext(ctx context.Context) GetLicenseGrantsFilterArrayOutput { + return o +} + +func (o GetLicenseGrantsFilterArrayOutput) Index(i pulumi.IntInput) GetLicenseGrantsFilterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetLicenseGrantsFilter { + return vs[0].([]GetLicenseGrantsFilter)[vs[1].(int)] + }).(GetLicenseGrantsFilterOutput) +} + +type GetReceivedLicenseConsumptionConfiguration struct { + // Details about a borrow configuration. Detailed below + BorrowConfigurations []GetReceivedLicenseConsumptionConfigurationBorrowConfiguration `pulumi:"borrowConfigurations"` + // Details about a provisional configuration. Detailed below + ProvisionalConfigurations []GetReceivedLicenseConsumptionConfigurationProvisionalConfiguration `pulumi:"provisionalConfigurations"` + RenewType string `pulumi:"renewType"` +} + +// GetReceivedLicenseConsumptionConfigurationInput is an input type that accepts GetReceivedLicenseConsumptionConfigurationArgs and GetReceivedLicenseConsumptionConfigurationOutput values. +// You can construct a concrete instance of `GetReceivedLicenseConsumptionConfigurationInput` via: +// +// GetReceivedLicenseConsumptionConfigurationArgs{...} +type GetReceivedLicenseConsumptionConfigurationInput interface { + pulumi.Input + + ToGetReceivedLicenseConsumptionConfigurationOutput() GetReceivedLicenseConsumptionConfigurationOutput + ToGetReceivedLicenseConsumptionConfigurationOutputWithContext(context.Context) GetReceivedLicenseConsumptionConfigurationOutput +} + +type GetReceivedLicenseConsumptionConfigurationArgs struct { + // Details about a borrow configuration. Detailed below + BorrowConfigurations GetReceivedLicenseConsumptionConfigurationBorrowConfigurationArrayInput `pulumi:"borrowConfigurations"` + // Details about a provisional configuration. Detailed below + ProvisionalConfigurations GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationArrayInput `pulumi:"provisionalConfigurations"` + RenewType pulumi.StringInput `pulumi:"renewType"` +} + +func (GetReceivedLicenseConsumptionConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetReceivedLicenseConsumptionConfiguration)(nil)).Elem() +} + +func (i GetReceivedLicenseConsumptionConfigurationArgs) ToGetReceivedLicenseConsumptionConfigurationOutput() GetReceivedLicenseConsumptionConfigurationOutput { + return i.ToGetReceivedLicenseConsumptionConfigurationOutputWithContext(context.Background()) +} + +func (i GetReceivedLicenseConsumptionConfigurationArgs) ToGetReceivedLicenseConsumptionConfigurationOutputWithContext(ctx context.Context) GetReceivedLicenseConsumptionConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetReceivedLicenseConsumptionConfigurationOutput) +} + +// GetReceivedLicenseConsumptionConfigurationArrayInput is an input type that accepts GetReceivedLicenseConsumptionConfigurationArray and GetReceivedLicenseConsumptionConfigurationArrayOutput values. +// You can construct a concrete instance of `GetReceivedLicenseConsumptionConfigurationArrayInput` via: +// +// GetReceivedLicenseConsumptionConfigurationArray{ GetReceivedLicenseConsumptionConfigurationArgs{...} } +type GetReceivedLicenseConsumptionConfigurationArrayInput interface { + pulumi.Input + + ToGetReceivedLicenseConsumptionConfigurationArrayOutput() GetReceivedLicenseConsumptionConfigurationArrayOutput + ToGetReceivedLicenseConsumptionConfigurationArrayOutputWithContext(context.Context) GetReceivedLicenseConsumptionConfigurationArrayOutput +} + +type GetReceivedLicenseConsumptionConfigurationArray []GetReceivedLicenseConsumptionConfigurationInput + +func (GetReceivedLicenseConsumptionConfigurationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetReceivedLicenseConsumptionConfiguration)(nil)).Elem() +} + +func (i GetReceivedLicenseConsumptionConfigurationArray) ToGetReceivedLicenseConsumptionConfigurationArrayOutput() GetReceivedLicenseConsumptionConfigurationArrayOutput { + return i.ToGetReceivedLicenseConsumptionConfigurationArrayOutputWithContext(context.Background()) +} + +func (i GetReceivedLicenseConsumptionConfigurationArray) ToGetReceivedLicenseConsumptionConfigurationArrayOutputWithContext(ctx context.Context) GetReceivedLicenseConsumptionConfigurationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetReceivedLicenseConsumptionConfigurationArrayOutput) +} + +type GetReceivedLicenseConsumptionConfigurationOutput struct{ *pulumi.OutputState } + +func (GetReceivedLicenseConsumptionConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetReceivedLicenseConsumptionConfiguration)(nil)).Elem() +} + +func (o GetReceivedLicenseConsumptionConfigurationOutput) ToGetReceivedLicenseConsumptionConfigurationOutput() GetReceivedLicenseConsumptionConfigurationOutput { + return o +} + +func (o GetReceivedLicenseConsumptionConfigurationOutput) ToGetReceivedLicenseConsumptionConfigurationOutputWithContext(ctx context.Context) GetReceivedLicenseConsumptionConfigurationOutput { + return o +} + +// Details about a borrow configuration. Detailed below +func (o GetReceivedLicenseConsumptionConfigurationOutput) BorrowConfigurations() GetReceivedLicenseConsumptionConfigurationBorrowConfigurationArrayOutput { + return o.ApplyT(func(v GetReceivedLicenseConsumptionConfiguration) []GetReceivedLicenseConsumptionConfigurationBorrowConfiguration { + return v.BorrowConfigurations + }).(GetReceivedLicenseConsumptionConfigurationBorrowConfigurationArrayOutput) +} + +// Details about a provisional configuration. Detailed below +func (o GetReceivedLicenseConsumptionConfigurationOutput) ProvisionalConfigurations() GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationArrayOutput { + return o.ApplyT(func(v GetReceivedLicenseConsumptionConfiguration) []GetReceivedLicenseConsumptionConfigurationProvisionalConfiguration { + return v.ProvisionalConfigurations + }).(GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationArrayOutput) +} + +func (o GetReceivedLicenseConsumptionConfigurationOutput) RenewType() pulumi.StringOutput { + return o.ApplyT(func(v GetReceivedLicenseConsumptionConfiguration) string { return v.RenewType }).(pulumi.StringOutput) +} + +type GetReceivedLicenseConsumptionConfigurationArrayOutput struct{ *pulumi.OutputState } + +func (GetReceivedLicenseConsumptionConfigurationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetReceivedLicenseConsumptionConfiguration)(nil)).Elem() +} + +func (o GetReceivedLicenseConsumptionConfigurationArrayOutput) ToGetReceivedLicenseConsumptionConfigurationArrayOutput() GetReceivedLicenseConsumptionConfigurationArrayOutput { + return o +} + +func (o GetReceivedLicenseConsumptionConfigurationArrayOutput) ToGetReceivedLicenseConsumptionConfigurationArrayOutputWithContext(ctx context.Context) GetReceivedLicenseConsumptionConfigurationArrayOutput { + return o +} + +func (o GetReceivedLicenseConsumptionConfigurationArrayOutput) Index(i pulumi.IntInput) GetReceivedLicenseConsumptionConfigurationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetReceivedLicenseConsumptionConfiguration { + return vs[0].([]GetReceivedLicenseConsumptionConfiguration)[vs[1].(int)] + }).(GetReceivedLicenseConsumptionConfigurationOutput) +} + +type GetReceivedLicenseConsumptionConfigurationBorrowConfiguration struct { + // Indicates whether early check-ins are allowed. + AllowEarlyCheckIn bool `pulumi:"allowEarlyCheckIn"` + // Maximum time for the provisional configuration, in minutes. + MaxTimeToLiveInMinutes int `pulumi:"maxTimeToLiveInMinutes"` +} + +// GetReceivedLicenseConsumptionConfigurationBorrowConfigurationInput is an input type that accepts GetReceivedLicenseConsumptionConfigurationBorrowConfigurationArgs and GetReceivedLicenseConsumptionConfigurationBorrowConfigurationOutput values. +// You can construct a concrete instance of `GetReceivedLicenseConsumptionConfigurationBorrowConfigurationInput` via: +// +// GetReceivedLicenseConsumptionConfigurationBorrowConfigurationArgs{...} +type GetReceivedLicenseConsumptionConfigurationBorrowConfigurationInput interface { + pulumi.Input + + ToGetReceivedLicenseConsumptionConfigurationBorrowConfigurationOutput() GetReceivedLicenseConsumptionConfigurationBorrowConfigurationOutput + ToGetReceivedLicenseConsumptionConfigurationBorrowConfigurationOutputWithContext(context.Context) GetReceivedLicenseConsumptionConfigurationBorrowConfigurationOutput +} + +type GetReceivedLicenseConsumptionConfigurationBorrowConfigurationArgs struct { + // Indicates whether early check-ins are allowed. + AllowEarlyCheckIn pulumi.BoolInput `pulumi:"allowEarlyCheckIn"` + // Maximum time for the provisional configuration, in minutes. + MaxTimeToLiveInMinutes pulumi.IntInput `pulumi:"maxTimeToLiveInMinutes"` +} + +func (GetReceivedLicenseConsumptionConfigurationBorrowConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetReceivedLicenseConsumptionConfigurationBorrowConfiguration)(nil)).Elem() +} + +func (i GetReceivedLicenseConsumptionConfigurationBorrowConfigurationArgs) ToGetReceivedLicenseConsumptionConfigurationBorrowConfigurationOutput() GetReceivedLicenseConsumptionConfigurationBorrowConfigurationOutput { + return i.ToGetReceivedLicenseConsumptionConfigurationBorrowConfigurationOutputWithContext(context.Background()) +} + +func (i GetReceivedLicenseConsumptionConfigurationBorrowConfigurationArgs) ToGetReceivedLicenseConsumptionConfigurationBorrowConfigurationOutputWithContext(ctx context.Context) GetReceivedLicenseConsumptionConfigurationBorrowConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetReceivedLicenseConsumptionConfigurationBorrowConfigurationOutput) +} + +// GetReceivedLicenseConsumptionConfigurationBorrowConfigurationArrayInput is an input type that accepts GetReceivedLicenseConsumptionConfigurationBorrowConfigurationArray and GetReceivedLicenseConsumptionConfigurationBorrowConfigurationArrayOutput values. +// You can construct a concrete instance of `GetReceivedLicenseConsumptionConfigurationBorrowConfigurationArrayInput` via: +// +// GetReceivedLicenseConsumptionConfigurationBorrowConfigurationArray{ GetReceivedLicenseConsumptionConfigurationBorrowConfigurationArgs{...} } +type GetReceivedLicenseConsumptionConfigurationBorrowConfigurationArrayInput interface { + pulumi.Input + + ToGetReceivedLicenseConsumptionConfigurationBorrowConfigurationArrayOutput() GetReceivedLicenseConsumptionConfigurationBorrowConfigurationArrayOutput + ToGetReceivedLicenseConsumptionConfigurationBorrowConfigurationArrayOutputWithContext(context.Context) GetReceivedLicenseConsumptionConfigurationBorrowConfigurationArrayOutput +} + +type GetReceivedLicenseConsumptionConfigurationBorrowConfigurationArray []GetReceivedLicenseConsumptionConfigurationBorrowConfigurationInput + +func (GetReceivedLicenseConsumptionConfigurationBorrowConfigurationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetReceivedLicenseConsumptionConfigurationBorrowConfiguration)(nil)).Elem() +} + +func (i GetReceivedLicenseConsumptionConfigurationBorrowConfigurationArray) ToGetReceivedLicenseConsumptionConfigurationBorrowConfigurationArrayOutput() GetReceivedLicenseConsumptionConfigurationBorrowConfigurationArrayOutput { + return i.ToGetReceivedLicenseConsumptionConfigurationBorrowConfigurationArrayOutputWithContext(context.Background()) +} + +func (i GetReceivedLicenseConsumptionConfigurationBorrowConfigurationArray) ToGetReceivedLicenseConsumptionConfigurationBorrowConfigurationArrayOutputWithContext(ctx context.Context) GetReceivedLicenseConsumptionConfigurationBorrowConfigurationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetReceivedLicenseConsumptionConfigurationBorrowConfigurationArrayOutput) +} + +type GetReceivedLicenseConsumptionConfigurationBorrowConfigurationOutput struct{ *pulumi.OutputState } + +func (GetReceivedLicenseConsumptionConfigurationBorrowConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetReceivedLicenseConsumptionConfigurationBorrowConfiguration)(nil)).Elem() +} + +func (o GetReceivedLicenseConsumptionConfigurationBorrowConfigurationOutput) ToGetReceivedLicenseConsumptionConfigurationBorrowConfigurationOutput() GetReceivedLicenseConsumptionConfigurationBorrowConfigurationOutput { + return o +} + +func (o GetReceivedLicenseConsumptionConfigurationBorrowConfigurationOutput) ToGetReceivedLicenseConsumptionConfigurationBorrowConfigurationOutputWithContext(ctx context.Context) GetReceivedLicenseConsumptionConfigurationBorrowConfigurationOutput { + return o +} + +// Indicates whether early check-ins are allowed. +func (o GetReceivedLicenseConsumptionConfigurationBorrowConfigurationOutput) AllowEarlyCheckIn() pulumi.BoolOutput { + return o.ApplyT(func(v GetReceivedLicenseConsumptionConfigurationBorrowConfiguration) bool { return v.AllowEarlyCheckIn }).(pulumi.BoolOutput) +} + +// Maximum time for the provisional configuration, in minutes. +func (o GetReceivedLicenseConsumptionConfigurationBorrowConfigurationOutput) MaxTimeToLiveInMinutes() pulumi.IntOutput { + return o.ApplyT(func(v GetReceivedLicenseConsumptionConfigurationBorrowConfiguration) int { + return v.MaxTimeToLiveInMinutes + }).(pulumi.IntOutput) +} + +type GetReceivedLicenseConsumptionConfigurationBorrowConfigurationArrayOutput struct{ *pulumi.OutputState } + +func (GetReceivedLicenseConsumptionConfigurationBorrowConfigurationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetReceivedLicenseConsumptionConfigurationBorrowConfiguration)(nil)).Elem() +} + +func (o GetReceivedLicenseConsumptionConfigurationBorrowConfigurationArrayOutput) ToGetReceivedLicenseConsumptionConfigurationBorrowConfigurationArrayOutput() GetReceivedLicenseConsumptionConfigurationBorrowConfigurationArrayOutput { + return o +} + +func (o GetReceivedLicenseConsumptionConfigurationBorrowConfigurationArrayOutput) ToGetReceivedLicenseConsumptionConfigurationBorrowConfigurationArrayOutputWithContext(ctx context.Context) GetReceivedLicenseConsumptionConfigurationBorrowConfigurationArrayOutput { + return o +} + +func (o GetReceivedLicenseConsumptionConfigurationBorrowConfigurationArrayOutput) Index(i pulumi.IntInput) GetReceivedLicenseConsumptionConfigurationBorrowConfigurationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetReceivedLicenseConsumptionConfigurationBorrowConfiguration { + return vs[0].([]GetReceivedLicenseConsumptionConfigurationBorrowConfiguration)[vs[1].(int)] + }).(GetReceivedLicenseConsumptionConfigurationBorrowConfigurationOutput) +} + +type GetReceivedLicenseConsumptionConfigurationProvisionalConfiguration struct { + // Maximum time for the provisional configuration, in minutes. + MaxTimeToLiveInMinutes int `pulumi:"maxTimeToLiveInMinutes"` +} + +// GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationInput is an input type that accepts GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationArgs and GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationOutput values. +// You can construct a concrete instance of `GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationInput` via: +// +// GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationArgs{...} +type GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationInput interface { + pulumi.Input + + ToGetReceivedLicenseConsumptionConfigurationProvisionalConfigurationOutput() GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationOutput + ToGetReceivedLicenseConsumptionConfigurationProvisionalConfigurationOutputWithContext(context.Context) GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationOutput +} + +type GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationArgs struct { + // Maximum time for the provisional configuration, in minutes. + MaxTimeToLiveInMinutes pulumi.IntInput `pulumi:"maxTimeToLiveInMinutes"` +} + +func (GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetReceivedLicenseConsumptionConfigurationProvisionalConfiguration)(nil)).Elem() +} + +func (i GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationArgs) ToGetReceivedLicenseConsumptionConfigurationProvisionalConfigurationOutput() GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationOutput { + return i.ToGetReceivedLicenseConsumptionConfigurationProvisionalConfigurationOutputWithContext(context.Background()) +} + +func (i GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationArgs) ToGetReceivedLicenseConsumptionConfigurationProvisionalConfigurationOutputWithContext(ctx context.Context) GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationOutput) +} + +// GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationArrayInput is an input type that accepts GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationArray and GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationArrayOutput values. +// You can construct a concrete instance of `GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationArrayInput` via: +// +// GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationArray{ GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationArgs{...} } +type GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationArrayInput interface { + pulumi.Input + + ToGetReceivedLicenseConsumptionConfigurationProvisionalConfigurationArrayOutput() GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationArrayOutput + ToGetReceivedLicenseConsumptionConfigurationProvisionalConfigurationArrayOutputWithContext(context.Context) GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationArrayOutput +} + +type GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationArray []GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationInput + +func (GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetReceivedLicenseConsumptionConfigurationProvisionalConfiguration)(nil)).Elem() +} + +func (i GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationArray) ToGetReceivedLicenseConsumptionConfigurationProvisionalConfigurationArrayOutput() GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationArrayOutput { + return i.ToGetReceivedLicenseConsumptionConfigurationProvisionalConfigurationArrayOutputWithContext(context.Background()) +} + +func (i GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationArray) ToGetReceivedLicenseConsumptionConfigurationProvisionalConfigurationArrayOutputWithContext(ctx context.Context) GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationArrayOutput) +} + +type GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationOutput struct{ *pulumi.OutputState } + +func (GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetReceivedLicenseConsumptionConfigurationProvisionalConfiguration)(nil)).Elem() +} + +func (o GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationOutput) ToGetReceivedLicenseConsumptionConfigurationProvisionalConfigurationOutput() GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationOutput { + return o +} + +func (o GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationOutput) ToGetReceivedLicenseConsumptionConfigurationProvisionalConfigurationOutputWithContext(ctx context.Context) GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationOutput { + return o +} + +// Maximum time for the provisional configuration, in minutes. +func (o GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationOutput) MaxTimeToLiveInMinutes() pulumi.IntOutput { + return o.ApplyT(func(v GetReceivedLicenseConsumptionConfigurationProvisionalConfiguration) int { + return v.MaxTimeToLiveInMinutes + }).(pulumi.IntOutput) +} + +type GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationArrayOutput struct{ *pulumi.OutputState } + +func (GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetReceivedLicenseConsumptionConfigurationProvisionalConfiguration)(nil)).Elem() +} + +func (o GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationArrayOutput) ToGetReceivedLicenseConsumptionConfigurationProvisionalConfigurationArrayOutput() GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationArrayOutput { + return o +} + +func (o GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationArrayOutput) ToGetReceivedLicenseConsumptionConfigurationProvisionalConfigurationArrayOutputWithContext(ctx context.Context) GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationArrayOutput { + return o +} + +func (o GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationArrayOutput) Index(i pulumi.IntInput) GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetReceivedLicenseConsumptionConfigurationProvisionalConfiguration { + return vs[0].([]GetReceivedLicenseConsumptionConfigurationProvisionalConfiguration)[vs[1].(int)] + }).(GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationOutput) +} + +type GetReceivedLicenseEntitlement struct { + // Indicates whether check-ins are allowed. + AllowCheckIn bool `pulumi:"allowCheckIn"` + // Maximum entitlement count. Use if the unit is not None. + MaxCount int `pulumi:"maxCount"` + // The key name. + Name string `pulumi:"name"` + // Entitlement unit. + Unit string `pulumi:"unit"` + // The value. + Value string `pulumi:"value"` +} + +// GetReceivedLicenseEntitlementInput is an input type that accepts GetReceivedLicenseEntitlementArgs and GetReceivedLicenseEntitlementOutput values. +// You can construct a concrete instance of `GetReceivedLicenseEntitlementInput` via: +// +// GetReceivedLicenseEntitlementArgs{...} +type GetReceivedLicenseEntitlementInput interface { + pulumi.Input + + ToGetReceivedLicenseEntitlementOutput() GetReceivedLicenseEntitlementOutput + ToGetReceivedLicenseEntitlementOutputWithContext(context.Context) GetReceivedLicenseEntitlementOutput +} + +type GetReceivedLicenseEntitlementArgs struct { + // Indicates whether check-ins are allowed. + AllowCheckIn pulumi.BoolInput `pulumi:"allowCheckIn"` + // Maximum entitlement count. Use if the unit is not None. + MaxCount pulumi.IntInput `pulumi:"maxCount"` + // The key name. + Name pulumi.StringInput `pulumi:"name"` + // Entitlement unit. + Unit pulumi.StringInput `pulumi:"unit"` + // The value. + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetReceivedLicenseEntitlementArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetReceivedLicenseEntitlement)(nil)).Elem() +} + +func (i GetReceivedLicenseEntitlementArgs) ToGetReceivedLicenseEntitlementOutput() GetReceivedLicenseEntitlementOutput { + return i.ToGetReceivedLicenseEntitlementOutputWithContext(context.Background()) +} + +func (i GetReceivedLicenseEntitlementArgs) ToGetReceivedLicenseEntitlementOutputWithContext(ctx context.Context) GetReceivedLicenseEntitlementOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetReceivedLicenseEntitlementOutput) +} + +// GetReceivedLicenseEntitlementArrayInput is an input type that accepts GetReceivedLicenseEntitlementArray and GetReceivedLicenseEntitlementArrayOutput values. +// You can construct a concrete instance of `GetReceivedLicenseEntitlementArrayInput` via: +// +// GetReceivedLicenseEntitlementArray{ GetReceivedLicenseEntitlementArgs{...} } +type GetReceivedLicenseEntitlementArrayInput interface { + pulumi.Input + + ToGetReceivedLicenseEntitlementArrayOutput() GetReceivedLicenseEntitlementArrayOutput + ToGetReceivedLicenseEntitlementArrayOutputWithContext(context.Context) GetReceivedLicenseEntitlementArrayOutput +} + +type GetReceivedLicenseEntitlementArray []GetReceivedLicenseEntitlementInput + +func (GetReceivedLicenseEntitlementArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetReceivedLicenseEntitlement)(nil)).Elem() +} + +func (i GetReceivedLicenseEntitlementArray) ToGetReceivedLicenseEntitlementArrayOutput() GetReceivedLicenseEntitlementArrayOutput { + return i.ToGetReceivedLicenseEntitlementArrayOutputWithContext(context.Background()) +} + +func (i GetReceivedLicenseEntitlementArray) ToGetReceivedLicenseEntitlementArrayOutputWithContext(ctx context.Context) GetReceivedLicenseEntitlementArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetReceivedLicenseEntitlementArrayOutput) +} + +type GetReceivedLicenseEntitlementOutput struct{ *pulumi.OutputState } + +func (GetReceivedLicenseEntitlementOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetReceivedLicenseEntitlement)(nil)).Elem() +} + +func (o GetReceivedLicenseEntitlementOutput) ToGetReceivedLicenseEntitlementOutput() GetReceivedLicenseEntitlementOutput { + return o +} + +func (o GetReceivedLicenseEntitlementOutput) ToGetReceivedLicenseEntitlementOutputWithContext(ctx context.Context) GetReceivedLicenseEntitlementOutput { + return o +} + +// Indicates whether check-ins are allowed. +func (o GetReceivedLicenseEntitlementOutput) AllowCheckIn() pulumi.BoolOutput { + return o.ApplyT(func(v GetReceivedLicenseEntitlement) bool { return v.AllowCheckIn }).(pulumi.BoolOutput) +} + +// Maximum entitlement count. Use if the unit is not None. +func (o GetReceivedLicenseEntitlementOutput) MaxCount() pulumi.IntOutput { + return o.ApplyT(func(v GetReceivedLicenseEntitlement) int { return v.MaxCount }).(pulumi.IntOutput) +} + +// The key name. +func (o GetReceivedLicenseEntitlementOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetReceivedLicenseEntitlement) string { return v.Name }).(pulumi.StringOutput) +} + +// Entitlement unit. +func (o GetReceivedLicenseEntitlementOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v GetReceivedLicenseEntitlement) string { return v.Unit }).(pulumi.StringOutput) +} + +// The value. +func (o GetReceivedLicenseEntitlementOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetReceivedLicenseEntitlement) string { return v.Value }).(pulumi.StringOutput) +} + +type GetReceivedLicenseEntitlementArrayOutput struct{ *pulumi.OutputState } + +func (GetReceivedLicenseEntitlementArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetReceivedLicenseEntitlement)(nil)).Elem() +} + +func (o GetReceivedLicenseEntitlementArrayOutput) ToGetReceivedLicenseEntitlementArrayOutput() GetReceivedLicenseEntitlementArrayOutput { + return o +} + +func (o GetReceivedLicenseEntitlementArrayOutput) ToGetReceivedLicenseEntitlementArrayOutputWithContext(ctx context.Context) GetReceivedLicenseEntitlementArrayOutput { + return o +} + +func (o GetReceivedLicenseEntitlementArrayOutput) Index(i pulumi.IntInput) GetReceivedLicenseEntitlementOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetReceivedLicenseEntitlement { + return vs[0].([]GetReceivedLicenseEntitlement)[vs[1].(int)] + }).(GetReceivedLicenseEntitlementOutput) +} + +type GetReceivedLicenseIssuer struct { + // Issuer key fingerprint. + KeyFingerprint string `pulumi:"keyFingerprint"` + // The key name. + Name string `pulumi:"name"` + // Asymmetric KMS key from AWS Key Management Service. The KMS key must have a key usage of sign and verify, and support the RSASSA-PSS SHA-256 signing algorithm. + SignKey string `pulumi:"signKey"` +} + +// GetReceivedLicenseIssuerInput is an input type that accepts GetReceivedLicenseIssuerArgs and GetReceivedLicenseIssuerOutput values. +// You can construct a concrete instance of `GetReceivedLicenseIssuerInput` via: +// +// GetReceivedLicenseIssuerArgs{...} +type GetReceivedLicenseIssuerInput interface { + pulumi.Input + + ToGetReceivedLicenseIssuerOutput() GetReceivedLicenseIssuerOutput + ToGetReceivedLicenseIssuerOutputWithContext(context.Context) GetReceivedLicenseIssuerOutput +} + +type GetReceivedLicenseIssuerArgs struct { + // Issuer key fingerprint. + KeyFingerprint pulumi.StringInput `pulumi:"keyFingerprint"` + // The key name. + Name pulumi.StringInput `pulumi:"name"` + // Asymmetric KMS key from AWS Key Management Service. The KMS key must have a key usage of sign and verify, and support the RSASSA-PSS SHA-256 signing algorithm. + SignKey pulumi.StringInput `pulumi:"signKey"` +} + +func (GetReceivedLicenseIssuerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetReceivedLicenseIssuer)(nil)).Elem() +} + +func (i GetReceivedLicenseIssuerArgs) ToGetReceivedLicenseIssuerOutput() GetReceivedLicenseIssuerOutput { + return i.ToGetReceivedLicenseIssuerOutputWithContext(context.Background()) +} + +func (i GetReceivedLicenseIssuerArgs) ToGetReceivedLicenseIssuerOutputWithContext(ctx context.Context) GetReceivedLicenseIssuerOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetReceivedLicenseIssuerOutput) +} + +// GetReceivedLicenseIssuerArrayInput is an input type that accepts GetReceivedLicenseIssuerArray and GetReceivedLicenseIssuerArrayOutput values. +// You can construct a concrete instance of `GetReceivedLicenseIssuerArrayInput` via: +// +// GetReceivedLicenseIssuerArray{ GetReceivedLicenseIssuerArgs{...} } +type GetReceivedLicenseIssuerArrayInput interface { + pulumi.Input + + ToGetReceivedLicenseIssuerArrayOutput() GetReceivedLicenseIssuerArrayOutput + ToGetReceivedLicenseIssuerArrayOutputWithContext(context.Context) GetReceivedLicenseIssuerArrayOutput +} + +type GetReceivedLicenseIssuerArray []GetReceivedLicenseIssuerInput + +func (GetReceivedLicenseIssuerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetReceivedLicenseIssuer)(nil)).Elem() +} + +func (i GetReceivedLicenseIssuerArray) ToGetReceivedLicenseIssuerArrayOutput() GetReceivedLicenseIssuerArrayOutput { + return i.ToGetReceivedLicenseIssuerArrayOutputWithContext(context.Background()) +} + +func (i GetReceivedLicenseIssuerArray) ToGetReceivedLicenseIssuerArrayOutputWithContext(ctx context.Context) GetReceivedLicenseIssuerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetReceivedLicenseIssuerArrayOutput) +} + +type GetReceivedLicenseIssuerOutput struct{ *pulumi.OutputState } + +func (GetReceivedLicenseIssuerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetReceivedLicenseIssuer)(nil)).Elem() +} + +func (o GetReceivedLicenseIssuerOutput) ToGetReceivedLicenseIssuerOutput() GetReceivedLicenseIssuerOutput { + return o +} + +func (o GetReceivedLicenseIssuerOutput) ToGetReceivedLicenseIssuerOutputWithContext(ctx context.Context) GetReceivedLicenseIssuerOutput { + return o +} + +// Issuer key fingerprint. +func (o GetReceivedLicenseIssuerOutput) KeyFingerprint() pulumi.StringOutput { + return o.ApplyT(func(v GetReceivedLicenseIssuer) string { return v.KeyFingerprint }).(pulumi.StringOutput) +} + +// The key name. +func (o GetReceivedLicenseIssuerOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetReceivedLicenseIssuer) string { return v.Name }).(pulumi.StringOutput) +} + +// Asymmetric KMS key from AWS Key Management Service. The KMS key must have a key usage of sign and verify, and support the RSASSA-PSS SHA-256 signing algorithm. +func (o GetReceivedLicenseIssuerOutput) SignKey() pulumi.StringOutput { + return o.ApplyT(func(v GetReceivedLicenseIssuer) string { return v.SignKey }).(pulumi.StringOutput) +} + +type GetReceivedLicenseIssuerArrayOutput struct{ *pulumi.OutputState } + +func (GetReceivedLicenseIssuerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetReceivedLicenseIssuer)(nil)).Elem() +} + +func (o GetReceivedLicenseIssuerArrayOutput) ToGetReceivedLicenseIssuerArrayOutput() GetReceivedLicenseIssuerArrayOutput { + return o +} + +func (o GetReceivedLicenseIssuerArrayOutput) ToGetReceivedLicenseIssuerArrayOutputWithContext(ctx context.Context) GetReceivedLicenseIssuerArrayOutput { + return o +} + +func (o GetReceivedLicenseIssuerArrayOutput) Index(i pulumi.IntInput) GetReceivedLicenseIssuerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetReceivedLicenseIssuer { + return vs[0].([]GetReceivedLicenseIssuer)[vs[1].(int)] + }).(GetReceivedLicenseIssuerOutput) +} + +type GetReceivedLicenseLicenseMetadata struct { + // The key name. + Name string `pulumi:"name"` + // The value. + Value string `pulumi:"value"` +} + +// GetReceivedLicenseLicenseMetadataInput is an input type that accepts GetReceivedLicenseLicenseMetadataArgs and GetReceivedLicenseLicenseMetadataOutput values. +// You can construct a concrete instance of `GetReceivedLicenseLicenseMetadataInput` via: +// +// GetReceivedLicenseLicenseMetadataArgs{...} +type GetReceivedLicenseLicenseMetadataInput interface { + pulumi.Input + + ToGetReceivedLicenseLicenseMetadataOutput() GetReceivedLicenseLicenseMetadataOutput + ToGetReceivedLicenseLicenseMetadataOutputWithContext(context.Context) GetReceivedLicenseLicenseMetadataOutput +} + +type GetReceivedLicenseLicenseMetadataArgs struct { + // The key name. + Name pulumi.StringInput `pulumi:"name"` + // The value. + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetReceivedLicenseLicenseMetadataArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetReceivedLicenseLicenseMetadata)(nil)).Elem() +} + +func (i GetReceivedLicenseLicenseMetadataArgs) ToGetReceivedLicenseLicenseMetadataOutput() GetReceivedLicenseLicenseMetadataOutput { + return i.ToGetReceivedLicenseLicenseMetadataOutputWithContext(context.Background()) +} + +func (i GetReceivedLicenseLicenseMetadataArgs) ToGetReceivedLicenseLicenseMetadataOutputWithContext(ctx context.Context) GetReceivedLicenseLicenseMetadataOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetReceivedLicenseLicenseMetadataOutput) +} + +// GetReceivedLicenseLicenseMetadataArrayInput is an input type that accepts GetReceivedLicenseLicenseMetadataArray and GetReceivedLicenseLicenseMetadataArrayOutput values. +// You can construct a concrete instance of `GetReceivedLicenseLicenseMetadataArrayInput` via: +// +// GetReceivedLicenseLicenseMetadataArray{ GetReceivedLicenseLicenseMetadataArgs{...} } +type GetReceivedLicenseLicenseMetadataArrayInput interface { + pulumi.Input + + ToGetReceivedLicenseLicenseMetadataArrayOutput() GetReceivedLicenseLicenseMetadataArrayOutput + ToGetReceivedLicenseLicenseMetadataArrayOutputWithContext(context.Context) GetReceivedLicenseLicenseMetadataArrayOutput +} + +type GetReceivedLicenseLicenseMetadataArray []GetReceivedLicenseLicenseMetadataInput + +func (GetReceivedLicenseLicenseMetadataArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetReceivedLicenseLicenseMetadata)(nil)).Elem() +} + +func (i GetReceivedLicenseLicenseMetadataArray) ToGetReceivedLicenseLicenseMetadataArrayOutput() GetReceivedLicenseLicenseMetadataArrayOutput { + return i.ToGetReceivedLicenseLicenseMetadataArrayOutputWithContext(context.Background()) +} + +func (i GetReceivedLicenseLicenseMetadataArray) ToGetReceivedLicenseLicenseMetadataArrayOutputWithContext(ctx context.Context) GetReceivedLicenseLicenseMetadataArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetReceivedLicenseLicenseMetadataArrayOutput) +} + +type GetReceivedLicenseLicenseMetadataOutput struct{ *pulumi.OutputState } + +func (GetReceivedLicenseLicenseMetadataOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetReceivedLicenseLicenseMetadata)(nil)).Elem() +} + +func (o GetReceivedLicenseLicenseMetadataOutput) ToGetReceivedLicenseLicenseMetadataOutput() GetReceivedLicenseLicenseMetadataOutput { + return o +} + +func (o GetReceivedLicenseLicenseMetadataOutput) ToGetReceivedLicenseLicenseMetadataOutputWithContext(ctx context.Context) GetReceivedLicenseLicenseMetadataOutput { + return o +} + +// The key name. +func (o GetReceivedLicenseLicenseMetadataOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetReceivedLicenseLicenseMetadata) string { return v.Name }).(pulumi.StringOutput) +} + +// The value. +func (o GetReceivedLicenseLicenseMetadataOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetReceivedLicenseLicenseMetadata) string { return v.Value }).(pulumi.StringOutput) +} + +type GetReceivedLicenseLicenseMetadataArrayOutput struct{ *pulumi.OutputState } + +func (GetReceivedLicenseLicenseMetadataArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetReceivedLicenseLicenseMetadata)(nil)).Elem() +} + +func (o GetReceivedLicenseLicenseMetadataArrayOutput) ToGetReceivedLicenseLicenseMetadataArrayOutput() GetReceivedLicenseLicenseMetadataArrayOutput { + return o +} + +func (o GetReceivedLicenseLicenseMetadataArrayOutput) ToGetReceivedLicenseLicenseMetadataArrayOutputWithContext(ctx context.Context) GetReceivedLicenseLicenseMetadataArrayOutput { + return o +} + +func (o GetReceivedLicenseLicenseMetadataArrayOutput) Index(i pulumi.IntInput) GetReceivedLicenseLicenseMetadataOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetReceivedLicenseLicenseMetadata { + return vs[0].([]GetReceivedLicenseLicenseMetadata)[vs[1].(int)] + }).(GetReceivedLicenseLicenseMetadataOutput) +} + +type GetReceivedLicenseReceivedMetadata struct { + // A list of allowed operations. + AllowedOperations []string `pulumi:"allowedOperations"` + // Received status. + ReceivedStatus string `pulumi:"receivedStatus"` + // Received status reason. + ReceivedStatusReason string `pulumi:"receivedStatusReason"` +} + +// GetReceivedLicenseReceivedMetadataInput is an input type that accepts GetReceivedLicenseReceivedMetadataArgs and GetReceivedLicenseReceivedMetadataOutput values. +// You can construct a concrete instance of `GetReceivedLicenseReceivedMetadataInput` via: +// +// GetReceivedLicenseReceivedMetadataArgs{...} +type GetReceivedLicenseReceivedMetadataInput interface { + pulumi.Input + + ToGetReceivedLicenseReceivedMetadataOutput() GetReceivedLicenseReceivedMetadataOutput + ToGetReceivedLicenseReceivedMetadataOutputWithContext(context.Context) GetReceivedLicenseReceivedMetadataOutput +} + +type GetReceivedLicenseReceivedMetadataArgs struct { + // A list of allowed operations. + AllowedOperations pulumi.StringArrayInput `pulumi:"allowedOperations"` + // Received status. + ReceivedStatus pulumi.StringInput `pulumi:"receivedStatus"` + // Received status reason. + ReceivedStatusReason pulumi.StringInput `pulumi:"receivedStatusReason"` +} + +func (GetReceivedLicenseReceivedMetadataArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetReceivedLicenseReceivedMetadata)(nil)).Elem() +} + +func (i GetReceivedLicenseReceivedMetadataArgs) ToGetReceivedLicenseReceivedMetadataOutput() GetReceivedLicenseReceivedMetadataOutput { + return i.ToGetReceivedLicenseReceivedMetadataOutputWithContext(context.Background()) +} + +func (i GetReceivedLicenseReceivedMetadataArgs) ToGetReceivedLicenseReceivedMetadataOutputWithContext(ctx context.Context) GetReceivedLicenseReceivedMetadataOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetReceivedLicenseReceivedMetadataOutput) +} + +// GetReceivedLicenseReceivedMetadataArrayInput is an input type that accepts GetReceivedLicenseReceivedMetadataArray and GetReceivedLicenseReceivedMetadataArrayOutput values. +// You can construct a concrete instance of `GetReceivedLicenseReceivedMetadataArrayInput` via: +// +// GetReceivedLicenseReceivedMetadataArray{ GetReceivedLicenseReceivedMetadataArgs{...} } +type GetReceivedLicenseReceivedMetadataArrayInput interface { + pulumi.Input + + ToGetReceivedLicenseReceivedMetadataArrayOutput() GetReceivedLicenseReceivedMetadataArrayOutput + ToGetReceivedLicenseReceivedMetadataArrayOutputWithContext(context.Context) GetReceivedLicenseReceivedMetadataArrayOutput +} + +type GetReceivedLicenseReceivedMetadataArray []GetReceivedLicenseReceivedMetadataInput + +func (GetReceivedLicenseReceivedMetadataArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetReceivedLicenseReceivedMetadata)(nil)).Elem() +} + +func (i GetReceivedLicenseReceivedMetadataArray) ToGetReceivedLicenseReceivedMetadataArrayOutput() GetReceivedLicenseReceivedMetadataArrayOutput { + return i.ToGetReceivedLicenseReceivedMetadataArrayOutputWithContext(context.Background()) +} + +func (i GetReceivedLicenseReceivedMetadataArray) ToGetReceivedLicenseReceivedMetadataArrayOutputWithContext(ctx context.Context) GetReceivedLicenseReceivedMetadataArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetReceivedLicenseReceivedMetadataArrayOutput) +} + +type GetReceivedLicenseReceivedMetadataOutput struct{ *pulumi.OutputState } + +func (GetReceivedLicenseReceivedMetadataOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetReceivedLicenseReceivedMetadata)(nil)).Elem() +} + +func (o GetReceivedLicenseReceivedMetadataOutput) ToGetReceivedLicenseReceivedMetadataOutput() GetReceivedLicenseReceivedMetadataOutput { + return o +} + +func (o GetReceivedLicenseReceivedMetadataOutput) ToGetReceivedLicenseReceivedMetadataOutputWithContext(ctx context.Context) GetReceivedLicenseReceivedMetadataOutput { + return o +} + +// A list of allowed operations. +func (o GetReceivedLicenseReceivedMetadataOutput) AllowedOperations() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetReceivedLicenseReceivedMetadata) []string { return v.AllowedOperations }).(pulumi.StringArrayOutput) +} + +// Received status. +func (o GetReceivedLicenseReceivedMetadataOutput) ReceivedStatus() pulumi.StringOutput { + return o.ApplyT(func(v GetReceivedLicenseReceivedMetadata) string { return v.ReceivedStatus }).(pulumi.StringOutput) +} + +// Received status reason. +func (o GetReceivedLicenseReceivedMetadataOutput) ReceivedStatusReason() pulumi.StringOutput { + return o.ApplyT(func(v GetReceivedLicenseReceivedMetadata) string { return v.ReceivedStatusReason }).(pulumi.StringOutput) +} + +type GetReceivedLicenseReceivedMetadataArrayOutput struct{ *pulumi.OutputState } + +func (GetReceivedLicenseReceivedMetadataArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetReceivedLicenseReceivedMetadata)(nil)).Elem() +} + +func (o GetReceivedLicenseReceivedMetadataArrayOutput) ToGetReceivedLicenseReceivedMetadataArrayOutput() GetReceivedLicenseReceivedMetadataArrayOutput { + return o +} + +func (o GetReceivedLicenseReceivedMetadataArrayOutput) ToGetReceivedLicenseReceivedMetadataArrayOutputWithContext(ctx context.Context) GetReceivedLicenseReceivedMetadataArrayOutput { + return o +} + +func (o GetReceivedLicenseReceivedMetadataArrayOutput) Index(i pulumi.IntInput) GetReceivedLicenseReceivedMetadataOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetReceivedLicenseReceivedMetadata { + return vs[0].([]GetReceivedLicenseReceivedMetadata)[vs[1].(int)] + }).(GetReceivedLicenseReceivedMetadataOutput) +} + +type GetReceivedLicenseValidity struct { + // Start of the validity time range. + Begin string `pulumi:"begin"` + // End of the validity time range. + End string `pulumi:"end"` +} + +// GetReceivedLicenseValidityInput is an input type that accepts GetReceivedLicenseValidityArgs and GetReceivedLicenseValidityOutput values. +// You can construct a concrete instance of `GetReceivedLicenseValidityInput` via: +// +// GetReceivedLicenseValidityArgs{...} +type GetReceivedLicenseValidityInput interface { + pulumi.Input + + ToGetReceivedLicenseValidityOutput() GetReceivedLicenseValidityOutput + ToGetReceivedLicenseValidityOutputWithContext(context.Context) GetReceivedLicenseValidityOutput +} + +type GetReceivedLicenseValidityArgs struct { + // Start of the validity time range. + Begin pulumi.StringInput `pulumi:"begin"` + // End of the validity time range. + End pulumi.StringInput `pulumi:"end"` +} + +func (GetReceivedLicenseValidityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetReceivedLicenseValidity)(nil)).Elem() +} + +func (i GetReceivedLicenseValidityArgs) ToGetReceivedLicenseValidityOutput() GetReceivedLicenseValidityOutput { + return i.ToGetReceivedLicenseValidityOutputWithContext(context.Background()) +} + +func (i GetReceivedLicenseValidityArgs) ToGetReceivedLicenseValidityOutputWithContext(ctx context.Context) GetReceivedLicenseValidityOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetReceivedLicenseValidityOutput) +} + +// GetReceivedLicenseValidityArrayInput is an input type that accepts GetReceivedLicenseValidityArray and GetReceivedLicenseValidityArrayOutput values. +// You can construct a concrete instance of `GetReceivedLicenseValidityArrayInput` via: +// +// GetReceivedLicenseValidityArray{ GetReceivedLicenseValidityArgs{...} } +type GetReceivedLicenseValidityArrayInput interface { + pulumi.Input + + ToGetReceivedLicenseValidityArrayOutput() GetReceivedLicenseValidityArrayOutput + ToGetReceivedLicenseValidityArrayOutputWithContext(context.Context) GetReceivedLicenseValidityArrayOutput +} + +type GetReceivedLicenseValidityArray []GetReceivedLicenseValidityInput + +func (GetReceivedLicenseValidityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetReceivedLicenseValidity)(nil)).Elem() +} + +func (i GetReceivedLicenseValidityArray) ToGetReceivedLicenseValidityArrayOutput() GetReceivedLicenseValidityArrayOutput { + return i.ToGetReceivedLicenseValidityArrayOutputWithContext(context.Background()) +} + +func (i GetReceivedLicenseValidityArray) ToGetReceivedLicenseValidityArrayOutputWithContext(ctx context.Context) GetReceivedLicenseValidityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetReceivedLicenseValidityArrayOutput) +} + +type GetReceivedLicenseValidityOutput struct{ *pulumi.OutputState } + +func (GetReceivedLicenseValidityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetReceivedLicenseValidity)(nil)).Elem() +} + +func (o GetReceivedLicenseValidityOutput) ToGetReceivedLicenseValidityOutput() GetReceivedLicenseValidityOutput { + return o +} + +func (o GetReceivedLicenseValidityOutput) ToGetReceivedLicenseValidityOutputWithContext(ctx context.Context) GetReceivedLicenseValidityOutput { + return o +} + +// Start of the validity time range. +func (o GetReceivedLicenseValidityOutput) Begin() pulumi.StringOutput { + return o.ApplyT(func(v GetReceivedLicenseValidity) string { return v.Begin }).(pulumi.StringOutput) +} + +// End of the validity time range. +func (o GetReceivedLicenseValidityOutput) End() pulumi.StringOutput { + return o.ApplyT(func(v GetReceivedLicenseValidity) string { return v.End }).(pulumi.StringOutput) +} + +type GetReceivedLicenseValidityArrayOutput struct{ *pulumi.OutputState } + +func (GetReceivedLicenseValidityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetReceivedLicenseValidity)(nil)).Elem() +} + +func (o GetReceivedLicenseValidityArrayOutput) ToGetReceivedLicenseValidityArrayOutput() GetReceivedLicenseValidityArrayOutput { + return o +} + +func (o GetReceivedLicenseValidityArrayOutput) ToGetReceivedLicenseValidityArrayOutputWithContext(ctx context.Context) GetReceivedLicenseValidityArrayOutput { + return o +} + +func (o GetReceivedLicenseValidityArrayOutput) Index(i pulumi.IntInput) GetReceivedLicenseValidityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetReceivedLicenseValidity { + return vs[0].([]GetReceivedLicenseValidity)[vs[1].(int)] + }).(GetReceivedLicenseValidityOutput) +} + +type GetReceivedLicensesFilter struct { + // Name of the field to filter by, as defined by + // [the underlying AWS API](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_ListReceivedLicenses.html#API_ListReceivedLicenses_RequestSyntax). + // For example, if filtering using `ProductSKU`, use: + Name string `pulumi:"name"` + // Set of values that are accepted for the given field. + Values []string `pulumi:"values"` +} + +// GetReceivedLicensesFilterInput is an input type that accepts GetReceivedLicensesFilterArgs and GetReceivedLicensesFilterOutput values. +// You can construct a concrete instance of `GetReceivedLicensesFilterInput` via: +// +// GetReceivedLicensesFilterArgs{...} +type GetReceivedLicensesFilterInput interface { + pulumi.Input + + ToGetReceivedLicensesFilterOutput() GetReceivedLicensesFilterOutput + ToGetReceivedLicensesFilterOutputWithContext(context.Context) GetReceivedLicensesFilterOutput +} + +type GetReceivedLicensesFilterArgs struct { + // Name of the field to filter by, as defined by + // [the underlying AWS API](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_ListReceivedLicenses.html#API_ListReceivedLicenses_RequestSyntax). + // For example, if filtering using `ProductSKU`, use: + Name pulumi.StringInput `pulumi:"name"` + // Set of values that are accepted for the given field. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetReceivedLicensesFilterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetReceivedLicensesFilter)(nil)).Elem() +} + +func (i GetReceivedLicensesFilterArgs) ToGetReceivedLicensesFilterOutput() GetReceivedLicensesFilterOutput { + return i.ToGetReceivedLicensesFilterOutputWithContext(context.Background()) +} + +func (i GetReceivedLicensesFilterArgs) ToGetReceivedLicensesFilterOutputWithContext(ctx context.Context) GetReceivedLicensesFilterOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetReceivedLicensesFilterOutput) +} + +// GetReceivedLicensesFilterArrayInput is an input type that accepts GetReceivedLicensesFilterArray and GetReceivedLicensesFilterArrayOutput values. +// You can construct a concrete instance of `GetReceivedLicensesFilterArrayInput` via: +// +// GetReceivedLicensesFilterArray{ GetReceivedLicensesFilterArgs{...} } +type GetReceivedLicensesFilterArrayInput interface { + pulumi.Input + + ToGetReceivedLicensesFilterArrayOutput() GetReceivedLicensesFilterArrayOutput + ToGetReceivedLicensesFilterArrayOutputWithContext(context.Context) GetReceivedLicensesFilterArrayOutput +} + +type GetReceivedLicensesFilterArray []GetReceivedLicensesFilterInput + +func (GetReceivedLicensesFilterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetReceivedLicensesFilter)(nil)).Elem() +} + +func (i GetReceivedLicensesFilterArray) ToGetReceivedLicensesFilterArrayOutput() GetReceivedLicensesFilterArrayOutput { + return i.ToGetReceivedLicensesFilterArrayOutputWithContext(context.Background()) +} + +func (i GetReceivedLicensesFilterArray) ToGetReceivedLicensesFilterArrayOutputWithContext(ctx context.Context) GetReceivedLicensesFilterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetReceivedLicensesFilterArrayOutput) +} + +type GetReceivedLicensesFilterOutput struct{ *pulumi.OutputState } + +func (GetReceivedLicensesFilterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetReceivedLicensesFilter)(nil)).Elem() +} + +func (o GetReceivedLicensesFilterOutput) ToGetReceivedLicensesFilterOutput() GetReceivedLicensesFilterOutput { + return o +} + +func (o GetReceivedLicensesFilterOutput) ToGetReceivedLicensesFilterOutputWithContext(ctx context.Context) GetReceivedLicensesFilterOutput { + return o +} + +// Name of the field to filter by, as defined by +// [the underlying AWS API](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_ListReceivedLicenses.html#API_ListReceivedLicenses_RequestSyntax). +// For example, if filtering using `ProductSKU`, use: +func (o GetReceivedLicensesFilterOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetReceivedLicensesFilter) string { return v.Name }).(pulumi.StringOutput) +} + +// Set of values that are accepted for the given field. +func (o GetReceivedLicensesFilterOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetReceivedLicensesFilter) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetReceivedLicensesFilterArrayOutput struct{ *pulumi.OutputState } + +func (GetReceivedLicensesFilterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetReceivedLicensesFilter)(nil)).Elem() +} + +func (o GetReceivedLicensesFilterArrayOutput) ToGetReceivedLicensesFilterArrayOutput() GetReceivedLicensesFilterArrayOutput { + return o +} + +func (o GetReceivedLicensesFilterArrayOutput) ToGetReceivedLicensesFilterArrayOutputWithContext(ctx context.Context) GetReceivedLicensesFilterArrayOutput { + return o +} + +func (o GetReceivedLicensesFilterArrayOutput) Index(i pulumi.IntInput) GetReceivedLicensesFilterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetReceivedLicensesFilter { + return vs[0].([]GetReceivedLicensesFilter)[vs[1].(int)] + }).(GetReceivedLicensesFilterOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*GetLicenseGrantsFilterInput)(nil)).Elem(), GetLicenseGrantsFilterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetLicenseGrantsFilterArrayInput)(nil)).Elem(), GetLicenseGrantsFilterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetReceivedLicenseConsumptionConfigurationInput)(nil)).Elem(), GetReceivedLicenseConsumptionConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetReceivedLicenseConsumptionConfigurationArrayInput)(nil)).Elem(), GetReceivedLicenseConsumptionConfigurationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetReceivedLicenseConsumptionConfigurationBorrowConfigurationInput)(nil)).Elem(), GetReceivedLicenseConsumptionConfigurationBorrowConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetReceivedLicenseConsumptionConfigurationBorrowConfigurationArrayInput)(nil)).Elem(), GetReceivedLicenseConsumptionConfigurationBorrowConfigurationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationInput)(nil)).Elem(), GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationArrayInput)(nil)).Elem(), GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetReceivedLicenseEntitlementInput)(nil)).Elem(), GetReceivedLicenseEntitlementArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetReceivedLicenseEntitlementArrayInput)(nil)).Elem(), GetReceivedLicenseEntitlementArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetReceivedLicenseIssuerInput)(nil)).Elem(), GetReceivedLicenseIssuerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetReceivedLicenseIssuerArrayInput)(nil)).Elem(), GetReceivedLicenseIssuerArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetReceivedLicenseLicenseMetadataInput)(nil)).Elem(), GetReceivedLicenseLicenseMetadataArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetReceivedLicenseLicenseMetadataArrayInput)(nil)).Elem(), GetReceivedLicenseLicenseMetadataArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetReceivedLicenseReceivedMetadataInput)(nil)).Elem(), GetReceivedLicenseReceivedMetadataArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetReceivedLicenseReceivedMetadataArrayInput)(nil)).Elem(), GetReceivedLicenseReceivedMetadataArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetReceivedLicenseValidityInput)(nil)).Elem(), GetReceivedLicenseValidityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetReceivedLicenseValidityArrayInput)(nil)).Elem(), GetReceivedLicenseValidityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetReceivedLicensesFilterInput)(nil)).Elem(), GetReceivedLicensesFilterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetReceivedLicensesFilterArrayInput)(nil)).Elem(), GetReceivedLicensesFilterArray{}) + pulumi.RegisterOutputType(GetLicenseGrantsFilterOutput{}) + pulumi.RegisterOutputType(GetLicenseGrantsFilterArrayOutput{}) + pulumi.RegisterOutputType(GetReceivedLicenseConsumptionConfigurationOutput{}) + pulumi.RegisterOutputType(GetReceivedLicenseConsumptionConfigurationArrayOutput{}) + pulumi.RegisterOutputType(GetReceivedLicenseConsumptionConfigurationBorrowConfigurationOutput{}) + pulumi.RegisterOutputType(GetReceivedLicenseConsumptionConfigurationBorrowConfigurationArrayOutput{}) + pulumi.RegisterOutputType(GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationOutput{}) + pulumi.RegisterOutputType(GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationArrayOutput{}) + pulumi.RegisterOutputType(GetReceivedLicenseEntitlementOutput{}) + pulumi.RegisterOutputType(GetReceivedLicenseEntitlementArrayOutput{}) + pulumi.RegisterOutputType(GetReceivedLicenseIssuerOutput{}) + pulumi.RegisterOutputType(GetReceivedLicenseIssuerArrayOutput{}) + pulumi.RegisterOutputType(GetReceivedLicenseLicenseMetadataOutput{}) + pulumi.RegisterOutputType(GetReceivedLicenseLicenseMetadataArrayOutput{}) + pulumi.RegisterOutputType(GetReceivedLicenseReceivedMetadataOutput{}) + pulumi.RegisterOutputType(GetReceivedLicenseReceivedMetadataArrayOutput{}) + pulumi.RegisterOutputType(GetReceivedLicenseValidityOutput{}) + pulumi.RegisterOutputType(GetReceivedLicenseValidityArrayOutput{}) + pulumi.RegisterOutputType(GetReceivedLicensesFilterOutput{}) + pulumi.RegisterOutputType(GetReceivedLicensesFilterArrayOutput{}) +} diff --git a/sdk/go/aws/organizations/policy.go b/sdk/go/aws/organizations/policy.go index 8698f39448e..6f6dbe65be5 100644 --- a/sdk/go/aws/organizations/policy.go +++ b/sdk/go/aws/organizations/policy.go @@ -13,6 +13,49 @@ import ( // Provides a resource to manage an [AWS Organizations policy](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies.html). // +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/iam" +// "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/organizations" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// examplePolicyDocument, err := iam.GetPolicyDocument(ctx, &iam.GetPolicyDocumentArgs{ +// Statements: []iam.GetPolicyDocumentStatement{ +// { +// Effect: pulumi.StringRef("Allow"), +// Actions: []string{ +// "*", +// }, +// Resources: []string{ +// "*", +// }, +// }, +// }, +// }, nil) +// if err != nil { +// return err +// } +// _, err = organizations.NewPolicy(ctx, "examplePolicy", &organizations.PolicyArgs{ +// Content: *pulumi.String(examplePolicyDocument.Json), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// // ## Import // // `aws_organizations_policy` can be imported by using the policy ID, e.g., diff --git a/sdk/go/aws/rds/instance.go b/sdk/go/aws/rds/instance.go index 7417a0e7c3b..a46d0b891d6 100644 --- a/sdk/go/aws/rds/instance.go +++ b/sdk/go/aws/rds/instance.go @@ -122,7 +122,7 @@ import ( type Instance struct { pulumi.CustomResourceState - // The hostname of the RDS instance. See also `endpoint` and `port`. + // Specifies the DNS address of the DB instance. Address pulumi.StringOutput `pulumi:"address"` // The allocated storage in gibibytes. If `maxAllocatedStorage` is configured, this argument represents the initial storage allocation and differences from the configuration will be ignored automatically when Storage Autoscaling occurs. If `replicateSourceDb` is set, the value is ignored during the creation of the instance. AllocatedStorage pulumi.IntOutput `pulumi:"allocatedStorage"` @@ -210,8 +210,7 @@ type Instance struct { // when this DB instance is deleted. Must be provided if `skipFinalSnapshot` is // set to `false`. The value must begin with a letter, only contain alphanumeric characters and hyphens, and not end with a hyphen or contain two consecutive hyphens. Must not be provided when deleting a read replica. FinalSnapshotIdentifier pulumi.StringPtrOutput `pulumi:"finalSnapshotIdentifier"` - // The canonical hosted zone ID of the DB instance (to be used - // in a Route 53 Alias record). + // Specifies the ID that Amazon Route 53 assigns when you create a hosted zone. HostedZoneId pulumi.StringOutput `pulumi:"hostedZoneId"` // Specifies whether mappings of AWS Identity and Access Management (IAM) accounts to database // accounts is enabled. @@ -237,6 +236,8 @@ type Instance struct { // (Optional, but required for some DB engines, i.e., Oracle // SE1) License model information for this DB instance. LicenseModel pulumi.StringOutput `pulumi:"licenseModel"` + // Specifies the listener connection endpoint for SQL Server Always On. See endpoint below. + ListenerEndpoints InstanceListenerEndpointArrayOutput `pulumi:"listenerEndpoints"` // The window to perform maintenance in. // Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00". See [RDS // Maintenance Window @@ -392,7 +393,7 @@ func GetInstance(ctx *pulumi.Context, // Input properties used for looking up and filtering Instance resources. type instanceState struct { - // The hostname of the RDS instance. See also `endpoint` and `port`. + // Specifies the DNS address of the DB instance. Address *string `pulumi:"address"` // The allocated storage in gibibytes. If `maxAllocatedStorage` is configured, this argument represents the initial storage allocation and differences from the configuration will be ignored automatically when Storage Autoscaling occurs. If `replicateSourceDb` is set, the value is ignored during the creation of the instance. AllocatedStorage *int `pulumi:"allocatedStorage"` @@ -480,8 +481,7 @@ type instanceState struct { // when this DB instance is deleted. Must be provided if `skipFinalSnapshot` is // set to `false`. The value must begin with a letter, only contain alphanumeric characters and hyphens, and not end with a hyphen or contain two consecutive hyphens. Must not be provided when deleting a read replica. FinalSnapshotIdentifier *string `pulumi:"finalSnapshotIdentifier"` - // The canonical hosted zone ID of the DB instance (to be used - // in a Route 53 Alias record). + // Specifies the ID that Amazon Route 53 assigns when you create a hosted zone. HostedZoneId *string `pulumi:"hostedZoneId"` // Specifies whether mappings of AWS Identity and Access Management (IAM) accounts to database // accounts is enabled. @@ -507,6 +507,8 @@ type instanceState struct { // (Optional, but required for some DB engines, i.e., Oracle // SE1) License model information for this DB instance. LicenseModel *string `pulumi:"licenseModel"` + // Specifies the listener connection endpoint for SQL Server Always On. See endpoint below. + ListenerEndpoints []InstanceListenerEndpoint `pulumi:"listenerEndpoints"` // The window to perform maintenance in. // Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00". See [RDS // Maintenance Window @@ -624,7 +626,7 @@ type instanceState struct { } type InstanceState struct { - // The hostname of the RDS instance. See also `endpoint` and `port`. + // Specifies the DNS address of the DB instance. Address pulumi.StringPtrInput // The allocated storage in gibibytes. If `maxAllocatedStorage` is configured, this argument represents the initial storage allocation and differences from the configuration will be ignored automatically when Storage Autoscaling occurs. If `replicateSourceDb` is set, the value is ignored during the creation of the instance. AllocatedStorage pulumi.IntPtrInput @@ -712,8 +714,7 @@ type InstanceState struct { // when this DB instance is deleted. Must be provided if `skipFinalSnapshot` is // set to `false`. The value must begin with a letter, only contain alphanumeric characters and hyphens, and not end with a hyphen or contain two consecutive hyphens. Must not be provided when deleting a read replica. FinalSnapshotIdentifier pulumi.StringPtrInput - // The canonical hosted zone ID of the DB instance (to be used - // in a Route 53 Alias record). + // Specifies the ID that Amazon Route 53 assigns when you create a hosted zone. HostedZoneId pulumi.StringPtrInput // Specifies whether mappings of AWS Identity and Access Management (IAM) accounts to database // accounts is enabled. @@ -739,6 +740,8 @@ type InstanceState struct { // (Optional, but required for some DB engines, i.e., Oracle // SE1) License model information for this DB instance. LicenseModel pulumi.StringPtrInput + // Specifies the listener connection endpoint for SQL Server Always On. See endpoint below. + ListenerEndpoints InstanceListenerEndpointArrayInput // The window to perform maintenance in. // Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00". See [RDS // Maintenance Window @@ -1371,7 +1374,7 @@ func (o InstanceOutput) ToInstanceOutputWithContext(ctx context.Context) Instanc return o } -// The hostname of the RDS instance. See also `endpoint` and `port`. +// Specifies the DNS address of the DB instance. func (o InstanceOutput) Address() pulumi.StringOutput { return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.Address }).(pulumi.StringOutput) } @@ -1540,8 +1543,7 @@ func (o InstanceOutput) FinalSnapshotIdentifier() pulumi.StringPtrOutput { return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.FinalSnapshotIdentifier }).(pulumi.StringPtrOutput) } -// The canonical hosted zone ID of the DB instance (to be used -// in a Route 53 Alias record). +// Specifies the ID that Amazon Route 53 assigns when you create a hosted zone. func (o InstanceOutput) HostedZoneId() pulumi.StringOutput { return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.HostedZoneId }).(pulumi.StringOutput) } @@ -1594,6 +1596,11 @@ func (o InstanceOutput) LicenseModel() pulumi.StringOutput { return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.LicenseModel }).(pulumi.StringOutput) } +// Specifies the listener connection endpoint for SQL Server Always On. See endpoint below. +func (o InstanceOutput) ListenerEndpoints() InstanceListenerEndpointArrayOutput { + return o.ApplyT(func(v *Instance) InstanceListenerEndpointArrayOutput { return v.ListenerEndpoints }).(InstanceListenerEndpointArrayOutput) +} + // The window to perform maintenance in. // Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00". See [RDS // Maintenance Window diff --git a/sdk/go/aws/rds/pulumiTypes.go b/sdk/go/aws/rds/pulumiTypes.go index 3dcf4cf94f5..496a627b466 100644 --- a/sdk/go/aws/rds/pulumiTypes.go +++ b/sdk/go/aws/rds/pulumiTypes.go @@ -1158,6 +1158,121 @@ func (o InstanceBlueGreenUpdatePtrOutput) Enabled() pulumi.BoolPtrOutput { }).(pulumi.BoolPtrOutput) } +type InstanceListenerEndpoint struct { + // Specifies the DNS address of the DB instance. + Address *string `pulumi:"address"` + // Specifies the ID that Amazon Route 53 assigns when you create a hosted zone. + HostedZoneId *string `pulumi:"hostedZoneId"` + // The port on which the DB accepts connections. + Port *int `pulumi:"port"` +} + +// InstanceListenerEndpointInput is an input type that accepts InstanceListenerEndpointArgs and InstanceListenerEndpointOutput values. +// You can construct a concrete instance of `InstanceListenerEndpointInput` via: +// +// InstanceListenerEndpointArgs{...} +type InstanceListenerEndpointInput interface { + pulumi.Input + + ToInstanceListenerEndpointOutput() InstanceListenerEndpointOutput + ToInstanceListenerEndpointOutputWithContext(context.Context) InstanceListenerEndpointOutput +} + +type InstanceListenerEndpointArgs struct { + // Specifies the DNS address of the DB instance. + Address pulumi.StringPtrInput `pulumi:"address"` + // Specifies the ID that Amazon Route 53 assigns when you create a hosted zone. + HostedZoneId pulumi.StringPtrInput `pulumi:"hostedZoneId"` + // The port on which the DB accepts connections. + Port pulumi.IntPtrInput `pulumi:"port"` +} + +func (InstanceListenerEndpointArgs) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceListenerEndpoint)(nil)).Elem() +} + +func (i InstanceListenerEndpointArgs) ToInstanceListenerEndpointOutput() InstanceListenerEndpointOutput { + return i.ToInstanceListenerEndpointOutputWithContext(context.Background()) +} + +func (i InstanceListenerEndpointArgs) ToInstanceListenerEndpointOutputWithContext(ctx context.Context) InstanceListenerEndpointOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceListenerEndpointOutput) +} + +// InstanceListenerEndpointArrayInput is an input type that accepts InstanceListenerEndpointArray and InstanceListenerEndpointArrayOutput values. +// You can construct a concrete instance of `InstanceListenerEndpointArrayInput` via: +// +// InstanceListenerEndpointArray{ InstanceListenerEndpointArgs{...} } +type InstanceListenerEndpointArrayInput interface { + pulumi.Input + + ToInstanceListenerEndpointArrayOutput() InstanceListenerEndpointArrayOutput + ToInstanceListenerEndpointArrayOutputWithContext(context.Context) InstanceListenerEndpointArrayOutput +} + +type InstanceListenerEndpointArray []InstanceListenerEndpointInput + +func (InstanceListenerEndpointArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]InstanceListenerEndpoint)(nil)).Elem() +} + +func (i InstanceListenerEndpointArray) ToInstanceListenerEndpointArrayOutput() InstanceListenerEndpointArrayOutput { + return i.ToInstanceListenerEndpointArrayOutputWithContext(context.Background()) +} + +func (i InstanceListenerEndpointArray) ToInstanceListenerEndpointArrayOutputWithContext(ctx context.Context) InstanceListenerEndpointArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceListenerEndpointArrayOutput) +} + +type InstanceListenerEndpointOutput struct{ *pulumi.OutputState } + +func (InstanceListenerEndpointOutput) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceListenerEndpoint)(nil)).Elem() +} + +func (o InstanceListenerEndpointOutput) ToInstanceListenerEndpointOutput() InstanceListenerEndpointOutput { + return o +} + +func (o InstanceListenerEndpointOutput) ToInstanceListenerEndpointOutputWithContext(ctx context.Context) InstanceListenerEndpointOutput { + return o +} + +// Specifies the DNS address of the DB instance. +func (o InstanceListenerEndpointOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceListenerEndpoint) *string { return v.Address }).(pulumi.StringPtrOutput) +} + +// Specifies the ID that Amazon Route 53 assigns when you create a hosted zone. +func (o InstanceListenerEndpointOutput) HostedZoneId() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceListenerEndpoint) *string { return v.HostedZoneId }).(pulumi.StringPtrOutput) +} + +// The port on which the DB accepts connections. +func (o InstanceListenerEndpointOutput) Port() pulumi.IntPtrOutput { + return o.ApplyT(func(v InstanceListenerEndpoint) *int { return v.Port }).(pulumi.IntPtrOutput) +} + +type InstanceListenerEndpointArrayOutput struct{ *pulumi.OutputState } + +func (InstanceListenerEndpointArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]InstanceListenerEndpoint)(nil)).Elem() +} + +func (o InstanceListenerEndpointArrayOutput) ToInstanceListenerEndpointArrayOutput() InstanceListenerEndpointArrayOutput { + return o +} + +func (o InstanceListenerEndpointArrayOutput) ToInstanceListenerEndpointArrayOutputWithContext(ctx context.Context) InstanceListenerEndpointArrayOutput { + return o +} + +func (o InstanceListenerEndpointArrayOutput) Index(i pulumi.IntInput) InstanceListenerEndpointOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) InstanceListenerEndpoint { + return vs[0].([]InstanceListenerEndpoint)[vs[1].(int)] + }).(InstanceListenerEndpointOutput) +} + type InstanceRestoreToPointInTime struct { // The date and time to restore from. Value must be a time in Universal Coordinated Time (UTC) format and must be before the latest restorable time for the DB instance. Cannot be specified with `useLatestRestorableTime`. RestoreTime *string `pulumi:"restoreTime"` @@ -2980,6 +3095,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GlobalClusterGlobalClusterMemberArrayInput)(nil)).Elem(), GlobalClusterGlobalClusterMemberArray{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceBlueGreenUpdateInput)(nil)).Elem(), InstanceBlueGreenUpdateArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceBlueGreenUpdatePtrInput)(nil)).Elem(), InstanceBlueGreenUpdateArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*InstanceListenerEndpointInput)(nil)).Elem(), InstanceListenerEndpointArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*InstanceListenerEndpointArrayInput)(nil)).Elem(), InstanceListenerEndpointArray{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceRestoreToPointInTimeInput)(nil)).Elem(), InstanceRestoreToPointInTimeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceRestoreToPointInTimePtrInput)(nil)).Elem(), InstanceRestoreToPointInTimeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceS3ImportInput)(nil)).Elem(), InstanceS3ImportArgs{}) @@ -3020,6 +3137,8 @@ func init() { pulumi.RegisterOutputType(GlobalClusterGlobalClusterMemberArrayOutput{}) pulumi.RegisterOutputType(InstanceBlueGreenUpdateOutput{}) pulumi.RegisterOutputType(InstanceBlueGreenUpdatePtrOutput{}) + pulumi.RegisterOutputType(InstanceListenerEndpointOutput{}) + pulumi.RegisterOutputType(InstanceListenerEndpointArrayOutput{}) pulumi.RegisterOutputType(InstanceRestoreToPointInTimeOutput{}) pulumi.RegisterOutputType(InstanceRestoreToPointInTimePtrOutput{}) pulumi.RegisterOutputType(InstanceS3ImportOutput{}) diff --git a/sdk/go/aws/rds/snapshot.go b/sdk/go/aws/rds/snapshot.go index f581df7cca9..99927d257df 100644 --- a/sdk/go/aws/rds/snapshot.go +++ b/sdk/go/aws/rds/snapshot.go @@ -92,7 +92,9 @@ type Snapshot struct { // Provides the option group name for the DB snapshot. OptionGroupName pulumi.StringOutput `pulumi:"optionGroupName"` Port pulumi.IntOutput `pulumi:"port"` - SnapshotType pulumi.StringOutput `pulumi:"snapshotType"` + // List of AWS Account ids to share snapshot with, use `all` to make snaphot public. + SharedAccounts pulumi.StringArrayOutput `pulumi:"sharedAccounts"` + SnapshotType pulumi.StringOutput `pulumi:"snapshotType"` // The DB snapshot Arn that the DB snapshot was copied from. It only has value in case of cross customer or cross region copy. SourceDbSnapshotIdentifier pulumi.StringOutput `pulumi:"sourceDbSnapshotIdentifier"` // The region that the DB snapshot was created in or copied from. @@ -169,7 +171,9 @@ type snapshotState struct { // Provides the option group name for the DB snapshot. OptionGroupName *string `pulumi:"optionGroupName"` Port *int `pulumi:"port"` - SnapshotType *string `pulumi:"snapshotType"` + // List of AWS Account ids to share snapshot with, use `all` to make snaphot public. + SharedAccounts []string `pulumi:"sharedAccounts"` + SnapshotType *string `pulumi:"snapshotType"` // The DB snapshot Arn that the DB snapshot was copied from. It only has value in case of cross customer or cross region copy. SourceDbSnapshotIdentifier *string `pulumi:"sourceDbSnapshotIdentifier"` // The region that the DB snapshot was created in or copied from. @@ -212,7 +216,9 @@ type SnapshotState struct { // Provides the option group name for the DB snapshot. OptionGroupName pulumi.StringPtrInput Port pulumi.IntPtrInput - SnapshotType pulumi.StringPtrInput + // List of AWS Account ids to share snapshot with, use `all` to make snaphot public. + SharedAccounts pulumi.StringArrayInput + SnapshotType pulumi.StringPtrInput // The DB snapshot Arn that the DB snapshot was copied from. It only has value in case of cross customer or cross region copy. SourceDbSnapshotIdentifier pulumi.StringPtrInput // The region that the DB snapshot was created in or copied from. @@ -238,6 +244,8 @@ type snapshotArgs struct { DbInstanceIdentifier string `pulumi:"dbInstanceIdentifier"` // The Identifier for the snapshot. DbSnapshotIdentifier string `pulumi:"dbSnapshotIdentifier"` + // List of AWS Account ids to share snapshot with, use `all` to make snaphot public. + SharedAccounts []string `pulumi:"sharedAccounts"` // Key-value map of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` } @@ -248,6 +256,8 @@ type SnapshotArgs struct { DbInstanceIdentifier pulumi.StringInput // The Identifier for the snapshot. DbSnapshotIdentifier pulumi.StringInput + // List of AWS Account ids to share snapshot with, use `all` to make snaphot public. + SharedAccounts pulumi.StringArrayInput // Key-value map of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput } @@ -403,6 +413,11 @@ func (o SnapshotOutput) Port() pulumi.IntOutput { return o.ApplyT(func(v *Snapshot) pulumi.IntOutput { return v.Port }).(pulumi.IntOutput) } +// List of AWS Account ids to share snapshot with, use `all` to make snaphot public. +func (o SnapshotOutput) SharedAccounts() pulumi.StringArrayOutput { + return o.ApplyT(func(v *Snapshot) pulumi.StringArrayOutput { return v.SharedAccounts }).(pulumi.StringArrayOutput) +} + func (o SnapshotOutput) SnapshotType() pulumi.StringOutput { return o.ApplyT(func(v *Snapshot) pulumi.StringOutput { return v.SnapshotType }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/redshift/clusterSnapshot.go b/sdk/go/aws/redshift/clusterSnapshot.go new file mode 100644 index 00000000000..95d64bf35b7 --- /dev/null +++ b/sdk/go/aws/redshift/clusterSnapshot.go @@ -0,0 +1,319 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package redshift + +import ( + "context" + "reflect" + + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Creates a Redshift cluster snapshot +// +// ## Import +// +// Redshift Cluster Snapshots support import by `snapshot_identifier`, e.g., console +// +// ```sh +// +// $ pulumi import aws:redshift/clusterSnapshot:ClusterSnapshot test example +// +// ``` +type ClusterSnapshot struct { + pulumi.CustomResourceState + + // Amazon Resource Name (ARN) of the snapshot. + Arn pulumi.StringOutput `pulumi:"arn"` + // The cluster identifier for which you want a snapshot. + ClusterIdentifier pulumi.StringOutput `pulumi:"clusterIdentifier"` + // The Key Management Service (KMS) key ID of the encryption key that was used to encrypt data in the cluster from which the snapshot was taken. + KmsKeyId pulumi.StringOutput `pulumi:"kmsKeyId"` + // The number of days that a manual snapshot is retained. If the value is `-1`, the manual snapshot is retained indefinitely. Valid values are -1 and between `1` and `3653`. + ManualSnapshotRetentionPeriod pulumi.IntPtrOutput `pulumi:"manualSnapshotRetentionPeriod"` + // For manual snapshots, the Amazon Web Services account used to create or copy the snapshot. For automatic snapshots, the owner of the cluster. The owner can perform all snapshot actions, such as sharing a manual snapshot. + OwnerAccount pulumi.StringOutput `pulumi:"ownerAccount"` + // A unique identifier for the snapshot that you are requesting. This identifier must be unique for all snapshots within the Amazon Web Services account. + SnapshotIdentifier pulumi.StringOutput `pulumi:"snapshotIdentifier"` + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapOutput `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` +} + +// NewClusterSnapshot registers a new resource with the given unique name, arguments, and options. +func NewClusterSnapshot(ctx *pulumi.Context, + name string, args *ClusterSnapshotArgs, opts ...pulumi.ResourceOption) (*ClusterSnapshot, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ClusterIdentifier == nil { + return nil, errors.New("invalid value for required argument 'ClusterIdentifier'") + } + if args.SnapshotIdentifier == nil { + return nil, errors.New("invalid value for required argument 'SnapshotIdentifier'") + } + var resource ClusterSnapshot + err := ctx.RegisterResource("aws:redshift/clusterSnapshot:ClusterSnapshot", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetClusterSnapshot gets an existing ClusterSnapshot resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetClusterSnapshot(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ClusterSnapshotState, opts ...pulumi.ResourceOption) (*ClusterSnapshot, error) { + var resource ClusterSnapshot + err := ctx.ReadResource("aws:redshift/clusterSnapshot:ClusterSnapshot", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ClusterSnapshot resources. +type clusterSnapshotState struct { + // Amazon Resource Name (ARN) of the snapshot. + Arn *string `pulumi:"arn"` + // The cluster identifier for which you want a snapshot. + ClusterIdentifier *string `pulumi:"clusterIdentifier"` + // The Key Management Service (KMS) key ID of the encryption key that was used to encrypt data in the cluster from which the snapshot was taken. + KmsKeyId *string `pulumi:"kmsKeyId"` + // The number of days that a manual snapshot is retained. If the value is `-1`, the manual snapshot is retained indefinitely. Valid values are -1 and between `1` and `3653`. + ManualSnapshotRetentionPeriod *int `pulumi:"manualSnapshotRetentionPeriod"` + // For manual snapshots, the Amazon Web Services account used to create or copy the snapshot. For automatic snapshots, the owner of the cluster. The owner can perform all snapshot actions, such as sharing a manual snapshot. + OwnerAccount *string `pulumi:"ownerAccount"` + // A unique identifier for the snapshot that you are requesting. This identifier must be unique for all snapshots within the Amazon Web Services account. + SnapshotIdentifier *string `pulumi:"snapshotIdentifier"` + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags map[string]string `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll map[string]string `pulumi:"tagsAll"` +} + +type ClusterSnapshotState struct { + // Amazon Resource Name (ARN) of the snapshot. + Arn pulumi.StringPtrInput + // The cluster identifier for which you want a snapshot. + ClusterIdentifier pulumi.StringPtrInput + // The Key Management Service (KMS) key ID of the encryption key that was used to encrypt data in the cluster from which the snapshot was taken. + KmsKeyId pulumi.StringPtrInput + // The number of days that a manual snapshot is retained. If the value is `-1`, the manual snapshot is retained indefinitely. Valid values are -1 and between `1` and `3653`. + ManualSnapshotRetentionPeriod pulumi.IntPtrInput + // For manual snapshots, the Amazon Web Services account used to create or copy the snapshot. For automatic snapshots, the owner of the cluster. The owner can perform all snapshot actions, such as sharing a manual snapshot. + OwnerAccount pulumi.StringPtrInput + // A unique identifier for the snapshot that you are requesting. This identifier must be unique for all snapshots within the Amazon Web Services account. + SnapshotIdentifier pulumi.StringPtrInput + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapInput + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll pulumi.StringMapInput +} + +func (ClusterSnapshotState) ElementType() reflect.Type { + return reflect.TypeOf((*clusterSnapshotState)(nil)).Elem() +} + +type clusterSnapshotArgs struct { + // The cluster identifier for which you want a snapshot. + ClusterIdentifier string `pulumi:"clusterIdentifier"` + // The number of days that a manual snapshot is retained. If the value is `-1`, the manual snapshot is retained indefinitely. Valid values are -1 and between `1` and `3653`. + ManualSnapshotRetentionPeriod *int `pulumi:"manualSnapshotRetentionPeriod"` + // A unique identifier for the snapshot that you are requesting. This identifier must be unique for all snapshots within the Amazon Web Services account. + SnapshotIdentifier string `pulumi:"snapshotIdentifier"` + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags map[string]string `pulumi:"tags"` +} + +// The set of arguments for constructing a ClusterSnapshot resource. +type ClusterSnapshotArgs struct { + // The cluster identifier for which you want a snapshot. + ClusterIdentifier pulumi.StringInput + // The number of days that a manual snapshot is retained. If the value is `-1`, the manual snapshot is retained indefinitely. Valid values are -1 and between `1` and `3653`. + ManualSnapshotRetentionPeriod pulumi.IntPtrInput + // A unique identifier for the snapshot that you are requesting. This identifier must be unique for all snapshots within the Amazon Web Services account. + SnapshotIdentifier pulumi.StringInput + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapInput +} + +func (ClusterSnapshotArgs) ElementType() reflect.Type { + return reflect.TypeOf((*clusterSnapshotArgs)(nil)).Elem() +} + +type ClusterSnapshotInput interface { + pulumi.Input + + ToClusterSnapshotOutput() ClusterSnapshotOutput + ToClusterSnapshotOutputWithContext(ctx context.Context) ClusterSnapshotOutput +} + +func (*ClusterSnapshot) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterSnapshot)(nil)).Elem() +} + +func (i *ClusterSnapshot) ToClusterSnapshotOutput() ClusterSnapshotOutput { + return i.ToClusterSnapshotOutputWithContext(context.Background()) +} + +func (i *ClusterSnapshot) ToClusterSnapshotOutputWithContext(ctx context.Context) ClusterSnapshotOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterSnapshotOutput) +} + +// ClusterSnapshotArrayInput is an input type that accepts ClusterSnapshotArray and ClusterSnapshotArrayOutput values. +// You can construct a concrete instance of `ClusterSnapshotArrayInput` via: +// +// ClusterSnapshotArray{ ClusterSnapshotArgs{...} } +type ClusterSnapshotArrayInput interface { + pulumi.Input + + ToClusterSnapshotArrayOutput() ClusterSnapshotArrayOutput + ToClusterSnapshotArrayOutputWithContext(context.Context) ClusterSnapshotArrayOutput +} + +type ClusterSnapshotArray []ClusterSnapshotInput + +func (ClusterSnapshotArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ClusterSnapshot)(nil)).Elem() +} + +func (i ClusterSnapshotArray) ToClusterSnapshotArrayOutput() ClusterSnapshotArrayOutput { + return i.ToClusterSnapshotArrayOutputWithContext(context.Background()) +} + +func (i ClusterSnapshotArray) ToClusterSnapshotArrayOutputWithContext(ctx context.Context) ClusterSnapshotArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterSnapshotArrayOutput) +} + +// ClusterSnapshotMapInput is an input type that accepts ClusterSnapshotMap and ClusterSnapshotMapOutput values. +// You can construct a concrete instance of `ClusterSnapshotMapInput` via: +// +// ClusterSnapshotMap{ "key": ClusterSnapshotArgs{...} } +type ClusterSnapshotMapInput interface { + pulumi.Input + + ToClusterSnapshotMapOutput() ClusterSnapshotMapOutput + ToClusterSnapshotMapOutputWithContext(context.Context) ClusterSnapshotMapOutput +} + +type ClusterSnapshotMap map[string]ClusterSnapshotInput + +func (ClusterSnapshotMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ClusterSnapshot)(nil)).Elem() +} + +func (i ClusterSnapshotMap) ToClusterSnapshotMapOutput() ClusterSnapshotMapOutput { + return i.ToClusterSnapshotMapOutputWithContext(context.Background()) +} + +func (i ClusterSnapshotMap) ToClusterSnapshotMapOutputWithContext(ctx context.Context) ClusterSnapshotMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterSnapshotMapOutput) +} + +type ClusterSnapshotOutput struct{ *pulumi.OutputState } + +func (ClusterSnapshotOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterSnapshot)(nil)).Elem() +} + +func (o ClusterSnapshotOutput) ToClusterSnapshotOutput() ClusterSnapshotOutput { + return o +} + +func (o ClusterSnapshotOutput) ToClusterSnapshotOutputWithContext(ctx context.Context) ClusterSnapshotOutput { + return o +} + +// Amazon Resource Name (ARN) of the snapshot. +func (o ClusterSnapshotOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *ClusterSnapshot) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + +// The cluster identifier for which you want a snapshot. +func (o ClusterSnapshotOutput) ClusterIdentifier() pulumi.StringOutput { + return o.ApplyT(func(v *ClusterSnapshot) pulumi.StringOutput { return v.ClusterIdentifier }).(pulumi.StringOutput) +} + +// The Key Management Service (KMS) key ID of the encryption key that was used to encrypt data in the cluster from which the snapshot was taken. +func (o ClusterSnapshotOutput) KmsKeyId() pulumi.StringOutput { + return o.ApplyT(func(v *ClusterSnapshot) pulumi.StringOutput { return v.KmsKeyId }).(pulumi.StringOutput) +} + +// The number of days that a manual snapshot is retained. If the value is `-1`, the manual snapshot is retained indefinitely. Valid values are -1 and between `1` and `3653`. +func (o ClusterSnapshotOutput) ManualSnapshotRetentionPeriod() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ClusterSnapshot) pulumi.IntPtrOutput { return v.ManualSnapshotRetentionPeriod }).(pulumi.IntPtrOutput) +} + +// For manual snapshots, the Amazon Web Services account used to create or copy the snapshot. For automatic snapshots, the owner of the cluster. The owner can perform all snapshot actions, such as sharing a manual snapshot. +func (o ClusterSnapshotOutput) OwnerAccount() pulumi.StringOutput { + return o.ApplyT(func(v *ClusterSnapshot) pulumi.StringOutput { return v.OwnerAccount }).(pulumi.StringOutput) +} + +// A unique identifier for the snapshot that you are requesting. This identifier must be unique for all snapshots within the Amazon Web Services account. +func (o ClusterSnapshotOutput) SnapshotIdentifier() pulumi.StringOutput { + return o.ApplyT(func(v *ClusterSnapshot) pulumi.StringOutput { return v.SnapshotIdentifier }).(pulumi.StringOutput) +} + +// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. +func (o ClusterSnapshotOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *ClusterSnapshot) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) +} + +// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. +func (o ClusterSnapshotOutput) TagsAll() pulumi.StringMapOutput { + return o.ApplyT(func(v *ClusterSnapshot) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) +} + +type ClusterSnapshotArrayOutput struct{ *pulumi.OutputState } + +func (ClusterSnapshotArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ClusterSnapshot)(nil)).Elem() +} + +func (o ClusterSnapshotArrayOutput) ToClusterSnapshotArrayOutput() ClusterSnapshotArrayOutput { + return o +} + +func (o ClusterSnapshotArrayOutput) ToClusterSnapshotArrayOutputWithContext(ctx context.Context) ClusterSnapshotArrayOutput { + return o +} + +func (o ClusterSnapshotArrayOutput) Index(i pulumi.IntInput) ClusterSnapshotOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ClusterSnapshot { + return vs[0].([]*ClusterSnapshot)[vs[1].(int)] + }).(ClusterSnapshotOutput) +} + +type ClusterSnapshotMapOutput struct{ *pulumi.OutputState } + +func (ClusterSnapshotMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ClusterSnapshot)(nil)).Elem() +} + +func (o ClusterSnapshotMapOutput) ToClusterSnapshotMapOutput() ClusterSnapshotMapOutput { + return o +} + +func (o ClusterSnapshotMapOutput) ToClusterSnapshotMapOutputWithContext(ctx context.Context) ClusterSnapshotMapOutput { + return o +} + +func (o ClusterSnapshotMapOutput) MapIndex(k pulumi.StringInput) ClusterSnapshotOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ClusterSnapshot { + return vs[0].(map[string]*ClusterSnapshot)[vs[1].(string)] + }).(ClusterSnapshotOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ClusterSnapshotInput)(nil)).Elem(), &ClusterSnapshot{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterSnapshotArrayInput)(nil)).Elem(), ClusterSnapshotArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterSnapshotMapInput)(nil)).Elem(), ClusterSnapshotMap{}) + pulumi.RegisterOutputType(ClusterSnapshotOutput{}) + pulumi.RegisterOutputType(ClusterSnapshotArrayOutput{}) + pulumi.RegisterOutputType(ClusterSnapshotMapOutput{}) +} diff --git a/sdk/go/aws/redshift/init.go b/sdk/go/aws/redshift/init.go index 7b641b5ee89..1f79c82cf7f 100644 --- a/sdk/go/aws/redshift/init.go +++ b/sdk/go/aws/redshift/init.go @@ -27,6 +27,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &Cluster{} case "aws:redshift/clusterIamRoles:ClusterIamRoles": r = &ClusterIamRoles{} + case "aws:redshift/clusterSnapshot:ClusterSnapshot": + r = &ClusterSnapshot{} case "aws:redshift/endpointAccess:EndpointAccess": r = &EndpointAccess{} case "aws:redshift/endpointAuthorization:EndpointAuthorization": @@ -83,6 +85,11 @@ func init() { "redshift/clusterIamRoles", &module{version}, ) + pulumi.RegisterResourceModule( + "aws", + "redshift/clusterSnapshot", + &module{version}, + ) pulumi.RegisterResourceModule( "aws", "redshift/endpointAccess", diff --git a/sdk/go/aws/redshiftserverless/namespace.go b/sdk/go/aws/redshiftserverless/namespace.go index 1a73a857f38..de5b94e3928 100644 --- a/sdk/go/aws/redshiftserverless/namespace.go +++ b/sdk/go/aws/redshiftserverless/namespace.go @@ -59,7 +59,7 @@ type Namespace struct { Arn pulumi.StringOutput `pulumi:"arn"` // The name of the first database created in the namespace. DbName pulumi.StringOutput `pulumi:"dbName"` - // The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. + // The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. When specifying `defaultIamRoleArn`, it also must be part of `iamRoles`. DefaultIamRoleArn pulumi.StringPtrOutput `pulumi:"defaultIamRoleArn"` // A list of IAM roles to associate with the namespace. IamRoles pulumi.StringArrayOutput `pulumi:"iamRoles"` @@ -128,7 +128,7 @@ type namespaceState struct { Arn *string `pulumi:"arn"` // The name of the first database created in the namespace. DbName *string `pulumi:"dbName"` - // The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. + // The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. When specifying `defaultIamRoleArn`, it also must be part of `iamRoles`. DefaultIamRoleArn *string `pulumi:"defaultIamRoleArn"` // A list of IAM roles to associate with the namespace. IamRoles []string `pulumi:"iamRoles"` @@ -155,7 +155,7 @@ type NamespaceState struct { Arn pulumi.StringPtrInput // The name of the first database created in the namespace. DbName pulumi.StringPtrInput - // The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. + // The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. When specifying `defaultIamRoleArn`, it also must be part of `iamRoles`. DefaultIamRoleArn pulumi.StringPtrInput // A list of IAM roles to associate with the namespace. IamRoles pulumi.StringArrayInput @@ -184,7 +184,7 @@ type namespaceArgs struct { AdminUsername *string `pulumi:"adminUsername"` // The name of the first database created in the namespace. DbName *string `pulumi:"dbName"` - // The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. + // The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. When specifying `defaultIamRoleArn`, it also must be part of `iamRoles`. DefaultIamRoleArn *string `pulumi:"defaultIamRoleArn"` // A list of IAM roles to associate with the namespace. IamRoles []string `pulumi:"iamRoles"` @@ -206,7 +206,7 @@ type NamespaceArgs struct { AdminUsername pulumi.StringPtrInput // The name of the first database created in the namespace. DbName pulumi.StringPtrInput - // The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. + // The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. When specifying `defaultIamRoleArn`, it also must be part of `iamRoles`. DefaultIamRoleArn pulumi.StringPtrInput // A list of IAM roles to associate with the namespace. IamRoles pulumi.StringArrayInput @@ -327,7 +327,7 @@ func (o NamespaceOutput) DbName() pulumi.StringOutput { return o.ApplyT(func(v *Namespace) pulumi.StringOutput { return v.DbName }).(pulumi.StringOutput) } -// The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. +// The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. When specifying `defaultIamRoleArn`, it also must be part of `iamRoles`. func (o NamespaceOutput) DefaultIamRoleArn() pulumi.StringPtrOutput { return o.ApplyT(func(v *Namespace) pulumi.StringPtrOutput { return v.DefaultIamRoleArn }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/aws/route53/hostedZoneDnsSec.go b/sdk/go/aws/route53/hostedZoneDnsSec.go index 606cb4fbad7..e93a988f59c 100644 --- a/sdk/go/aws/route53/hostedZoneDnsSec.go +++ b/sdk/go/aws/route53/hostedZoneDnsSec.go @@ -45,35 +45,14 @@ import ( // "kms:DescribeKey", // "kms:GetPublicKey", // "kms:Sign", +// "kms:Verify", // }, // "Effect": "Allow", // "Principal": map[string]interface{}{ // "Service": "dnssec-route53.amazonaws.com", // }, -// "Sid": "Allow Route 53 DNSSEC Service", // "Resource": "*", -// "Condition": map[string]interface{}{ -// "StringEquals": map[string]interface{}{ -// "aws:SourceAccount": current.AccountId, -// }, -// "ArnLike": map[string]interface{}{ -// "aws:SourceArn": "arn:aws:route53:::hostedzone/*", -// }, -// }, -// }, -// map[string]interface{}{ -// "Action": "kms:CreateGrant", -// "Effect": "Allow", -// "Principal": map[string]interface{}{ -// "Service": "dnssec-route53.amazonaws.com", -// }, -// "Sid": "Allow Route 53 DNSSEC Service to CreateGrant", -// "Resource": "*", -// "Condition": map[string]interface{}{ -// "Bool": map[string]interface{}{ -// "kms:GrantIsForAWSResource": "true", -// }, -// }, +// "Sid": "Allow Route 53 DNSSEC Service", // }, // map[string]interface{}{ // "Action": "kms:*", diff --git a/sdk/go/aws/sagemaker/domain.go b/sdk/go/aws/sagemaker/domain.go index a7f6206c786..cf839aa3da3 100644 --- a/sdk/go/aws/sagemaker/domain.go +++ b/sdk/go/aws/sagemaker/domain.go @@ -156,7 +156,7 @@ type Domain struct { // Specifies the VPC used for non-EFS traffic. The default value is `PublicInternetOnly`. Valid values are `PublicInternetOnly` and `VpcOnly`. AppNetworkAccessType pulumi.StringPtrOutput `pulumi:"appNetworkAccessType"` - // The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`.* `domainSettings` - (Optional) The domain settings. See Domain Settings below. + // The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`. AppSecurityGroupManagement pulumi.StringPtrOutput `pulumi:"appSecurityGroupManagement"` // The Amazon Resource Name (ARN) assigned by AWS to this Domain. Arn pulumi.StringOutput `pulumi:"arn"` @@ -237,7 +237,7 @@ func GetDomain(ctx *pulumi.Context, type domainState struct { // Specifies the VPC used for non-EFS traffic. The default value is `PublicInternetOnly`. Valid values are `PublicInternetOnly` and `VpcOnly`. AppNetworkAccessType *string `pulumi:"appNetworkAccessType"` - // The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`.* `domainSettings` - (Optional) The domain settings. See Domain Settings below. + // The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`. AppSecurityGroupManagement *string `pulumi:"appSecurityGroupManagement"` // The Amazon Resource Name (ARN) assigned by AWS to this Domain. Arn *string `pulumi:"arn"` @@ -275,7 +275,7 @@ type domainState struct { type DomainState struct { // Specifies the VPC used for non-EFS traffic. The default value is `PublicInternetOnly`. Valid values are `PublicInternetOnly` and `VpcOnly`. AppNetworkAccessType pulumi.StringPtrInput - // The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`.* `domainSettings` - (Optional) The domain settings. See Domain Settings below. + // The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`. AppSecurityGroupManagement pulumi.StringPtrInput // The Amazon Resource Name (ARN) assigned by AWS to this Domain. Arn pulumi.StringPtrInput @@ -317,7 +317,7 @@ func (DomainState) ElementType() reflect.Type { type domainArgs struct { // Specifies the VPC used for non-EFS traffic. The default value is `PublicInternetOnly`. Valid values are `PublicInternetOnly` and `VpcOnly`. AppNetworkAccessType *string `pulumi:"appNetworkAccessType"` - // The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`.* `domainSettings` - (Optional) The domain settings. See Domain Settings below. + // The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`. AppSecurityGroupManagement *string `pulumi:"appSecurityGroupManagement"` // The mode of authentication that members use to access the domain. Valid values are `IAM` and `SSO`. AuthMode string `pulumi:"authMode"` @@ -344,7 +344,7 @@ type domainArgs struct { type DomainArgs struct { // Specifies the VPC used for non-EFS traffic. The default value is `PublicInternetOnly`. Valid values are `PublicInternetOnly` and `VpcOnly`. AppNetworkAccessType pulumi.StringPtrInput - // The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`.* `domainSettings` - (Optional) The domain settings. See Domain Settings below. + // The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`. AppSecurityGroupManagement pulumi.StringPtrInput // The mode of authentication that members use to access the domain. Valid values are `IAM` and `SSO`. AuthMode pulumi.StringInput @@ -459,7 +459,7 @@ func (o DomainOutput) AppNetworkAccessType() pulumi.StringPtrOutput { return o.ApplyT(func(v *Domain) pulumi.StringPtrOutput { return v.AppNetworkAccessType }).(pulumi.StringPtrOutput) } -// The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`.* `domainSettings` - (Optional) The domain settings. See Domain Settings below. +// The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`. func (o DomainOutput) AppSecurityGroupManagement() pulumi.StringPtrOutput { return o.ApplyT(func(v *Domain) pulumi.StringPtrOutput { return v.AppSecurityGroupManagement }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/aws/sesv2/configurationSet.go b/sdk/go/aws/sesv2/configurationSet.go index 3c69a731638..f44cb7a8a90 100644 --- a/sdk/go/aws/sesv2/configurationSet.go +++ b/sdk/go/aws/sesv2/configurationSet.go @@ -87,6 +87,8 @@ type ConfigurationSet struct { TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` // An object that defines the open and click tracking options for emails that you send using the configuration set. TrackingOptions ConfigurationSetTrackingOptionsPtrOutput `pulumi:"trackingOptions"` + // An object that defines the VDM settings that apply to emails that you send using the configuration set. + VdmOptions ConfigurationSetVdmOptionsPtrOutput `pulumi:"vdmOptions"` } // NewConfigurationSet registers a new resource with the given unique name, arguments, and options. @@ -138,6 +140,8 @@ type configurationSetState struct { TagsAll map[string]string `pulumi:"tagsAll"` // An object that defines the open and click tracking options for emails that you send using the configuration set. TrackingOptions *ConfigurationSetTrackingOptions `pulumi:"trackingOptions"` + // An object that defines the VDM settings that apply to emails that you send using the configuration set. + VdmOptions *ConfigurationSetVdmOptions `pulumi:"vdmOptions"` } type ConfigurationSetState struct { @@ -158,6 +162,8 @@ type ConfigurationSetState struct { TagsAll pulumi.StringMapInput // An object that defines the open and click tracking options for emails that you send using the configuration set. TrackingOptions ConfigurationSetTrackingOptionsPtrInput + // An object that defines the VDM settings that apply to emails that you send using the configuration set. + VdmOptions ConfigurationSetVdmOptionsPtrInput } func (ConfigurationSetState) ElementType() reflect.Type { @@ -179,6 +185,8 @@ type configurationSetArgs struct { Tags map[string]string `pulumi:"tags"` // An object that defines the open and click tracking options for emails that you send using the configuration set. TrackingOptions *ConfigurationSetTrackingOptions `pulumi:"trackingOptions"` + // An object that defines the VDM settings that apply to emails that you send using the configuration set. + VdmOptions *ConfigurationSetVdmOptions `pulumi:"vdmOptions"` } // The set of arguments for constructing a ConfigurationSet resource. @@ -197,6 +205,8 @@ type ConfigurationSetArgs struct { Tags pulumi.StringMapInput // An object that defines the open and click tracking options for emails that you send using the configuration set. TrackingOptions ConfigurationSetTrackingOptionsPtrInput + // An object that defines the VDM settings that apply to emails that you send using the configuration set. + VdmOptions ConfigurationSetVdmOptionsPtrInput } func (ConfigurationSetArgs) ElementType() reflect.Type { @@ -330,6 +340,11 @@ func (o ConfigurationSetOutput) TrackingOptions() ConfigurationSetTrackingOption return o.ApplyT(func(v *ConfigurationSet) ConfigurationSetTrackingOptionsPtrOutput { return v.TrackingOptions }).(ConfigurationSetTrackingOptionsPtrOutput) } +// An object that defines the VDM settings that apply to emails that you send using the configuration set. +func (o ConfigurationSetOutput) VdmOptions() ConfigurationSetVdmOptionsPtrOutput { + return o.ApplyT(func(v *ConfigurationSet) ConfigurationSetVdmOptionsPtrOutput { return v.VdmOptions }).(ConfigurationSetVdmOptionsPtrOutput) +} + type ConfigurationSetArrayOutput struct{ *pulumi.OutputState } func (ConfigurationSetArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/aws/sesv2/pulumiTypes.go b/sdk/go/aws/sesv2/pulumiTypes.go index a8facf78b10..c416a698935 100644 --- a/sdk/go/aws/sesv2/pulumiTypes.go +++ b/sdk/go/aws/sesv2/pulumiTypes.go @@ -1665,6 +1665,440 @@ func (o ConfigurationSetTrackingOptionsPtrOutput) CustomRedirectDomain() pulumi. }).(pulumi.StringPtrOutput) } +type ConfigurationSetVdmOptions struct { + // Specifies additional settings for your VDM configuration as applicable to the Dashboard. + DashboardOptions *ConfigurationSetVdmOptionsDashboardOptions `pulumi:"dashboardOptions"` + // Specifies additional settings for your VDM configuration as applicable to the Guardian. + GuardianOptions *ConfigurationSetVdmOptionsGuardianOptions `pulumi:"guardianOptions"` +} + +// ConfigurationSetVdmOptionsInput is an input type that accepts ConfigurationSetVdmOptionsArgs and ConfigurationSetVdmOptionsOutput values. +// You can construct a concrete instance of `ConfigurationSetVdmOptionsInput` via: +// +// ConfigurationSetVdmOptionsArgs{...} +type ConfigurationSetVdmOptionsInput interface { + pulumi.Input + + ToConfigurationSetVdmOptionsOutput() ConfigurationSetVdmOptionsOutput + ToConfigurationSetVdmOptionsOutputWithContext(context.Context) ConfigurationSetVdmOptionsOutput +} + +type ConfigurationSetVdmOptionsArgs struct { + // Specifies additional settings for your VDM configuration as applicable to the Dashboard. + DashboardOptions ConfigurationSetVdmOptionsDashboardOptionsPtrInput `pulumi:"dashboardOptions"` + // Specifies additional settings for your VDM configuration as applicable to the Guardian. + GuardianOptions ConfigurationSetVdmOptionsGuardianOptionsPtrInput `pulumi:"guardianOptions"` +} + +func (ConfigurationSetVdmOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigurationSetVdmOptions)(nil)).Elem() +} + +func (i ConfigurationSetVdmOptionsArgs) ToConfigurationSetVdmOptionsOutput() ConfigurationSetVdmOptionsOutput { + return i.ToConfigurationSetVdmOptionsOutputWithContext(context.Background()) +} + +func (i ConfigurationSetVdmOptionsArgs) ToConfigurationSetVdmOptionsOutputWithContext(ctx context.Context) ConfigurationSetVdmOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(ConfigurationSetVdmOptionsOutput) +} + +func (i ConfigurationSetVdmOptionsArgs) ToConfigurationSetVdmOptionsPtrOutput() ConfigurationSetVdmOptionsPtrOutput { + return i.ToConfigurationSetVdmOptionsPtrOutputWithContext(context.Background()) +} + +func (i ConfigurationSetVdmOptionsArgs) ToConfigurationSetVdmOptionsPtrOutputWithContext(ctx context.Context) ConfigurationSetVdmOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ConfigurationSetVdmOptionsOutput).ToConfigurationSetVdmOptionsPtrOutputWithContext(ctx) +} + +// ConfigurationSetVdmOptionsPtrInput is an input type that accepts ConfigurationSetVdmOptionsArgs, ConfigurationSetVdmOptionsPtr and ConfigurationSetVdmOptionsPtrOutput values. +// You can construct a concrete instance of `ConfigurationSetVdmOptionsPtrInput` via: +// +// ConfigurationSetVdmOptionsArgs{...} +// +// or: +// +// nil +type ConfigurationSetVdmOptionsPtrInput interface { + pulumi.Input + + ToConfigurationSetVdmOptionsPtrOutput() ConfigurationSetVdmOptionsPtrOutput + ToConfigurationSetVdmOptionsPtrOutputWithContext(context.Context) ConfigurationSetVdmOptionsPtrOutput +} + +type configurationSetVdmOptionsPtrType ConfigurationSetVdmOptionsArgs + +func ConfigurationSetVdmOptionsPtr(v *ConfigurationSetVdmOptionsArgs) ConfigurationSetVdmOptionsPtrInput { + return (*configurationSetVdmOptionsPtrType)(v) +} + +func (*configurationSetVdmOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ConfigurationSetVdmOptions)(nil)).Elem() +} + +func (i *configurationSetVdmOptionsPtrType) ToConfigurationSetVdmOptionsPtrOutput() ConfigurationSetVdmOptionsPtrOutput { + return i.ToConfigurationSetVdmOptionsPtrOutputWithContext(context.Background()) +} + +func (i *configurationSetVdmOptionsPtrType) ToConfigurationSetVdmOptionsPtrOutputWithContext(ctx context.Context) ConfigurationSetVdmOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ConfigurationSetVdmOptionsPtrOutput) +} + +type ConfigurationSetVdmOptionsOutput struct{ *pulumi.OutputState } + +func (ConfigurationSetVdmOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigurationSetVdmOptions)(nil)).Elem() +} + +func (o ConfigurationSetVdmOptionsOutput) ToConfigurationSetVdmOptionsOutput() ConfigurationSetVdmOptionsOutput { + return o +} + +func (o ConfigurationSetVdmOptionsOutput) ToConfigurationSetVdmOptionsOutputWithContext(ctx context.Context) ConfigurationSetVdmOptionsOutput { + return o +} + +func (o ConfigurationSetVdmOptionsOutput) ToConfigurationSetVdmOptionsPtrOutput() ConfigurationSetVdmOptionsPtrOutput { + return o.ToConfigurationSetVdmOptionsPtrOutputWithContext(context.Background()) +} + +func (o ConfigurationSetVdmOptionsOutput) ToConfigurationSetVdmOptionsPtrOutputWithContext(ctx context.Context) ConfigurationSetVdmOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ConfigurationSetVdmOptions) *ConfigurationSetVdmOptions { + return &v + }).(ConfigurationSetVdmOptionsPtrOutput) +} + +// Specifies additional settings for your VDM configuration as applicable to the Dashboard. +func (o ConfigurationSetVdmOptionsOutput) DashboardOptions() ConfigurationSetVdmOptionsDashboardOptionsPtrOutput { + return o.ApplyT(func(v ConfigurationSetVdmOptions) *ConfigurationSetVdmOptionsDashboardOptions { + return v.DashboardOptions + }).(ConfigurationSetVdmOptionsDashboardOptionsPtrOutput) +} + +// Specifies additional settings for your VDM configuration as applicable to the Guardian. +func (o ConfigurationSetVdmOptionsOutput) GuardianOptions() ConfigurationSetVdmOptionsGuardianOptionsPtrOutput { + return o.ApplyT(func(v ConfigurationSetVdmOptions) *ConfigurationSetVdmOptionsGuardianOptions { + return v.GuardianOptions + }).(ConfigurationSetVdmOptionsGuardianOptionsPtrOutput) +} + +type ConfigurationSetVdmOptionsPtrOutput struct{ *pulumi.OutputState } + +func (ConfigurationSetVdmOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ConfigurationSetVdmOptions)(nil)).Elem() +} + +func (o ConfigurationSetVdmOptionsPtrOutput) ToConfigurationSetVdmOptionsPtrOutput() ConfigurationSetVdmOptionsPtrOutput { + return o +} + +func (o ConfigurationSetVdmOptionsPtrOutput) ToConfigurationSetVdmOptionsPtrOutputWithContext(ctx context.Context) ConfigurationSetVdmOptionsPtrOutput { + return o +} + +func (o ConfigurationSetVdmOptionsPtrOutput) Elem() ConfigurationSetVdmOptionsOutput { + return o.ApplyT(func(v *ConfigurationSetVdmOptions) ConfigurationSetVdmOptions { + if v != nil { + return *v + } + var ret ConfigurationSetVdmOptions + return ret + }).(ConfigurationSetVdmOptionsOutput) +} + +// Specifies additional settings for your VDM configuration as applicable to the Dashboard. +func (o ConfigurationSetVdmOptionsPtrOutput) DashboardOptions() ConfigurationSetVdmOptionsDashboardOptionsPtrOutput { + return o.ApplyT(func(v *ConfigurationSetVdmOptions) *ConfigurationSetVdmOptionsDashboardOptions { + if v == nil { + return nil + } + return v.DashboardOptions + }).(ConfigurationSetVdmOptionsDashboardOptionsPtrOutput) +} + +// Specifies additional settings for your VDM configuration as applicable to the Guardian. +func (o ConfigurationSetVdmOptionsPtrOutput) GuardianOptions() ConfigurationSetVdmOptionsGuardianOptionsPtrOutput { + return o.ApplyT(func(v *ConfigurationSetVdmOptions) *ConfigurationSetVdmOptionsGuardianOptions { + if v == nil { + return nil + } + return v.GuardianOptions + }).(ConfigurationSetVdmOptionsGuardianOptionsPtrOutput) +} + +type ConfigurationSetVdmOptionsDashboardOptions struct { + // Specifies the status of your VDM engagement metrics collection. Valid values: `ENABLED`, `DISABLED`. + EngagementMetrics *string `pulumi:"engagementMetrics"` +} + +// ConfigurationSetVdmOptionsDashboardOptionsInput is an input type that accepts ConfigurationSetVdmOptionsDashboardOptionsArgs and ConfigurationSetVdmOptionsDashboardOptionsOutput values. +// You can construct a concrete instance of `ConfigurationSetVdmOptionsDashboardOptionsInput` via: +// +// ConfigurationSetVdmOptionsDashboardOptionsArgs{...} +type ConfigurationSetVdmOptionsDashboardOptionsInput interface { + pulumi.Input + + ToConfigurationSetVdmOptionsDashboardOptionsOutput() ConfigurationSetVdmOptionsDashboardOptionsOutput + ToConfigurationSetVdmOptionsDashboardOptionsOutputWithContext(context.Context) ConfigurationSetVdmOptionsDashboardOptionsOutput +} + +type ConfigurationSetVdmOptionsDashboardOptionsArgs struct { + // Specifies the status of your VDM engagement metrics collection. Valid values: `ENABLED`, `DISABLED`. + EngagementMetrics pulumi.StringPtrInput `pulumi:"engagementMetrics"` +} + +func (ConfigurationSetVdmOptionsDashboardOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigurationSetVdmOptionsDashboardOptions)(nil)).Elem() +} + +func (i ConfigurationSetVdmOptionsDashboardOptionsArgs) ToConfigurationSetVdmOptionsDashboardOptionsOutput() ConfigurationSetVdmOptionsDashboardOptionsOutput { + return i.ToConfigurationSetVdmOptionsDashboardOptionsOutputWithContext(context.Background()) +} + +func (i ConfigurationSetVdmOptionsDashboardOptionsArgs) ToConfigurationSetVdmOptionsDashboardOptionsOutputWithContext(ctx context.Context) ConfigurationSetVdmOptionsDashboardOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(ConfigurationSetVdmOptionsDashboardOptionsOutput) +} + +func (i ConfigurationSetVdmOptionsDashboardOptionsArgs) ToConfigurationSetVdmOptionsDashboardOptionsPtrOutput() ConfigurationSetVdmOptionsDashboardOptionsPtrOutput { + return i.ToConfigurationSetVdmOptionsDashboardOptionsPtrOutputWithContext(context.Background()) +} + +func (i ConfigurationSetVdmOptionsDashboardOptionsArgs) ToConfigurationSetVdmOptionsDashboardOptionsPtrOutputWithContext(ctx context.Context) ConfigurationSetVdmOptionsDashboardOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ConfigurationSetVdmOptionsDashboardOptionsOutput).ToConfigurationSetVdmOptionsDashboardOptionsPtrOutputWithContext(ctx) +} + +// ConfigurationSetVdmOptionsDashboardOptionsPtrInput is an input type that accepts ConfigurationSetVdmOptionsDashboardOptionsArgs, ConfigurationSetVdmOptionsDashboardOptionsPtr and ConfigurationSetVdmOptionsDashboardOptionsPtrOutput values. +// You can construct a concrete instance of `ConfigurationSetVdmOptionsDashboardOptionsPtrInput` via: +// +// ConfigurationSetVdmOptionsDashboardOptionsArgs{...} +// +// or: +// +// nil +type ConfigurationSetVdmOptionsDashboardOptionsPtrInput interface { + pulumi.Input + + ToConfigurationSetVdmOptionsDashboardOptionsPtrOutput() ConfigurationSetVdmOptionsDashboardOptionsPtrOutput + ToConfigurationSetVdmOptionsDashboardOptionsPtrOutputWithContext(context.Context) ConfigurationSetVdmOptionsDashboardOptionsPtrOutput +} + +type configurationSetVdmOptionsDashboardOptionsPtrType ConfigurationSetVdmOptionsDashboardOptionsArgs + +func ConfigurationSetVdmOptionsDashboardOptionsPtr(v *ConfigurationSetVdmOptionsDashboardOptionsArgs) ConfigurationSetVdmOptionsDashboardOptionsPtrInput { + return (*configurationSetVdmOptionsDashboardOptionsPtrType)(v) +} + +func (*configurationSetVdmOptionsDashboardOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ConfigurationSetVdmOptionsDashboardOptions)(nil)).Elem() +} + +func (i *configurationSetVdmOptionsDashboardOptionsPtrType) ToConfigurationSetVdmOptionsDashboardOptionsPtrOutput() ConfigurationSetVdmOptionsDashboardOptionsPtrOutput { + return i.ToConfigurationSetVdmOptionsDashboardOptionsPtrOutputWithContext(context.Background()) +} + +func (i *configurationSetVdmOptionsDashboardOptionsPtrType) ToConfigurationSetVdmOptionsDashboardOptionsPtrOutputWithContext(ctx context.Context) ConfigurationSetVdmOptionsDashboardOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ConfigurationSetVdmOptionsDashboardOptionsPtrOutput) +} + +type ConfigurationSetVdmOptionsDashboardOptionsOutput struct{ *pulumi.OutputState } + +func (ConfigurationSetVdmOptionsDashboardOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigurationSetVdmOptionsDashboardOptions)(nil)).Elem() +} + +func (o ConfigurationSetVdmOptionsDashboardOptionsOutput) ToConfigurationSetVdmOptionsDashboardOptionsOutput() ConfigurationSetVdmOptionsDashboardOptionsOutput { + return o +} + +func (o ConfigurationSetVdmOptionsDashboardOptionsOutput) ToConfigurationSetVdmOptionsDashboardOptionsOutputWithContext(ctx context.Context) ConfigurationSetVdmOptionsDashboardOptionsOutput { + return o +} + +func (o ConfigurationSetVdmOptionsDashboardOptionsOutput) ToConfigurationSetVdmOptionsDashboardOptionsPtrOutput() ConfigurationSetVdmOptionsDashboardOptionsPtrOutput { + return o.ToConfigurationSetVdmOptionsDashboardOptionsPtrOutputWithContext(context.Background()) +} + +func (o ConfigurationSetVdmOptionsDashboardOptionsOutput) ToConfigurationSetVdmOptionsDashboardOptionsPtrOutputWithContext(ctx context.Context) ConfigurationSetVdmOptionsDashboardOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ConfigurationSetVdmOptionsDashboardOptions) *ConfigurationSetVdmOptionsDashboardOptions { + return &v + }).(ConfigurationSetVdmOptionsDashboardOptionsPtrOutput) +} + +// Specifies the status of your VDM engagement metrics collection. Valid values: `ENABLED`, `DISABLED`. +func (o ConfigurationSetVdmOptionsDashboardOptionsOutput) EngagementMetrics() pulumi.StringPtrOutput { + return o.ApplyT(func(v ConfigurationSetVdmOptionsDashboardOptions) *string { return v.EngagementMetrics }).(pulumi.StringPtrOutput) +} + +type ConfigurationSetVdmOptionsDashboardOptionsPtrOutput struct{ *pulumi.OutputState } + +func (ConfigurationSetVdmOptionsDashboardOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ConfigurationSetVdmOptionsDashboardOptions)(nil)).Elem() +} + +func (o ConfigurationSetVdmOptionsDashboardOptionsPtrOutput) ToConfigurationSetVdmOptionsDashboardOptionsPtrOutput() ConfigurationSetVdmOptionsDashboardOptionsPtrOutput { + return o +} + +func (o ConfigurationSetVdmOptionsDashboardOptionsPtrOutput) ToConfigurationSetVdmOptionsDashboardOptionsPtrOutputWithContext(ctx context.Context) ConfigurationSetVdmOptionsDashboardOptionsPtrOutput { + return o +} + +func (o ConfigurationSetVdmOptionsDashboardOptionsPtrOutput) Elem() ConfigurationSetVdmOptionsDashboardOptionsOutput { + return o.ApplyT(func(v *ConfigurationSetVdmOptionsDashboardOptions) ConfigurationSetVdmOptionsDashboardOptions { + if v != nil { + return *v + } + var ret ConfigurationSetVdmOptionsDashboardOptions + return ret + }).(ConfigurationSetVdmOptionsDashboardOptionsOutput) +} + +// Specifies the status of your VDM engagement metrics collection. Valid values: `ENABLED`, `DISABLED`. +func (o ConfigurationSetVdmOptionsDashboardOptionsPtrOutput) EngagementMetrics() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ConfigurationSetVdmOptionsDashboardOptions) *string { + if v == nil { + return nil + } + return v.EngagementMetrics + }).(pulumi.StringPtrOutput) +} + +type ConfigurationSetVdmOptionsGuardianOptions struct { + // Specifies the status of your VDM optimized shared delivery. Valid values: `ENABLED`, `DISABLED`. + OptimizedSharedDelivery *string `pulumi:"optimizedSharedDelivery"` +} + +// ConfigurationSetVdmOptionsGuardianOptionsInput is an input type that accepts ConfigurationSetVdmOptionsGuardianOptionsArgs and ConfigurationSetVdmOptionsGuardianOptionsOutput values. +// You can construct a concrete instance of `ConfigurationSetVdmOptionsGuardianOptionsInput` via: +// +// ConfigurationSetVdmOptionsGuardianOptionsArgs{...} +type ConfigurationSetVdmOptionsGuardianOptionsInput interface { + pulumi.Input + + ToConfigurationSetVdmOptionsGuardianOptionsOutput() ConfigurationSetVdmOptionsGuardianOptionsOutput + ToConfigurationSetVdmOptionsGuardianOptionsOutputWithContext(context.Context) ConfigurationSetVdmOptionsGuardianOptionsOutput +} + +type ConfigurationSetVdmOptionsGuardianOptionsArgs struct { + // Specifies the status of your VDM optimized shared delivery. Valid values: `ENABLED`, `DISABLED`. + OptimizedSharedDelivery pulumi.StringPtrInput `pulumi:"optimizedSharedDelivery"` +} + +func (ConfigurationSetVdmOptionsGuardianOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigurationSetVdmOptionsGuardianOptions)(nil)).Elem() +} + +func (i ConfigurationSetVdmOptionsGuardianOptionsArgs) ToConfigurationSetVdmOptionsGuardianOptionsOutput() ConfigurationSetVdmOptionsGuardianOptionsOutput { + return i.ToConfigurationSetVdmOptionsGuardianOptionsOutputWithContext(context.Background()) +} + +func (i ConfigurationSetVdmOptionsGuardianOptionsArgs) ToConfigurationSetVdmOptionsGuardianOptionsOutputWithContext(ctx context.Context) ConfigurationSetVdmOptionsGuardianOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(ConfigurationSetVdmOptionsGuardianOptionsOutput) +} + +func (i ConfigurationSetVdmOptionsGuardianOptionsArgs) ToConfigurationSetVdmOptionsGuardianOptionsPtrOutput() ConfigurationSetVdmOptionsGuardianOptionsPtrOutput { + return i.ToConfigurationSetVdmOptionsGuardianOptionsPtrOutputWithContext(context.Background()) +} + +func (i ConfigurationSetVdmOptionsGuardianOptionsArgs) ToConfigurationSetVdmOptionsGuardianOptionsPtrOutputWithContext(ctx context.Context) ConfigurationSetVdmOptionsGuardianOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ConfigurationSetVdmOptionsGuardianOptionsOutput).ToConfigurationSetVdmOptionsGuardianOptionsPtrOutputWithContext(ctx) +} + +// ConfigurationSetVdmOptionsGuardianOptionsPtrInput is an input type that accepts ConfigurationSetVdmOptionsGuardianOptionsArgs, ConfigurationSetVdmOptionsGuardianOptionsPtr and ConfigurationSetVdmOptionsGuardianOptionsPtrOutput values. +// You can construct a concrete instance of `ConfigurationSetVdmOptionsGuardianOptionsPtrInput` via: +// +// ConfigurationSetVdmOptionsGuardianOptionsArgs{...} +// +// or: +// +// nil +type ConfigurationSetVdmOptionsGuardianOptionsPtrInput interface { + pulumi.Input + + ToConfigurationSetVdmOptionsGuardianOptionsPtrOutput() ConfigurationSetVdmOptionsGuardianOptionsPtrOutput + ToConfigurationSetVdmOptionsGuardianOptionsPtrOutputWithContext(context.Context) ConfigurationSetVdmOptionsGuardianOptionsPtrOutput +} + +type configurationSetVdmOptionsGuardianOptionsPtrType ConfigurationSetVdmOptionsGuardianOptionsArgs + +func ConfigurationSetVdmOptionsGuardianOptionsPtr(v *ConfigurationSetVdmOptionsGuardianOptionsArgs) ConfigurationSetVdmOptionsGuardianOptionsPtrInput { + return (*configurationSetVdmOptionsGuardianOptionsPtrType)(v) +} + +func (*configurationSetVdmOptionsGuardianOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ConfigurationSetVdmOptionsGuardianOptions)(nil)).Elem() +} + +func (i *configurationSetVdmOptionsGuardianOptionsPtrType) ToConfigurationSetVdmOptionsGuardianOptionsPtrOutput() ConfigurationSetVdmOptionsGuardianOptionsPtrOutput { + return i.ToConfigurationSetVdmOptionsGuardianOptionsPtrOutputWithContext(context.Background()) +} + +func (i *configurationSetVdmOptionsGuardianOptionsPtrType) ToConfigurationSetVdmOptionsGuardianOptionsPtrOutputWithContext(ctx context.Context) ConfigurationSetVdmOptionsGuardianOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ConfigurationSetVdmOptionsGuardianOptionsPtrOutput) +} + +type ConfigurationSetVdmOptionsGuardianOptionsOutput struct{ *pulumi.OutputState } + +func (ConfigurationSetVdmOptionsGuardianOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigurationSetVdmOptionsGuardianOptions)(nil)).Elem() +} + +func (o ConfigurationSetVdmOptionsGuardianOptionsOutput) ToConfigurationSetVdmOptionsGuardianOptionsOutput() ConfigurationSetVdmOptionsGuardianOptionsOutput { + return o +} + +func (o ConfigurationSetVdmOptionsGuardianOptionsOutput) ToConfigurationSetVdmOptionsGuardianOptionsOutputWithContext(ctx context.Context) ConfigurationSetVdmOptionsGuardianOptionsOutput { + return o +} + +func (o ConfigurationSetVdmOptionsGuardianOptionsOutput) ToConfigurationSetVdmOptionsGuardianOptionsPtrOutput() ConfigurationSetVdmOptionsGuardianOptionsPtrOutput { + return o.ToConfigurationSetVdmOptionsGuardianOptionsPtrOutputWithContext(context.Background()) +} + +func (o ConfigurationSetVdmOptionsGuardianOptionsOutput) ToConfigurationSetVdmOptionsGuardianOptionsPtrOutputWithContext(ctx context.Context) ConfigurationSetVdmOptionsGuardianOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ConfigurationSetVdmOptionsGuardianOptions) *ConfigurationSetVdmOptionsGuardianOptions { + return &v + }).(ConfigurationSetVdmOptionsGuardianOptionsPtrOutput) +} + +// Specifies the status of your VDM optimized shared delivery. Valid values: `ENABLED`, `DISABLED`. +func (o ConfigurationSetVdmOptionsGuardianOptionsOutput) OptimizedSharedDelivery() pulumi.StringPtrOutput { + return o.ApplyT(func(v ConfigurationSetVdmOptionsGuardianOptions) *string { return v.OptimizedSharedDelivery }).(pulumi.StringPtrOutput) +} + +type ConfigurationSetVdmOptionsGuardianOptionsPtrOutput struct{ *pulumi.OutputState } + +func (ConfigurationSetVdmOptionsGuardianOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ConfigurationSetVdmOptionsGuardianOptions)(nil)).Elem() +} + +func (o ConfigurationSetVdmOptionsGuardianOptionsPtrOutput) ToConfigurationSetVdmOptionsGuardianOptionsPtrOutput() ConfigurationSetVdmOptionsGuardianOptionsPtrOutput { + return o +} + +func (o ConfigurationSetVdmOptionsGuardianOptionsPtrOutput) ToConfigurationSetVdmOptionsGuardianOptionsPtrOutputWithContext(ctx context.Context) ConfigurationSetVdmOptionsGuardianOptionsPtrOutput { + return o +} + +func (o ConfigurationSetVdmOptionsGuardianOptionsPtrOutput) Elem() ConfigurationSetVdmOptionsGuardianOptionsOutput { + return o.ApplyT(func(v *ConfigurationSetVdmOptionsGuardianOptions) ConfigurationSetVdmOptionsGuardianOptions { + if v != nil { + return *v + } + var ret ConfigurationSetVdmOptionsGuardianOptions + return ret + }).(ConfigurationSetVdmOptionsGuardianOptionsOutput) +} + +// Specifies the status of your VDM optimized shared delivery. Valid values: `ENABLED`, `DISABLED`. +func (o ConfigurationSetVdmOptionsGuardianOptionsPtrOutput) OptimizedSharedDelivery() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ConfigurationSetVdmOptionsGuardianOptions) *string { + if v == nil { + return nil + } + return v.OptimizedSharedDelivery + }).(pulumi.StringPtrOutput) +} + type EmailIdentityDkimSigningAttributes struct { // [Easy DKIM] The key length of the DKIM key pair in use. CurrentSigningKeyLength *string `pulumi:"currentSigningKeyLength"` @@ -2073,6 +2507,12 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ConfigurationSetSuppressionOptionsPtrInput)(nil)).Elem(), ConfigurationSetSuppressionOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ConfigurationSetTrackingOptionsInput)(nil)).Elem(), ConfigurationSetTrackingOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ConfigurationSetTrackingOptionsPtrInput)(nil)).Elem(), ConfigurationSetTrackingOptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ConfigurationSetVdmOptionsInput)(nil)).Elem(), ConfigurationSetVdmOptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ConfigurationSetVdmOptionsPtrInput)(nil)).Elem(), ConfigurationSetVdmOptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ConfigurationSetVdmOptionsDashboardOptionsInput)(nil)).Elem(), ConfigurationSetVdmOptionsDashboardOptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ConfigurationSetVdmOptionsDashboardOptionsPtrInput)(nil)).Elem(), ConfigurationSetVdmOptionsDashboardOptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ConfigurationSetVdmOptionsGuardianOptionsInput)(nil)).Elem(), ConfigurationSetVdmOptionsGuardianOptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ConfigurationSetVdmOptionsGuardianOptionsPtrInput)(nil)).Elem(), ConfigurationSetVdmOptionsGuardianOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*EmailIdentityDkimSigningAttributesInput)(nil)).Elem(), EmailIdentityDkimSigningAttributesArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*EmailIdentityDkimSigningAttributesPtrInput)(nil)).Elem(), EmailIdentityDkimSigningAttributesArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetDedicatedIpPoolDedicatedIpInput)(nil)).Elem(), GetDedicatedIpPoolDedicatedIpArgs{}) @@ -2099,6 +2539,12 @@ func init() { pulumi.RegisterOutputType(ConfigurationSetSuppressionOptionsPtrOutput{}) pulumi.RegisterOutputType(ConfigurationSetTrackingOptionsOutput{}) pulumi.RegisterOutputType(ConfigurationSetTrackingOptionsPtrOutput{}) + pulumi.RegisterOutputType(ConfigurationSetVdmOptionsOutput{}) + pulumi.RegisterOutputType(ConfigurationSetVdmOptionsPtrOutput{}) + pulumi.RegisterOutputType(ConfigurationSetVdmOptionsDashboardOptionsOutput{}) + pulumi.RegisterOutputType(ConfigurationSetVdmOptionsDashboardOptionsPtrOutput{}) + pulumi.RegisterOutputType(ConfigurationSetVdmOptionsGuardianOptionsOutput{}) + pulumi.RegisterOutputType(ConfigurationSetVdmOptionsGuardianOptionsPtrOutput{}) pulumi.RegisterOutputType(EmailIdentityDkimSigningAttributesOutput{}) pulumi.RegisterOutputType(EmailIdentityDkimSigningAttributesPtrOutput{}) pulumi.RegisterOutputType(GetDedicatedIpPoolDedicatedIpOutput{}) diff --git a/sdk/go/aws/transfer/pulumiTypes.go b/sdk/go/aws/transfer/pulumiTypes.go index b11dbc177c1..13f39611764 100644 --- a/sdk/go/aws/transfer/pulumiTypes.go +++ b/sdk/go/aws/transfer/pulumiTypes.go @@ -504,6 +504,200 @@ func (o ServerEndpointDetailsPtrOutput) VpcId() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } +type ServerProtocolDetails struct { + // Indicates the transport method for the AS2 messages. Currently, only `HTTP` is supported. + As2Transports []string `pulumi:"as2Transports"` + // Indicates passive mode, for FTP and FTPS protocols. Enter a single IPv4 address, such as the public IP address of a firewall, router, or load balancer. + PassiveIp *string `pulumi:"passiveIp"` + // Use to ignore the error that is generated when the client attempts to use `SETSTAT` on a file you are uploading to an S3 bucket. Valid values: `DEFAULT`, `ENABLE_NO_OP`. + SetStatOption *string `pulumi:"setStatOption"` + // A property used with Transfer Family servers that use the FTPS protocol. Provides a mechanism to resume or share a negotiated secret key between the control and data connection for an FTPS session. Valid values: `DISABLED`, `ENABLED`, `ENFORCED`. + TlsSessionResumptionMode *string `pulumi:"tlsSessionResumptionMode"` +} + +// ServerProtocolDetailsInput is an input type that accepts ServerProtocolDetailsArgs and ServerProtocolDetailsOutput values. +// You can construct a concrete instance of `ServerProtocolDetailsInput` via: +// +// ServerProtocolDetailsArgs{...} +type ServerProtocolDetailsInput interface { + pulumi.Input + + ToServerProtocolDetailsOutput() ServerProtocolDetailsOutput + ToServerProtocolDetailsOutputWithContext(context.Context) ServerProtocolDetailsOutput +} + +type ServerProtocolDetailsArgs struct { + // Indicates the transport method for the AS2 messages. Currently, only `HTTP` is supported. + As2Transports pulumi.StringArrayInput `pulumi:"as2Transports"` + // Indicates passive mode, for FTP and FTPS protocols. Enter a single IPv4 address, such as the public IP address of a firewall, router, or load balancer. + PassiveIp pulumi.StringPtrInput `pulumi:"passiveIp"` + // Use to ignore the error that is generated when the client attempts to use `SETSTAT` on a file you are uploading to an S3 bucket. Valid values: `DEFAULT`, `ENABLE_NO_OP`. + SetStatOption pulumi.StringPtrInput `pulumi:"setStatOption"` + // A property used with Transfer Family servers that use the FTPS protocol. Provides a mechanism to resume or share a negotiated secret key between the control and data connection for an FTPS session. Valid values: `DISABLED`, `ENABLED`, `ENFORCED`. + TlsSessionResumptionMode pulumi.StringPtrInput `pulumi:"tlsSessionResumptionMode"` +} + +func (ServerProtocolDetailsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ServerProtocolDetails)(nil)).Elem() +} + +func (i ServerProtocolDetailsArgs) ToServerProtocolDetailsOutput() ServerProtocolDetailsOutput { + return i.ToServerProtocolDetailsOutputWithContext(context.Background()) +} + +func (i ServerProtocolDetailsArgs) ToServerProtocolDetailsOutputWithContext(ctx context.Context) ServerProtocolDetailsOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServerProtocolDetailsOutput) +} + +func (i ServerProtocolDetailsArgs) ToServerProtocolDetailsPtrOutput() ServerProtocolDetailsPtrOutput { + return i.ToServerProtocolDetailsPtrOutputWithContext(context.Background()) +} + +func (i ServerProtocolDetailsArgs) ToServerProtocolDetailsPtrOutputWithContext(ctx context.Context) ServerProtocolDetailsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServerProtocolDetailsOutput).ToServerProtocolDetailsPtrOutputWithContext(ctx) +} + +// ServerProtocolDetailsPtrInput is an input type that accepts ServerProtocolDetailsArgs, ServerProtocolDetailsPtr and ServerProtocolDetailsPtrOutput values. +// You can construct a concrete instance of `ServerProtocolDetailsPtrInput` via: +// +// ServerProtocolDetailsArgs{...} +// +// or: +// +// nil +type ServerProtocolDetailsPtrInput interface { + pulumi.Input + + ToServerProtocolDetailsPtrOutput() ServerProtocolDetailsPtrOutput + ToServerProtocolDetailsPtrOutputWithContext(context.Context) ServerProtocolDetailsPtrOutput +} + +type serverProtocolDetailsPtrType ServerProtocolDetailsArgs + +func ServerProtocolDetailsPtr(v *ServerProtocolDetailsArgs) ServerProtocolDetailsPtrInput { + return (*serverProtocolDetailsPtrType)(v) +} + +func (*serverProtocolDetailsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ServerProtocolDetails)(nil)).Elem() +} + +func (i *serverProtocolDetailsPtrType) ToServerProtocolDetailsPtrOutput() ServerProtocolDetailsPtrOutput { + return i.ToServerProtocolDetailsPtrOutputWithContext(context.Background()) +} + +func (i *serverProtocolDetailsPtrType) ToServerProtocolDetailsPtrOutputWithContext(ctx context.Context) ServerProtocolDetailsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServerProtocolDetailsPtrOutput) +} + +type ServerProtocolDetailsOutput struct{ *pulumi.OutputState } + +func (ServerProtocolDetailsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServerProtocolDetails)(nil)).Elem() +} + +func (o ServerProtocolDetailsOutput) ToServerProtocolDetailsOutput() ServerProtocolDetailsOutput { + return o +} + +func (o ServerProtocolDetailsOutput) ToServerProtocolDetailsOutputWithContext(ctx context.Context) ServerProtocolDetailsOutput { + return o +} + +func (o ServerProtocolDetailsOutput) ToServerProtocolDetailsPtrOutput() ServerProtocolDetailsPtrOutput { + return o.ToServerProtocolDetailsPtrOutputWithContext(context.Background()) +} + +func (o ServerProtocolDetailsOutput) ToServerProtocolDetailsPtrOutputWithContext(ctx context.Context) ServerProtocolDetailsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ServerProtocolDetails) *ServerProtocolDetails { + return &v + }).(ServerProtocolDetailsPtrOutput) +} + +// Indicates the transport method for the AS2 messages. Currently, only `HTTP` is supported. +func (o ServerProtocolDetailsOutput) As2Transports() pulumi.StringArrayOutput { + return o.ApplyT(func(v ServerProtocolDetails) []string { return v.As2Transports }).(pulumi.StringArrayOutput) +} + +// Indicates passive mode, for FTP and FTPS protocols. Enter a single IPv4 address, such as the public IP address of a firewall, router, or load balancer. +func (o ServerProtocolDetailsOutput) PassiveIp() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServerProtocolDetails) *string { return v.PassiveIp }).(pulumi.StringPtrOutput) +} + +// Use to ignore the error that is generated when the client attempts to use `SETSTAT` on a file you are uploading to an S3 bucket. Valid values: `DEFAULT`, `ENABLE_NO_OP`. +func (o ServerProtocolDetailsOutput) SetStatOption() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServerProtocolDetails) *string { return v.SetStatOption }).(pulumi.StringPtrOutput) +} + +// A property used with Transfer Family servers that use the FTPS protocol. Provides a mechanism to resume or share a negotiated secret key between the control and data connection for an FTPS session. Valid values: `DISABLED`, `ENABLED`, `ENFORCED`. +func (o ServerProtocolDetailsOutput) TlsSessionResumptionMode() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServerProtocolDetails) *string { return v.TlsSessionResumptionMode }).(pulumi.StringPtrOutput) +} + +type ServerProtocolDetailsPtrOutput struct{ *pulumi.OutputState } + +func (ServerProtocolDetailsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ServerProtocolDetails)(nil)).Elem() +} + +func (o ServerProtocolDetailsPtrOutput) ToServerProtocolDetailsPtrOutput() ServerProtocolDetailsPtrOutput { + return o +} + +func (o ServerProtocolDetailsPtrOutput) ToServerProtocolDetailsPtrOutputWithContext(ctx context.Context) ServerProtocolDetailsPtrOutput { + return o +} + +func (o ServerProtocolDetailsPtrOutput) Elem() ServerProtocolDetailsOutput { + return o.ApplyT(func(v *ServerProtocolDetails) ServerProtocolDetails { + if v != nil { + return *v + } + var ret ServerProtocolDetails + return ret + }).(ServerProtocolDetailsOutput) +} + +// Indicates the transport method for the AS2 messages. Currently, only `HTTP` is supported. +func (o ServerProtocolDetailsPtrOutput) As2Transports() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ServerProtocolDetails) []string { + if v == nil { + return nil + } + return v.As2Transports + }).(pulumi.StringArrayOutput) +} + +// Indicates passive mode, for FTP and FTPS protocols. Enter a single IPv4 address, such as the public IP address of a firewall, router, or load balancer. +func (o ServerProtocolDetailsPtrOutput) PassiveIp() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ServerProtocolDetails) *string { + if v == nil { + return nil + } + return v.PassiveIp + }).(pulumi.StringPtrOutput) +} + +// Use to ignore the error that is generated when the client attempts to use `SETSTAT` on a file you are uploading to an S3 bucket. Valid values: `DEFAULT`, `ENABLE_NO_OP`. +func (o ServerProtocolDetailsPtrOutput) SetStatOption() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ServerProtocolDetails) *string { + if v == nil { + return nil + } + return v.SetStatOption + }).(pulumi.StringPtrOutput) +} + +// A property used with Transfer Family servers that use the FTPS protocol. Provides a mechanism to resume or share a negotiated secret key between the control and data connection for an FTPS session. Valid values: `DISABLED`, `ENABLED`, `ENFORCED`. +func (o ServerProtocolDetailsPtrOutput) TlsSessionResumptionMode() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ServerProtocolDetails) *string { + if v == nil { + return nil + } + return v.TlsSessionResumptionMode + }).(pulumi.StringPtrOutput) +} + type ServerWorkflowDetails struct { // A trigger that starts a workflow if a file is only partially uploaded. See Workflow Detail below. OnPartialUpload *ServerWorkflowDetailsOnPartialUpload `pulumi:"onPartialUpload"` @@ -1258,11 +1452,13 @@ type WorkflowOnExceptionStep struct { CopyStepDetails *WorkflowOnExceptionStepCopyStepDetails `pulumi:"copyStepDetails"` // Details for a step that invokes a lambda function. CustomStepDetails *WorkflowOnExceptionStepCustomStepDetails `pulumi:"customStepDetails"` + // Details for a step that decrypts the file. + DecryptStepDetails *WorkflowOnExceptionStepDecryptStepDetails `pulumi:"decryptStepDetails"` // Details for a step that deletes the file. DeleteStepDetails *WorkflowOnExceptionStepDeleteStepDetails `pulumi:"deleteStepDetails"` // Details for a step that creates one or more tags. TagStepDetails *WorkflowOnExceptionStepTagStepDetails `pulumi:"tagStepDetails"` - // One of the following step types are supported. `COPY`, `CUSTOM`, `DELETE`, and `TAG`. + // One of the following step types are supported. `COPY`, `CUSTOM`, `DECRYPT`, `DELETE`, and `TAG`. Type string `pulumi:"type"` } @@ -1282,11 +1478,13 @@ type WorkflowOnExceptionStepArgs struct { CopyStepDetails WorkflowOnExceptionStepCopyStepDetailsPtrInput `pulumi:"copyStepDetails"` // Details for a step that invokes a lambda function. CustomStepDetails WorkflowOnExceptionStepCustomStepDetailsPtrInput `pulumi:"customStepDetails"` + // Details for a step that decrypts the file. + DecryptStepDetails WorkflowOnExceptionStepDecryptStepDetailsPtrInput `pulumi:"decryptStepDetails"` // Details for a step that deletes the file. DeleteStepDetails WorkflowOnExceptionStepDeleteStepDetailsPtrInput `pulumi:"deleteStepDetails"` // Details for a step that creates one or more tags. TagStepDetails WorkflowOnExceptionStepTagStepDetailsPtrInput `pulumi:"tagStepDetails"` - // One of the following step types are supported. `COPY`, `CUSTOM`, `DELETE`, and `TAG`. + // One of the following step types are supported. `COPY`, `CUSTOM`, `DECRYPT`, `DELETE`, and `TAG`. Type pulumi.StringInput `pulumi:"type"` } @@ -1351,6 +1549,13 @@ func (o WorkflowOnExceptionStepOutput) CustomStepDetails() WorkflowOnExceptionSt return o.ApplyT(func(v WorkflowOnExceptionStep) *WorkflowOnExceptionStepCustomStepDetails { return v.CustomStepDetails }).(WorkflowOnExceptionStepCustomStepDetailsPtrOutput) } +// Details for a step that decrypts the file. +func (o WorkflowOnExceptionStepOutput) DecryptStepDetails() WorkflowOnExceptionStepDecryptStepDetailsPtrOutput { + return o.ApplyT(func(v WorkflowOnExceptionStep) *WorkflowOnExceptionStepDecryptStepDetails { + return v.DecryptStepDetails + }).(WorkflowOnExceptionStepDecryptStepDetailsPtrOutput) +} + // Details for a step that deletes the file. func (o WorkflowOnExceptionStepOutput) DeleteStepDetails() WorkflowOnExceptionStepDeleteStepDetailsPtrOutput { return o.ApplyT(func(v WorkflowOnExceptionStep) *WorkflowOnExceptionStepDeleteStepDetails { return v.DeleteStepDetails }).(WorkflowOnExceptionStepDeleteStepDetailsPtrOutput) @@ -1361,7 +1566,7 @@ func (o WorkflowOnExceptionStepOutput) TagStepDetails() WorkflowOnExceptionStepT return o.ApplyT(func(v WorkflowOnExceptionStep) *WorkflowOnExceptionStepTagStepDetails { return v.TagStepDetails }).(WorkflowOnExceptionStepTagStepDetailsPtrOutput) } -// One of the following step types are supported. `COPY`, `CUSTOM`, `DELETE`, and `TAG`. +// One of the following step types are supported. `COPY`, `CUSTOM`, `DECRYPT`, `DELETE`, and `TAG`. func (o WorkflowOnExceptionStepOutput) Type() pulumi.StringOutput { return o.ApplyT(func(v WorkflowOnExceptionStep) string { return v.Type }).(pulumi.StringOutput) } @@ -2256,145 +2461,184 @@ func (o WorkflowOnExceptionStepCustomStepDetailsPtrOutput) TimeoutSeconds() pulu }).(pulumi.IntPtrOutput) } -type WorkflowOnExceptionStepDeleteStepDetails struct { +type WorkflowOnExceptionStepDecryptStepDetails struct { + // Specifies the location for the file being copied. Use ${Transfer:username} in this field to parametrize the destination prefix by username. + DestinationFileLocation *WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocation `pulumi:"destinationFileLocation"` // The name of the step, used as an identifier. Name *string `pulumi:"name"` + // A flag that indicates whether or not to overwrite an existing file of the same name. The default is `FALSE`. Valid values are `TRUE` and `FALSE`. + OverwriteExisting *string `pulumi:"overwriteExisting"` // Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. SourceFileLocation *string `pulumi:"sourceFileLocation"` + // The type of encryption used. Currently, this value must be `"PGP"`. + Type string `pulumi:"type"` } -// WorkflowOnExceptionStepDeleteStepDetailsInput is an input type that accepts WorkflowOnExceptionStepDeleteStepDetailsArgs and WorkflowOnExceptionStepDeleteStepDetailsOutput values. -// You can construct a concrete instance of `WorkflowOnExceptionStepDeleteStepDetailsInput` via: +// WorkflowOnExceptionStepDecryptStepDetailsInput is an input type that accepts WorkflowOnExceptionStepDecryptStepDetailsArgs and WorkflowOnExceptionStepDecryptStepDetailsOutput values. +// You can construct a concrete instance of `WorkflowOnExceptionStepDecryptStepDetailsInput` via: // -// WorkflowOnExceptionStepDeleteStepDetailsArgs{...} -type WorkflowOnExceptionStepDeleteStepDetailsInput interface { +// WorkflowOnExceptionStepDecryptStepDetailsArgs{...} +type WorkflowOnExceptionStepDecryptStepDetailsInput interface { pulumi.Input - ToWorkflowOnExceptionStepDeleteStepDetailsOutput() WorkflowOnExceptionStepDeleteStepDetailsOutput - ToWorkflowOnExceptionStepDeleteStepDetailsOutputWithContext(context.Context) WorkflowOnExceptionStepDeleteStepDetailsOutput + ToWorkflowOnExceptionStepDecryptStepDetailsOutput() WorkflowOnExceptionStepDecryptStepDetailsOutput + ToWorkflowOnExceptionStepDecryptStepDetailsOutputWithContext(context.Context) WorkflowOnExceptionStepDecryptStepDetailsOutput } -type WorkflowOnExceptionStepDeleteStepDetailsArgs struct { +type WorkflowOnExceptionStepDecryptStepDetailsArgs struct { + // Specifies the location for the file being copied. Use ${Transfer:username} in this field to parametrize the destination prefix by username. + DestinationFileLocation WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationPtrInput `pulumi:"destinationFileLocation"` // The name of the step, used as an identifier. Name pulumi.StringPtrInput `pulumi:"name"` + // A flag that indicates whether or not to overwrite an existing file of the same name. The default is `FALSE`. Valid values are `TRUE` and `FALSE`. + OverwriteExisting pulumi.StringPtrInput `pulumi:"overwriteExisting"` // Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. SourceFileLocation pulumi.StringPtrInput `pulumi:"sourceFileLocation"` + // The type of encryption used. Currently, this value must be `"PGP"`. + Type pulumi.StringInput `pulumi:"type"` } -func (WorkflowOnExceptionStepDeleteStepDetailsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*WorkflowOnExceptionStepDeleteStepDetails)(nil)).Elem() +func (WorkflowOnExceptionStepDecryptStepDetailsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WorkflowOnExceptionStepDecryptStepDetails)(nil)).Elem() } -func (i WorkflowOnExceptionStepDeleteStepDetailsArgs) ToWorkflowOnExceptionStepDeleteStepDetailsOutput() WorkflowOnExceptionStepDeleteStepDetailsOutput { - return i.ToWorkflowOnExceptionStepDeleteStepDetailsOutputWithContext(context.Background()) +func (i WorkflowOnExceptionStepDecryptStepDetailsArgs) ToWorkflowOnExceptionStepDecryptStepDetailsOutput() WorkflowOnExceptionStepDecryptStepDetailsOutput { + return i.ToWorkflowOnExceptionStepDecryptStepDetailsOutputWithContext(context.Background()) } -func (i WorkflowOnExceptionStepDeleteStepDetailsArgs) ToWorkflowOnExceptionStepDeleteStepDetailsOutputWithContext(ctx context.Context) WorkflowOnExceptionStepDeleteStepDetailsOutput { - return pulumi.ToOutputWithContext(ctx, i).(WorkflowOnExceptionStepDeleteStepDetailsOutput) +func (i WorkflowOnExceptionStepDecryptStepDetailsArgs) ToWorkflowOnExceptionStepDecryptStepDetailsOutputWithContext(ctx context.Context) WorkflowOnExceptionStepDecryptStepDetailsOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkflowOnExceptionStepDecryptStepDetailsOutput) } -func (i WorkflowOnExceptionStepDeleteStepDetailsArgs) ToWorkflowOnExceptionStepDeleteStepDetailsPtrOutput() WorkflowOnExceptionStepDeleteStepDetailsPtrOutput { - return i.ToWorkflowOnExceptionStepDeleteStepDetailsPtrOutputWithContext(context.Background()) +func (i WorkflowOnExceptionStepDecryptStepDetailsArgs) ToWorkflowOnExceptionStepDecryptStepDetailsPtrOutput() WorkflowOnExceptionStepDecryptStepDetailsPtrOutput { + return i.ToWorkflowOnExceptionStepDecryptStepDetailsPtrOutputWithContext(context.Background()) } -func (i WorkflowOnExceptionStepDeleteStepDetailsArgs) ToWorkflowOnExceptionStepDeleteStepDetailsPtrOutputWithContext(ctx context.Context) WorkflowOnExceptionStepDeleteStepDetailsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(WorkflowOnExceptionStepDeleteStepDetailsOutput).ToWorkflowOnExceptionStepDeleteStepDetailsPtrOutputWithContext(ctx) +func (i WorkflowOnExceptionStepDecryptStepDetailsArgs) ToWorkflowOnExceptionStepDecryptStepDetailsPtrOutputWithContext(ctx context.Context) WorkflowOnExceptionStepDecryptStepDetailsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkflowOnExceptionStepDecryptStepDetailsOutput).ToWorkflowOnExceptionStepDecryptStepDetailsPtrOutputWithContext(ctx) } -// WorkflowOnExceptionStepDeleteStepDetailsPtrInput is an input type that accepts WorkflowOnExceptionStepDeleteStepDetailsArgs, WorkflowOnExceptionStepDeleteStepDetailsPtr and WorkflowOnExceptionStepDeleteStepDetailsPtrOutput values. -// You can construct a concrete instance of `WorkflowOnExceptionStepDeleteStepDetailsPtrInput` via: +// WorkflowOnExceptionStepDecryptStepDetailsPtrInput is an input type that accepts WorkflowOnExceptionStepDecryptStepDetailsArgs, WorkflowOnExceptionStepDecryptStepDetailsPtr and WorkflowOnExceptionStepDecryptStepDetailsPtrOutput values. +// You can construct a concrete instance of `WorkflowOnExceptionStepDecryptStepDetailsPtrInput` via: // -// WorkflowOnExceptionStepDeleteStepDetailsArgs{...} +// WorkflowOnExceptionStepDecryptStepDetailsArgs{...} // // or: // // nil -type WorkflowOnExceptionStepDeleteStepDetailsPtrInput interface { +type WorkflowOnExceptionStepDecryptStepDetailsPtrInput interface { pulumi.Input - ToWorkflowOnExceptionStepDeleteStepDetailsPtrOutput() WorkflowOnExceptionStepDeleteStepDetailsPtrOutput - ToWorkflowOnExceptionStepDeleteStepDetailsPtrOutputWithContext(context.Context) WorkflowOnExceptionStepDeleteStepDetailsPtrOutput + ToWorkflowOnExceptionStepDecryptStepDetailsPtrOutput() WorkflowOnExceptionStepDecryptStepDetailsPtrOutput + ToWorkflowOnExceptionStepDecryptStepDetailsPtrOutputWithContext(context.Context) WorkflowOnExceptionStepDecryptStepDetailsPtrOutput } -type workflowOnExceptionStepDeleteStepDetailsPtrType WorkflowOnExceptionStepDeleteStepDetailsArgs +type workflowOnExceptionStepDecryptStepDetailsPtrType WorkflowOnExceptionStepDecryptStepDetailsArgs -func WorkflowOnExceptionStepDeleteStepDetailsPtr(v *WorkflowOnExceptionStepDeleteStepDetailsArgs) WorkflowOnExceptionStepDeleteStepDetailsPtrInput { - return (*workflowOnExceptionStepDeleteStepDetailsPtrType)(v) +func WorkflowOnExceptionStepDecryptStepDetailsPtr(v *WorkflowOnExceptionStepDecryptStepDetailsArgs) WorkflowOnExceptionStepDecryptStepDetailsPtrInput { + return (*workflowOnExceptionStepDecryptStepDetailsPtrType)(v) } -func (*workflowOnExceptionStepDeleteStepDetailsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**WorkflowOnExceptionStepDeleteStepDetails)(nil)).Elem() +func (*workflowOnExceptionStepDecryptStepDetailsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WorkflowOnExceptionStepDecryptStepDetails)(nil)).Elem() } -func (i *workflowOnExceptionStepDeleteStepDetailsPtrType) ToWorkflowOnExceptionStepDeleteStepDetailsPtrOutput() WorkflowOnExceptionStepDeleteStepDetailsPtrOutput { - return i.ToWorkflowOnExceptionStepDeleteStepDetailsPtrOutputWithContext(context.Background()) +func (i *workflowOnExceptionStepDecryptStepDetailsPtrType) ToWorkflowOnExceptionStepDecryptStepDetailsPtrOutput() WorkflowOnExceptionStepDecryptStepDetailsPtrOutput { + return i.ToWorkflowOnExceptionStepDecryptStepDetailsPtrOutputWithContext(context.Background()) } -func (i *workflowOnExceptionStepDeleteStepDetailsPtrType) ToWorkflowOnExceptionStepDeleteStepDetailsPtrOutputWithContext(ctx context.Context) WorkflowOnExceptionStepDeleteStepDetailsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(WorkflowOnExceptionStepDeleteStepDetailsPtrOutput) +func (i *workflowOnExceptionStepDecryptStepDetailsPtrType) ToWorkflowOnExceptionStepDecryptStepDetailsPtrOutputWithContext(ctx context.Context) WorkflowOnExceptionStepDecryptStepDetailsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkflowOnExceptionStepDecryptStepDetailsPtrOutput) } -type WorkflowOnExceptionStepDeleteStepDetailsOutput struct{ *pulumi.OutputState } +type WorkflowOnExceptionStepDecryptStepDetailsOutput struct{ *pulumi.OutputState } -func (WorkflowOnExceptionStepDeleteStepDetailsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*WorkflowOnExceptionStepDeleteStepDetails)(nil)).Elem() +func (WorkflowOnExceptionStepDecryptStepDetailsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WorkflowOnExceptionStepDecryptStepDetails)(nil)).Elem() } -func (o WorkflowOnExceptionStepDeleteStepDetailsOutput) ToWorkflowOnExceptionStepDeleteStepDetailsOutput() WorkflowOnExceptionStepDeleteStepDetailsOutput { +func (o WorkflowOnExceptionStepDecryptStepDetailsOutput) ToWorkflowOnExceptionStepDecryptStepDetailsOutput() WorkflowOnExceptionStepDecryptStepDetailsOutput { return o } -func (o WorkflowOnExceptionStepDeleteStepDetailsOutput) ToWorkflowOnExceptionStepDeleteStepDetailsOutputWithContext(ctx context.Context) WorkflowOnExceptionStepDeleteStepDetailsOutput { +func (o WorkflowOnExceptionStepDecryptStepDetailsOutput) ToWorkflowOnExceptionStepDecryptStepDetailsOutputWithContext(ctx context.Context) WorkflowOnExceptionStepDecryptStepDetailsOutput { return o } -func (o WorkflowOnExceptionStepDeleteStepDetailsOutput) ToWorkflowOnExceptionStepDeleteStepDetailsPtrOutput() WorkflowOnExceptionStepDeleteStepDetailsPtrOutput { - return o.ToWorkflowOnExceptionStepDeleteStepDetailsPtrOutputWithContext(context.Background()) +func (o WorkflowOnExceptionStepDecryptStepDetailsOutput) ToWorkflowOnExceptionStepDecryptStepDetailsPtrOutput() WorkflowOnExceptionStepDecryptStepDetailsPtrOutput { + return o.ToWorkflowOnExceptionStepDecryptStepDetailsPtrOutputWithContext(context.Background()) } -func (o WorkflowOnExceptionStepDeleteStepDetailsOutput) ToWorkflowOnExceptionStepDeleteStepDetailsPtrOutputWithContext(ctx context.Context) WorkflowOnExceptionStepDeleteStepDetailsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v WorkflowOnExceptionStepDeleteStepDetails) *WorkflowOnExceptionStepDeleteStepDetails { +func (o WorkflowOnExceptionStepDecryptStepDetailsOutput) ToWorkflowOnExceptionStepDecryptStepDetailsPtrOutputWithContext(ctx context.Context) WorkflowOnExceptionStepDecryptStepDetailsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WorkflowOnExceptionStepDecryptStepDetails) *WorkflowOnExceptionStepDecryptStepDetails { return &v - }).(WorkflowOnExceptionStepDeleteStepDetailsPtrOutput) + }).(WorkflowOnExceptionStepDecryptStepDetailsPtrOutput) +} + +// Specifies the location for the file being copied. Use ${Transfer:username} in this field to parametrize the destination prefix by username. +func (o WorkflowOnExceptionStepDecryptStepDetailsOutput) DestinationFileLocation() WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationPtrOutput { + return o.ApplyT(func(v WorkflowOnExceptionStepDecryptStepDetails) *WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocation { + return v.DestinationFileLocation + }).(WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationPtrOutput) } // The name of the step, used as an identifier. -func (o WorkflowOnExceptionStepDeleteStepDetailsOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v WorkflowOnExceptionStepDeleteStepDetails) *string { return v.Name }).(pulumi.StringPtrOutput) +func (o WorkflowOnExceptionStepDecryptStepDetailsOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v WorkflowOnExceptionStepDecryptStepDetails) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// A flag that indicates whether or not to overwrite an existing file of the same name. The default is `FALSE`. Valid values are `TRUE` and `FALSE`. +func (o WorkflowOnExceptionStepDecryptStepDetailsOutput) OverwriteExisting() pulumi.StringPtrOutput { + return o.ApplyT(func(v WorkflowOnExceptionStepDecryptStepDetails) *string { return v.OverwriteExisting }).(pulumi.StringPtrOutput) } // Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. -func (o WorkflowOnExceptionStepDeleteStepDetailsOutput) SourceFileLocation() pulumi.StringPtrOutput { - return o.ApplyT(func(v WorkflowOnExceptionStepDeleteStepDetails) *string { return v.SourceFileLocation }).(pulumi.StringPtrOutput) +func (o WorkflowOnExceptionStepDecryptStepDetailsOutput) SourceFileLocation() pulumi.StringPtrOutput { + return o.ApplyT(func(v WorkflowOnExceptionStepDecryptStepDetails) *string { return v.SourceFileLocation }).(pulumi.StringPtrOutput) } -type WorkflowOnExceptionStepDeleteStepDetailsPtrOutput struct{ *pulumi.OutputState } +// The type of encryption used. Currently, this value must be `"PGP"`. +func (o WorkflowOnExceptionStepDecryptStepDetailsOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v WorkflowOnExceptionStepDecryptStepDetails) string { return v.Type }).(pulumi.StringOutput) +} -func (WorkflowOnExceptionStepDeleteStepDetailsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**WorkflowOnExceptionStepDeleteStepDetails)(nil)).Elem() +type WorkflowOnExceptionStepDecryptStepDetailsPtrOutput struct{ *pulumi.OutputState } + +func (WorkflowOnExceptionStepDecryptStepDetailsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WorkflowOnExceptionStepDecryptStepDetails)(nil)).Elem() } -func (o WorkflowOnExceptionStepDeleteStepDetailsPtrOutput) ToWorkflowOnExceptionStepDeleteStepDetailsPtrOutput() WorkflowOnExceptionStepDeleteStepDetailsPtrOutput { +func (o WorkflowOnExceptionStepDecryptStepDetailsPtrOutput) ToWorkflowOnExceptionStepDecryptStepDetailsPtrOutput() WorkflowOnExceptionStepDecryptStepDetailsPtrOutput { return o } -func (o WorkflowOnExceptionStepDeleteStepDetailsPtrOutput) ToWorkflowOnExceptionStepDeleteStepDetailsPtrOutputWithContext(ctx context.Context) WorkflowOnExceptionStepDeleteStepDetailsPtrOutput { +func (o WorkflowOnExceptionStepDecryptStepDetailsPtrOutput) ToWorkflowOnExceptionStepDecryptStepDetailsPtrOutputWithContext(ctx context.Context) WorkflowOnExceptionStepDecryptStepDetailsPtrOutput { return o } -func (o WorkflowOnExceptionStepDeleteStepDetailsPtrOutput) Elem() WorkflowOnExceptionStepDeleteStepDetailsOutput { - return o.ApplyT(func(v *WorkflowOnExceptionStepDeleteStepDetails) WorkflowOnExceptionStepDeleteStepDetails { +func (o WorkflowOnExceptionStepDecryptStepDetailsPtrOutput) Elem() WorkflowOnExceptionStepDecryptStepDetailsOutput { + return o.ApplyT(func(v *WorkflowOnExceptionStepDecryptStepDetails) WorkflowOnExceptionStepDecryptStepDetails { if v != nil { return *v } - var ret WorkflowOnExceptionStepDeleteStepDetails + var ret WorkflowOnExceptionStepDecryptStepDetails return ret - }).(WorkflowOnExceptionStepDeleteStepDetailsOutput) + }).(WorkflowOnExceptionStepDecryptStepDetailsOutput) +} + +// Specifies the location for the file being copied. Use ${Transfer:username} in this field to parametrize the destination prefix by username. +func (o WorkflowOnExceptionStepDecryptStepDetailsPtrOutput) DestinationFileLocation() WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationPtrOutput { + return o.ApplyT(func(v *WorkflowOnExceptionStepDecryptStepDetails) *WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocation { + if v == nil { + return nil + } + return v.DestinationFileLocation + }).(WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationPtrOutput) } // The name of the step, used as an identifier. -func (o WorkflowOnExceptionStepDeleteStepDetailsPtrOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v *WorkflowOnExceptionStepDeleteStepDetails) *string { +func (o WorkflowOnExceptionStepDecryptStepDetailsPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WorkflowOnExceptionStepDecryptStepDetails) *string { if v == nil { return nil } @@ -2402,9 +2646,19 @@ func (o WorkflowOnExceptionStepDeleteStepDetailsPtrOutput) Name() pulumi.StringP }).(pulumi.StringPtrOutput) } +// A flag that indicates whether or not to overwrite an existing file of the same name. The default is `FALSE`. Valid values are `TRUE` and `FALSE`. +func (o WorkflowOnExceptionStepDecryptStepDetailsPtrOutput) OverwriteExisting() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WorkflowOnExceptionStepDecryptStepDetails) *string { + if v == nil { + return nil + } + return v.OverwriteExisting + }).(pulumi.StringPtrOutput) +} + // Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. -func (o WorkflowOnExceptionStepDeleteStepDetailsPtrOutput) SourceFileLocation() pulumi.StringPtrOutput { - return o.ApplyT(func(v *WorkflowOnExceptionStepDeleteStepDetails) *string { +func (o WorkflowOnExceptionStepDecryptStepDetailsPtrOutput) SourceFileLocation() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WorkflowOnExceptionStepDecryptStepDetails) *string { if v == nil { return nil } @@ -2412,1286 +2666,2630 @@ func (o WorkflowOnExceptionStepDeleteStepDetailsPtrOutput) SourceFileLocation() }).(pulumi.StringPtrOutput) } -type WorkflowOnExceptionStepTagStepDetails struct { - // The name of the step, used as an identifier. - Name *string `pulumi:"name"` - // Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. - SourceFileLocation *string `pulumi:"sourceFileLocation"` - // Array that contains from 1 to 10 key/value pairs. See S3 Tags below. - Tags []WorkflowOnExceptionStepTagStepDetailsTag `pulumi:"tags"` +// The type of encryption used. Currently, this value must be `"PGP"`. +func (o WorkflowOnExceptionStepDecryptStepDetailsPtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WorkflowOnExceptionStepDecryptStepDetails) *string { + if v == nil { + return nil + } + return &v.Type + }).(pulumi.StringPtrOutput) } -// WorkflowOnExceptionStepTagStepDetailsInput is an input type that accepts WorkflowOnExceptionStepTagStepDetailsArgs and WorkflowOnExceptionStepTagStepDetailsOutput values. -// You can construct a concrete instance of `WorkflowOnExceptionStepTagStepDetailsInput` via: +type WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocation struct { + // Specifies the details for the EFS file being copied. + EfsFileLocation *WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocation `pulumi:"efsFileLocation"` + // Specifies the details for the S3 file being copied. + S3FileLocation *WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocation `pulumi:"s3FileLocation"` +} + +// WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationInput is an input type that accepts WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationArgs and WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationOutput values. +// You can construct a concrete instance of `WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationInput` via: // -// WorkflowOnExceptionStepTagStepDetailsArgs{...} -type WorkflowOnExceptionStepTagStepDetailsInput interface { +// WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationArgs{...} +type WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationInput interface { pulumi.Input - ToWorkflowOnExceptionStepTagStepDetailsOutput() WorkflowOnExceptionStepTagStepDetailsOutput - ToWorkflowOnExceptionStepTagStepDetailsOutputWithContext(context.Context) WorkflowOnExceptionStepTagStepDetailsOutput + ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationOutput() WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationOutput + ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationOutputWithContext(context.Context) WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationOutput } -type WorkflowOnExceptionStepTagStepDetailsArgs struct { - // The name of the step, used as an identifier. - Name pulumi.StringPtrInput `pulumi:"name"` - // Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. - SourceFileLocation pulumi.StringPtrInput `pulumi:"sourceFileLocation"` - // Array that contains from 1 to 10 key/value pairs. See S3 Tags below. - Tags WorkflowOnExceptionStepTagStepDetailsTagArrayInput `pulumi:"tags"` +type WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationArgs struct { + // Specifies the details for the EFS file being copied. + EfsFileLocation WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrInput `pulumi:"efsFileLocation"` + // Specifies the details for the S3 file being copied. + S3FileLocation WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrInput `pulumi:"s3FileLocation"` } -func (WorkflowOnExceptionStepTagStepDetailsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*WorkflowOnExceptionStepTagStepDetails)(nil)).Elem() +func (WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocation)(nil)).Elem() } -func (i WorkflowOnExceptionStepTagStepDetailsArgs) ToWorkflowOnExceptionStepTagStepDetailsOutput() WorkflowOnExceptionStepTagStepDetailsOutput { - return i.ToWorkflowOnExceptionStepTagStepDetailsOutputWithContext(context.Background()) +func (i WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationArgs) ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationOutput() WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationOutput { + return i.ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationOutputWithContext(context.Background()) } -func (i WorkflowOnExceptionStepTagStepDetailsArgs) ToWorkflowOnExceptionStepTagStepDetailsOutputWithContext(ctx context.Context) WorkflowOnExceptionStepTagStepDetailsOutput { - return pulumi.ToOutputWithContext(ctx, i).(WorkflowOnExceptionStepTagStepDetailsOutput) +func (i WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationArgs) ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationOutputWithContext(ctx context.Context) WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationOutput) } -func (i WorkflowOnExceptionStepTagStepDetailsArgs) ToWorkflowOnExceptionStepTagStepDetailsPtrOutput() WorkflowOnExceptionStepTagStepDetailsPtrOutput { - return i.ToWorkflowOnExceptionStepTagStepDetailsPtrOutputWithContext(context.Background()) +func (i WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationArgs) ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationPtrOutput() WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationPtrOutput { + return i.ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationPtrOutputWithContext(context.Background()) } -func (i WorkflowOnExceptionStepTagStepDetailsArgs) ToWorkflowOnExceptionStepTagStepDetailsPtrOutputWithContext(ctx context.Context) WorkflowOnExceptionStepTagStepDetailsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(WorkflowOnExceptionStepTagStepDetailsOutput).ToWorkflowOnExceptionStepTagStepDetailsPtrOutputWithContext(ctx) +func (i WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationArgs) ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationPtrOutputWithContext(ctx context.Context) WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationOutput).ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationPtrOutputWithContext(ctx) } -// WorkflowOnExceptionStepTagStepDetailsPtrInput is an input type that accepts WorkflowOnExceptionStepTagStepDetailsArgs, WorkflowOnExceptionStepTagStepDetailsPtr and WorkflowOnExceptionStepTagStepDetailsPtrOutput values. -// You can construct a concrete instance of `WorkflowOnExceptionStepTagStepDetailsPtrInput` via: +// WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationPtrInput is an input type that accepts WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationArgs, WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationPtr and WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationPtrOutput values. +// You can construct a concrete instance of `WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationPtrInput` via: // -// WorkflowOnExceptionStepTagStepDetailsArgs{...} +// WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationArgs{...} // // or: // // nil -type WorkflowOnExceptionStepTagStepDetailsPtrInput interface { +type WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationPtrInput interface { pulumi.Input - ToWorkflowOnExceptionStepTagStepDetailsPtrOutput() WorkflowOnExceptionStepTagStepDetailsPtrOutput - ToWorkflowOnExceptionStepTagStepDetailsPtrOutputWithContext(context.Context) WorkflowOnExceptionStepTagStepDetailsPtrOutput + ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationPtrOutput() WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationPtrOutput + ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationPtrOutputWithContext(context.Context) WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationPtrOutput } -type workflowOnExceptionStepTagStepDetailsPtrType WorkflowOnExceptionStepTagStepDetailsArgs +type workflowOnExceptionStepDecryptStepDetailsDestinationFileLocationPtrType WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationArgs -func WorkflowOnExceptionStepTagStepDetailsPtr(v *WorkflowOnExceptionStepTagStepDetailsArgs) WorkflowOnExceptionStepTagStepDetailsPtrInput { - return (*workflowOnExceptionStepTagStepDetailsPtrType)(v) +func WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationPtr(v *WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationArgs) WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationPtrInput { + return (*workflowOnExceptionStepDecryptStepDetailsDestinationFileLocationPtrType)(v) } -func (*workflowOnExceptionStepTagStepDetailsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**WorkflowOnExceptionStepTagStepDetails)(nil)).Elem() +func (*workflowOnExceptionStepDecryptStepDetailsDestinationFileLocationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocation)(nil)).Elem() } -func (i *workflowOnExceptionStepTagStepDetailsPtrType) ToWorkflowOnExceptionStepTagStepDetailsPtrOutput() WorkflowOnExceptionStepTagStepDetailsPtrOutput { - return i.ToWorkflowOnExceptionStepTagStepDetailsPtrOutputWithContext(context.Background()) +func (i *workflowOnExceptionStepDecryptStepDetailsDestinationFileLocationPtrType) ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationPtrOutput() WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationPtrOutput { + return i.ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationPtrOutputWithContext(context.Background()) } -func (i *workflowOnExceptionStepTagStepDetailsPtrType) ToWorkflowOnExceptionStepTagStepDetailsPtrOutputWithContext(ctx context.Context) WorkflowOnExceptionStepTagStepDetailsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(WorkflowOnExceptionStepTagStepDetailsPtrOutput) +func (i *workflowOnExceptionStepDecryptStepDetailsDestinationFileLocationPtrType) ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationPtrOutputWithContext(ctx context.Context) WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationPtrOutput) } -type WorkflowOnExceptionStepTagStepDetailsOutput struct{ *pulumi.OutputState } +type WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationOutput struct{ *pulumi.OutputState } -func (WorkflowOnExceptionStepTagStepDetailsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*WorkflowOnExceptionStepTagStepDetails)(nil)).Elem() +func (WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocation)(nil)).Elem() } -func (o WorkflowOnExceptionStepTagStepDetailsOutput) ToWorkflowOnExceptionStepTagStepDetailsOutput() WorkflowOnExceptionStepTagStepDetailsOutput { +func (o WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationOutput) ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationOutput() WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationOutput { return o } -func (o WorkflowOnExceptionStepTagStepDetailsOutput) ToWorkflowOnExceptionStepTagStepDetailsOutputWithContext(ctx context.Context) WorkflowOnExceptionStepTagStepDetailsOutput { +func (o WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationOutput) ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationOutputWithContext(ctx context.Context) WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationOutput { return o } -func (o WorkflowOnExceptionStepTagStepDetailsOutput) ToWorkflowOnExceptionStepTagStepDetailsPtrOutput() WorkflowOnExceptionStepTagStepDetailsPtrOutput { - return o.ToWorkflowOnExceptionStepTagStepDetailsPtrOutputWithContext(context.Background()) +func (o WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationOutput) ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationPtrOutput() WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationPtrOutput { + return o.ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationPtrOutputWithContext(context.Background()) } -func (o WorkflowOnExceptionStepTagStepDetailsOutput) ToWorkflowOnExceptionStepTagStepDetailsPtrOutputWithContext(ctx context.Context) WorkflowOnExceptionStepTagStepDetailsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v WorkflowOnExceptionStepTagStepDetails) *WorkflowOnExceptionStepTagStepDetails { +func (o WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationOutput) ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationPtrOutputWithContext(ctx context.Context) WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocation) *WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocation { return &v - }).(WorkflowOnExceptionStepTagStepDetailsPtrOutput) + }).(WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationPtrOutput) } -// The name of the step, used as an identifier. -func (o WorkflowOnExceptionStepTagStepDetailsOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v WorkflowOnExceptionStepTagStepDetails) *string { return v.Name }).(pulumi.StringPtrOutput) -} - -// Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. -func (o WorkflowOnExceptionStepTagStepDetailsOutput) SourceFileLocation() pulumi.StringPtrOutput { - return o.ApplyT(func(v WorkflowOnExceptionStepTagStepDetails) *string { return v.SourceFileLocation }).(pulumi.StringPtrOutput) +// Specifies the details for the EFS file being copied. +func (o WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationOutput) EfsFileLocation() WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput { + return o.ApplyT(func(v WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocation) *WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocation { + return v.EfsFileLocation + }).(WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput) } -// Array that contains from 1 to 10 key/value pairs. See S3 Tags below. -func (o WorkflowOnExceptionStepTagStepDetailsOutput) Tags() WorkflowOnExceptionStepTagStepDetailsTagArrayOutput { - return o.ApplyT(func(v WorkflowOnExceptionStepTagStepDetails) []WorkflowOnExceptionStepTagStepDetailsTag { - return v.Tags - }).(WorkflowOnExceptionStepTagStepDetailsTagArrayOutput) +// Specifies the details for the S3 file being copied. +func (o WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationOutput) S3FileLocation() WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput { + return o.ApplyT(func(v WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocation) *WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocation { + return v.S3FileLocation + }).(WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput) } -type WorkflowOnExceptionStepTagStepDetailsPtrOutput struct{ *pulumi.OutputState } +type WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationPtrOutput struct{ *pulumi.OutputState } -func (WorkflowOnExceptionStepTagStepDetailsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**WorkflowOnExceptionStepTagStepDetails)(nil)).Elem() +func (WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocation)(nil)).Elem() } -func (o WorkflowOnExceptionStepTagStepDetailsPtrOutput) ToWorkflowOnExceptionStepTagStepDetailsPtrOutput() WorkflowOnExceptionStepTagStepDetailsPtrOutput { +func (o WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationPtrOutput) ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationPtrOutput() WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationPtrOutput { return o } -func (o WorkflowOnExceptionStepTagStepDetailsPtrOutput) ToWorkflowOnExceptionStepTagStepDetailsPtrOutputWithContext(ctx context.Context) WorkflowOnExceptionStepTagStepDetailsPtrOutput { +func (o WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationPtrOutput) ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationPtrOutputWithContext(ctx context.Context) WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationPtrOutput { return o } -func (o WorkflowOnExceptionStepTagStepDetailsPtrOutput) Elem() WorkflowOnExceptionStepTagStepDetailsOutput { - return o.ApplyT(func(v *WorkflowOnExceptionStepTagStepDetails) WorkflowOnExceptionStepTagStepDetails { +func (o WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationPtrOutput) Elem() WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationOutput { + return o.ApplyT(func(v *WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocation) WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocation { if v != nil { return *v } - var ret WorkflowOnExceptionStepTagStepDetails + var ret WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocation return ret - }).(WorkflowOnExceptionStepTagStepDetailsOutput) -} - -// The name of the step, used as an identifier. -func (o WorkflowOnExceptionStepTagStepDetailsPtrOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v *WorkflowOnExceptionStepTagStepDetails) *string { - if v == nil { - return nil - } - return v.Name - }).(pulumi.StringPtrOutput) + }).(WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationOutput) } -// Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. -func (o WorkflowOnExceptionStepTagStepDetailsPtrOutput) SourceFileLocation() pulumi.StringPtrOutput { - return o.ApplyT(func(v *WorkflowOnExceptionStepTagStepDetails) *string { +// Specifies the details for the EFS file being copied. +func (o WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationPtrOutput) EfsFileLocation() WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput { + return o.ApplyT(func(v *WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocation) *WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocation { if v == nil { return nil } - return v.SourceFileLocation - }).(pulumi.StringPtrOutput) + return v.EfsFileLocation + }).(WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput) } -// Array that contains from 1 to 10 key/value pairs. See S3 Tags below. -func (o WorkflowOnExceptionStepTagStepDetailsPtrOutput) Tags() WorkflowOnExceptionStepTagStepDetailsTagArrayOutput { - return o.ApplyT(func(v *WorkflowOnExceptionStepTagStepDetails) []WorkflowOnExceptionStepTagStepDetailsTag { +// Specifies the details for the S3 file being copied. +func (o WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationPtrOutput) S3FileLocation() WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput { + return o.ApplyT(func(v *WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocation) *WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocation { if v == nil { return nil } - return v.Tags - }).(WorkflowOnExceptionStepTagStepDetailsTagArrayOutput) + return v.S3FileLocation + }).(WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput) } -type WorkflowOnExceptionStepTagStepDetailsTag struct { - // The name assigned to the file when it was created in S3. You use the object key to retrieve the object. - Key string `pulumi:"key"` - // The value that corresponds to the key. - Value string `pulumi:"value"` +type WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocation struct { + // The ID of the file system, assigned by Amazon EFS. + FileSystemId *string `pulumi:"fileSystemId"` + // The pathname for the folder being used by a workflow. + Path *string `pulumi:"path"` } -// WorkflowOnExceptionStepTagStepDetailsTagInput is an input type that accepts WorkflowOnExceptionStepTagStepDetailsTagArgs and WorkflowOnExceptionStepTagStepDetailsTagOutput values. -// You can construct a concrete instance of `WorkflowOnExceptionStepTagStepDetailsTagInput` via: +// WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationInput is an input type that accepts WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs and WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationOutput values. +// You can construct a concrete instance of `WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationInput` via: // -// WorkflowOnExceptionStepTagStepDetailsTagArgs{...} -type WorkflowOnExceptionStepTagStepDetailsTagInput interface { +// WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs{...} +type WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationInput interface { pulumi.Input - ToWorkflowOnExceptionStepTagStepDetailsTagOutput() WorkflowOnExceptionStepTagStepDetailsTagOutput - ToWorkflowOnExceptionStepTagStepDetailsTagOutputWithContext(context.Context) WorkflowOnExceptionStepTagStepDetailsTagOutput + ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationOutput() WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationOutput + ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationOutputWithContext(context.Context) WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationOutput } -type WorkflowOnExceptionStepTagStepDetailsTagArgs struct { - // The name assigned to the file when it was created in S3. You use the object key to retrieve the object. - Key pulumi.StringInput `pulumi:"key"` - // The value that corresponds to the key. - Value pulumi.StringInput `pulumi:"value"` +type WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs struct { + // The ID of the file system, assigned by Amazon EFS. + FileSystemId pulumi.StringPtrInput `pulumi:"fileSystemId"` + // The pathname for the folder being used by a workflow. + Path pulumi.StringPtrInput `pulumi:"path"` } -func (WorkflowOnExceptionStepTagStepDetailsTagArgs) ElementType() reflect.Type { - return reflect.TypeOf((*WorkflowOnExceptionStepTagStepDetailsTag)(nil)).Elem() +func (WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocation)(nil)).Elem() } -func (i WorkflowOnExceptionStepTagStepDetailsTagArgs) ToWorkflowOnExceptionStepTagStepDetailsTagOutput() WorkflowOnExceptionStepTagStepDetailsTagOutput { - return i.ToWorkflowOnExceptionStepTagStepDetailsTagOutputWithContext(context.Background()) +func (i WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs) ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationOutput() WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationOutput { + return i.ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationOutputWithContext(context.Background()) } -func (i WorkflowOnExceptionStepTagStepDetailsTagArgs) ToWorkflowOnExceptionStepTagStepDetailsTagOutputWithContext(ctx context.Context) WorkflowOnExceptionStepTagStepDetailsTagOutput { - return pulumi.ToOutputWithContext(ctx, i).(WorkflowOnExceptionStepTagStepDetailsTagOutput) +func (i WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs) ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationOutputWithContext(ctx context.Context) WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationOutput) } -// WorkflowOnExceptionStepTagStepDetailsTagArrayInput is an input type that accepts WorkflowOnExceptionStepTagStepDetailsTagArray and WorkflowOnExceptionStepTagStepDetailsTagArrayOutput values. -// You can construct a concrete instance of `WorkflowOnExceptionStepTagStepDetailsTagArrayInput` via: +func (i WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs) ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput() WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput { + return i.ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutputWithContext(context.Background()) +} + +func (i WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs) ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutputWithContext(ctx context.Context) WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationOutput).ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutputWithContext(ctx) +} + +// WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrInput is an input type that accepts WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs, WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtr and WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput values. +// You can construct a concrete instance of `WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrInput` via: // -// WorkflowOnExceptionStepTagStepDetailsTagArray{ WorkflowOnExceptionStepTagStepDetailsTagArgs{...} } -type WorkflowOnExceptionStepTagStepDetailsTagArrayInput interface { +// WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs{...} +// +// or: +// +// nil +type WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrInput interface { pulumi.Input - ToWorkflowOnExceptionStepTagStepDetailsTagArrayOutput() WorkflowOnExceptionStepTagStepDetailsTagArrayOutput - ToWorkflowOnExceptionStepTagStepDetailsTagArrayOutputWithContext(context.Context) WorkflowOnExceptionStepTagStepDetailsTagArrayOutput + ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput() WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput + ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutputWithContext(context.Context) WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput } -type WorkflowOnExceptionStepTagStepDetailsTagArray []WorkflowOnExceptionStepTagStepDetailsTagInput +type workflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrType WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs -func (WorkflowOnExceptionStepTagStepDetailsTagArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]WorkflowOnExceptionStepTagStepDetailsTag)(nil)).Elem() +func WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtr(v *WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs) WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrInput { + return (*workflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrType)(v) } -func (i WorkflowOnExceptionStepTagStepDetailsTagArray) ToWorkflowOnExceptionStepTagStepDetailsTagArrayOutput() WorkflowOnExceptionStepTagStepDetailsTagArrayOutput { - return i.ToWorkflowOnExceptionStepTagStepDetailsTagArrayOutputWithContext(context.Background()) +func (*workflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocation)(nil)).Elem() } -func (i WorkflowOnExceptionStepTagStepDetailsTagArray) ToWorkflowOnExceptionStepTagStepDetailsTagArrayOutputWithContext(ctx context.Context) WorkflowOnExceptionStepTagStepDetailsTagArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(WorkflowOnExceptionStepTagStepDetailsTagArrayOutput) +func (i *workflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrType) ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput() WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput { + return i.ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutputWithContext(context.Background()) } -type WorkflowOnExceptionStepTagStepDetailsTagOutput struct{ *pulumi.OutputState } +func (i *workflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrType) ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutputWithContext(ctx context.Context) WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput) +} -func (WorkflowOnExceptionStepTagStepDetailsTagOutput) ElementType() reflect.Type { - return reflect.TypeOf((*WorkflowOnExceptionStepTagStepDetailsTag)(nil)).Elem() +type WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationOutput struct{ *pulumi.OutputState } + +func (WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocation)(nil)).Elem() } -func (o WorkflowOnExceptionStepTagStepDetailsTagOutput) ToWorkflowOnExceptionStepTagStepDetailsTagOutput() WorkflowOnExceptionStepTagStepDetailsTagOutput { +func (o WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationOutput) ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationOutput() WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationOutput { return o } -func (o WorkflowOnExceptionStepTagStepDetailsTagOutput) ToWorkflowOnExceptionStepTagStepDetailsTagOutputWithContext(ctx context.Context) WorkflowOnExceptionStepTagStepDetailsTagOutput { +func (o WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationOutput) ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationOutputWithContext(ctx context.Context) WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationOutput { return o } -// The name assigned to the file when it was created in S3. You use the object key to retrieve the object. -func (o WorkflowOnExceptionStepTagStepDetailsTagOutput) Key() pulumi.StringOutput { - return o.ApplyT(func(v WorkflowOnExceptionStepTagStepDetailsTag) string { return v.Key }).(pulumi.StringOutput) +func (o WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationOutput) ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput() WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput { + return o.ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutputWithContext(context.Background()) } -// The value that corresponds to the key. -func (o WorkflowOnExceptionStepTagStepDetailsTagOutput) Value() pulumi.StringOutput { - return o.ApplyT(func(v WorkflowOnExceptionStepTagStepDetailsTag) string { return v.Value }).(pulumi.StringOutput) +func (o WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationOutput) ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutputWithContext(ctx context.Context) WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocation) *WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocation { + return &v + }).(WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput) } -type WorkflowOnExceptionStepTagStepDetailsTagArrayOutput struct{ *pulumi.OutputState } +// The ID of the file system, assigned by Amazon EFS. +func (o WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationOutput) FileSystemId() pulumi.StringPtrOutput { + return o.ApplyT(func(v WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocation) *string { + return v.FileSystemId + }).(pulumi.StringPtrOutput) +} -func (WorkflowOnExceptionStepTagStepDetailsTagArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]WorkflowOnExceptionStepTagStepDetailsTag)(nil)).Elem() +// The pathname for the folder being used by a workflow. +func (o WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationOutput) Path() pulumi.StringPtrOutput { + return o.ApplyT(func(v WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocation) *string { + return v.Path + }).(pulumi.StringPtrOutput) } -func (o WorkflowOnExceptionStepTagStepDetailsTagArrayOutput) ToWorkflowOnExceptionStepTagStepDetailsTagArrayOutput() WorkflowOnExceptionStepTagStepDetailsTagArrayOutput { +type WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput struct{ *pulumi.OutputState } + +func (WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocation)(nil)).Elem() +} + +func (o WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput) ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput() WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput { return o } -func (o WorkflowOnExceptionStepTagStepDetailsTagArrayOutput) ToWorkflowOnExceptionStepTagStepDetailsTagArrayOutputWithContext(ctx context.Context) WorkflowOnExceptionStepTagStepDetailsTagArrayOutput { +func (o WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput) ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutputWithContext(ctx context.Context) WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput { return o } -func (o WorkflowOnExceptionStepTagStepDetailsTagArrayOutput) Index(i pulumi.IntInput) WorkflowOnExceptionStepTagStepDetailsTagOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) WorkflowOnExceptionStepTagStepDetailsTag { - return vs[0].([]WorkflowOnExceptionStepTagStepDetailsTag)[vs[1].(int)] - }).(WorkflowOnExceptionStepTagStepDetailsTagOutput) +func (o WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput) Elem() WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationOutput { + return o.ApplyT(func(v *WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocation) WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocation { + if v != nil { + return *v + } + var ret WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocation + return ret + }).(WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationOutput) } -type WorkflowStep struct { - // Details for a step that performs a file copy. See Copy Step Details below. - CopyStepDetails *WorkflowStepCopyStepDetails `pulumi:"copyStepDetails"` - // Details for a step that invokes a lambda function. - CustomStepDetails *WorkflowStepCustomStepDetails `pulumi:"customStepDetails"` - // Details for a step that deletes the file. - DeleteStepDetails *WorkflowStepDeleteStepDetails `pulumi:"deleteStepDetails"` - // Details for a step that creates one or more tags. - TagStepDetails *WorkflowStepTagStepDetails `pulumi:"tagStepDetails"` - // One of the following step types are supported. `COPY`, `CUSTOM`, `DELETE`, and `TAG`. - Type string `pulumi:"type"` +// The ID of the file system, assigned by Amazon EFS. +func (o WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput) FileSystemId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocation) *string { + if v == nil { + return nil + } + return v.FileSystemId + }).(pulumi.StringPtrOutput) } -// WorkflowStepInput is an input type that accepts WorkflowStepArgs and WorkflowStepOutput values. -// You can construct a concrete instance of `WorkflowStepInput` via: +// The pathname for the folder being used by a workflow. +func (o WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput) Path() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocation) *string { + if v == nil { + return nil + } + return v.Path + }).(pulumi.StringPtrOutput) +} + +type WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocation struct { + // Specifies the S3 bucket for the customer input file. + Bucket *string `pulumi:"bucket"` + // The name assigned to the file when it was created in S3. You use the object key to retrieve the object. + Key *string `pulumi:"key"` +} + +// WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationInput is an input type that accepts WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs and WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationOutput values. +// You can construct a concrete instance of `WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationInput` via: // -// WorkflowStepArgs{...} -type WorkflowStepInput interface { +// WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs{...} +type WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationInput interface { pulumi.Input - ToWorkflowStepOutput() WorkflowStepOutput - ToWorkflowStepOutputWithContext(context.Context) WorkflowStepOutput + ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationOutput() WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationOutput + ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationOutputWithContext(context.Context) WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationOutput } -type WorkflowStepArgs struct { - // Details for a step that performs a file copy. See Copy Step Details below. - CopyStepDetails WorkflowStepCopyStepDetailsPtrInput `pulumi:"copyStepDetails"` - // Details for a step that invokes a lambda function. - CustomStepDetails WorkflowStepCustomStepDetailsPtrInput `pulumi:"customStepDetails"` - // Details for a step that deletes the file. - DeleteStepDetails WorkflowStepDeleteStepDetailsPtrInput `pulumi:"deleteStepDetails"` - // Details for a step that creates one or more tags. - TagStepDetails WorkflowStepTagStepDetailsPtrInput `pulumi:"tagStepDetails"` - // One of the following step types are supported. `COPY`, `CUSTOM`, `DELETE`, and `TAG`. - Type pulumi.StringInput `pulumi:"type"` +type WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs struct { + // Specifies the S3 bucket for the customer input file. + Bucket pulumi.StringPtrInput `pulumi:"bucket"` + // The name assigned to the file when it was created in S3. You use the object key to retrieve the object. + Key pulumi.StringPtrInput `pulumi:"key"` } -func (WorkflowStepArgs) ElementType() reflect.Type { - return reflect.TypeOf((*WorkflowStep)(nil)).Elem() +func (WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocation)(nil)).Elem() } -func (i WorkflowStepArgs) ToWorkflowStepOutput() WorkflowStepOutput { - return i.ToWorkflowStepOutputWithContext(context.Background()) +func (i WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs) ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationOutput() WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationOutput { + return i.ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationOutputWithContext(context.Background()) } -func (i WorkflowStepArgs) ToWorkflowStepOutputWithContext(ctx context.Context) WorkflowStepOutput { - return pulumi.ToOutputWithContext(ctx, i).(WorkflowStepOutput) +func (i WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs) ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationOutputWithContext(ctx context.Context) WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationOutput) } -// WorkflowStepArrayInput is an input type that accepts WorkflowStepArray and WorkflowStepArrayOutput values. -// You can construct a concrete instance of `WorkflowStepArrayInput` via: +func (i WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs) ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput() WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput { + return i.ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutputWithContext(context.Background()) +} + +func (i WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs) ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutputWithContext(ctx context.Context) WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationOutput).ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutputWithContext(ctx) +} + +// WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrInput is an input type that accepts WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs, WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtr and WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput values. +// You can construct a concrete instance of `WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrInput` via: // -// WorkflowStepArray{ WorkflowStepArgs{...} } -type WorkflowStepArrayInput interface { +// WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs{...} +// +// or: +// +// nil +type WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrInput interface { pulumi.Input - ToWorkflowStepArrayOutput() WorkflowStepArrayOutput - ToWorkflowStepArrayOutputWithContext(context.Context) WorkflowStepArrayOutput + ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput() WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput + ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutputWithContext(context.Context) WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput } -type WorkflowStepArray []WorkflowStepInput +type workflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrType WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs -func (WorkflowStepArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]WorkflowStep)(nil)).Elem() +func WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtr(v *WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs) WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrInput { + return (*workflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrType)(v) } -func (i WorkflowStepArray) ToWorkflowStepArrayOutput() WorkflowStepArrayOutput { - return i.ToWorkflowStepArrayOutputWithContext(context.Background()) +func (*workflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocation)(nil)).Elem() } -func (i WorkflowStepArray) ToWorkflowStepArrayOutputWithContext(ctx context.Context) WorkflowStepArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(WorkflowStepArrayOutput) +func (i *workflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrType) ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput() WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput { + return i.ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutputWithContext(context.Background()) } -type WorkflowStepOutput struct{ *pulumi.OutputState } - -func (WorkflowStepOutput) ElementType() reflect.Type { - return reflect.TypeOf((*WorkflowStep)(nil)).Elem() +func (i *workflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrType) ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutputWithContext(ctx context.Context) WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput) } -func (o WorkflowStepOutput) ToWorkflowStepOutput() WorkflowStepOutput { - return o +type WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationOutput struct{ *pulumi.OutputState } + +func (WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocation)(nil)).Elem() } -func (o WorkflowStepOutput) ToWorkflowStepOutputWithContext(ctx context.Context) WorkflowStepOutput { +func (o WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationOutput) ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationOutput() WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationOutput { return o } -// Details for a step that performs a file copy. See Copy Step Details below. -func (o WorkflowStepOutput) CopyStepDetails() WorkflowStepCopyStepDetailsPtrOutput { - return o.ApplyT(func(v WorkflowStep) *WorkflowStepCopyStepDetails { return v.CopyStepDetails }).(WorkflowStepCopyStepDetailsPtrOutput) +func (o WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationOutput) ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationOutputWithContext(ctx context.Context) WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationOutput { + return o } -// Details for a step that invokes a lambda function. -func (o WorkflowStepOutput) CustomStepDetails() WorkflowStepCustomStepDetailsPtrOutput { - return o.ApplyT(func(v WorkflowStep) *WorkflowStepCustomStepDetails { return v.CustomStepDetails }).(WorkflowStepCustomStepDetailsPtrOutput) +func (o WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationOutput) ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput() WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput { + return o.ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutputWithContext(context.Background()) } -// Details for a step that deletes the file. -func (o WorkflowStepOutput) DeleteStepDetails() WorkflowStepDeleteStepDetailsPtrOutput { - return o.ApplyT(func(v WorkflowStep) *WorkflowStepDeleteStepDetails { return v.DeleteStepDetails }).(WorkflowStepDeleteStepDetailsPtrOutput) +func (o WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationOutput) ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutputWithContext(ctx context.Context) WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocation) *WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocation { + return &v + }).(WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput) } -// Details for a step that creates one or more tags. -func (o WorkflowStepOutput) TagStepDetails() WorkflowStepTagStepDetailsPtrOutput { - return o.ApplyT(func(v WorkflowStep) *WorkflowStepTagStepDetails { return v.TagStepDetails }).(WorkflowStepTagStepDetailsPtrOutput) +// Specifies the S3 bucket for the customer input file. +func (o WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationOutput) Bucket() pulumi.StringPtrOutput { + return o.ApplyT(func(v WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocation) *string { + return v.Bucket + }).(pulumi.StringPtrOutput) } -// One of the following step types are supported. `COPY`, `CUSTOM`, `DELETE`, and `TAG`. -func (o WorkflowStepOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v WorkflowStep) string { return v.Type }).(pulumi.StringOutput) +// The name assigned to the file when it was created in S3. You use the object key to retrieve the object. +func (o WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocation) *string { + return v.Key + }).(pulumi.StringPtrOutput) } -type WorkflowStepArrayOutput struct{ *pulumi.OutputState } +type WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput struct{ *pulumi.OutputState } -func (WorkflowStepArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]WorkflowStep)(nil)).Elem() +func (WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocation)(nil)).Elem() } -func (o WorkflowStepArrayOutput) ToWorkflowStepArrayOutput() WorkflowStepArrayOutput { +func (o WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput) ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput() WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput { return o } -func (o WorkflowStepArrayOutput) ToWorkflowStepArrayOutputWithContext(ctx context.Context) WorkflowStepArrayOutput { +func (o WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput) ToWorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutputWithContext(ctx context.Context) WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput { return o } -func (o WorkflowStepArrayOutput) Index(i pulumi.IntInput) WorkflowStepOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) WorkflowStep { - return vs[0].([]WorkflowStep)[vs[1].(int)] - }).(WorkflowStepOutput) -} - -type WorkflowStepCopyStepDetails struct { +func (o WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput) Elem() WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationOutput { + return o.ApplyT(func(v *WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocation) WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocation { + if v != nil { + return *v + } + var ret WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocation + return ret + }).(WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationOutput) +} + +// Specifies the S3 bucket for the customer input file. +func (o WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput) Bucket() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocation) *string { + if v == nil { + return nil + } + return v.Bucket + }).(pulumi.StringPtrOutput) +} + +// The name assigned to the file when it was created in S3. You use the object key to retrieve the object. +func (o WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocation) *string { + if v == nil { + return nil + } + return v.Key + }).(pulumi.StringPtrOutput) +} + +type WorkflowOnExceptionStepDeleteStepDetails struct { + // The name of the step, used as an identifier. + Name *string `pulumi:"name"` + // Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. + SourceFileLocation *string `pulumi:"sourceFileLocation"` +} + +// WorkflowOnExceptionStepDeleteStepDetailsInput is an input type that accepts WorkflowOnExceptionStepDeleteStepDetailsArgs and WorkflowOnExceptionStepDeleteStepDetailsOutput values. +// You can construct a concrete instance of `WorkflowOnExceptionStepDeleteStepDetailsInput` via: +// +// WorkflowOnExceptionStepDeleteStepDetailsArgs{...} +type WorkflowOnExceptionStepDeleteStepDetailsInput interface { + pulumi.Input + + ToWorkflowOnExceptionStepDeleteStepDetailsOutput() WorkflowOnExceptionStepDeleteStepDetailsOutput + ToWorkflowOnExceptionStepDeleteStepDetailsOutputWithContext(context.Context) WorkflowOnExceptionStepDeleteStepDetailsOutput +} + +type WorkflowOnExceptionStepDeleteStepDetailsArgs struct { + // The name of the step, used as an identifier. + Name pulumi.StringPtrInput `pulumi:"name"` + // Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. + SourceFileLocation pulumi.StringPtrInput `pulumi:"sourceFileLocation"` +} + +func (WorkflowOnExceptionStepDeleteStepDetailsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WorkflowOnExceptionStepDeleteStepDetails)(nil)).Elem() +} + +func (i WorkflowOnExceptionStepDeleteStepDetailsArgs) ToWorkflowOnExceptionStepDeleteStepDetailsOutput() WorkflowOnExceptionStepDeleteStepDetailsOutput { + return i.ToWorkflowOnExceptionStepDeleteStepDetailsOutputWithContext(context.Background()) +} + +func (i WorkflowOnExceptionStepDeleteStepDetailsArgs) ToWorkflowOnExceptionStepDeleteStepDetailsOutputWithContext(ctx context.Context) WorkflowOnExceptionStepDeleteStepDetailsOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkflowOnExceptionStepDeleteStepDetailsOutput) +} + +func (i WorkflowOnExceptionStepDeleteStepDetailsArgs) ToWorkflowOnExceptionStepDeleteStepDetailsPtrOutput() WorkflowOnExceptionStepDeleteStepDetailsPtrOutput { + return i.ToWorkflowOnExceptionStepDeleteStepDetailsPtrOutputWithContext(context.Background()) +} + +func (i WorkflowOnExceptionStepDeleteStepDetailsArgs) ToWorkflowOnExceptionStepDeleteStepDetailsPtrOutputWithContext(ctx context.Context) WorkflowOnExceptionStepDeleteStepDetailsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkflowOnExceptionStepDeleteStepDetailsOutput).ToWorkflowOnExceptionStepDeleteStepDetailsPtrOutputWithContext(ctx) +} + +// WorkflowOnExceptionStepDeleteStepDetailsPtrInput is an input type that accepts WorkflowOnExceptionStepDeleteStepDetailsArgs, WorkflowOnExceptionStepDeleteStepDetailsPtr and WorkflowOnExceptionStepDeleteStepDetailsPtrOutput values. +// You can construct a concrete instance of `WorkflowOnExceptionStepDeleteStepDetailsPtrInput` via: +// +// WorkflowOnExceptionStepDeleteStepDetailsArgs{...} +// +// or: +// +// nil +type WorkflowOnExceptionStepDeleteStepDetailsPtrInput interface { + pulumi.Input + + ToWorkflowOnExceptionStepDeleteStepDetailsPtrOutput() WorkflowOnExceptionStepDeleteStepDetailsPtrOutput + ToWorkflowOnExceptionStepDeleteStepDetailsPtrOutputWithContext(context.Context) WorkflowOnExceptionStepDeleteStepDetailsPtrOutput +} + +type workflowOnExceptionStepDeleteStepDetailsPtrType WorkflowOnExceptionStepDeleteStepDetailsArgs + +func WorkflowOnExceptionStepDeleteStepDetailsPtr(v *WorkflowOnExceptionStepDeleteStepDetailsArgs) WorkflowOnExceptionStepDeleteStepDetailsPtrInput { + return (*workflowOnExceptionStepDeleteStepDetailsPtrType)(v) +} + +func (*workflowOnExceptionStepDeleteStepDetailsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WorkflowOnExceptionStepDeleteStepDetails)(nil)).Elem() +} + +func (i *workflowOnExceptionStepDeleteStepDetailsPtrType) ToWorkflowOnExceptionStepDeleteStepDetailsPtrOutput() WorkflowOnExceptionStepDeleteStepDetailsPtrOutput { + return i.ToWorkflowOnExceptionStepDeleteStepDetailsPtrOutputWithContext(context.Background()) +} + +func (i *workflowOnExceptionStepDeleteStepDetailsPtrType) ToWorkflowOnExceptionStepDeleteStepDetailsPtrOutputWithContext(ctx context.Context) WorkflowOnExceptionStepDeleteStepDetailsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkflowOnExceptionStepDeleteStepDetailsPtrOutput) +} + +type WorkflowOnExceptionStepDeleteStepDetailsOutput struct{ *pulumi.OutputState } + +func (WorkflowOnExceptionStepDeleteStepDetailsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WorkflowOnExceptionStepDeleteStepDetails)(nil)).Elem() +} + +func (o WorkflowOnExceptionStepDeleteStepDetailsOutput) ToWorkflowOnExceptionStepDeleteStepDetailsOutput() WorkflowOnExceptionStepDeleteStepDetailsOutput { + return o +} + +func (o WorkflowOnExceptionStepDeleteStepDetailsOutput) ToWorkflowOnExceptionStepDeleteStepDetailsOutputWithContext(ctx context.Context) WorkflowOnExceptionStepDeleteStepDetailsOutput { + return o +} + +func (o WorkflowOnExceptionStepDeleteStepDetailsOutput) ToWorkflowOnExceptionStepDeleteStepDetailsPtrOutput() WorkflowOnExceptionStepDeleteStepDetailsPtrOutput { + return o.ToWorkflowOnExceptionStepDeleteStepDetailsPtrOutputWithContext(context.Background()) +} + +func (o WorkflowOnExceptionStepDeleteStepDetailsOutput) ToWorkflowOnExceptionStepDeleteStepDetailsPtrOutputWithContext(ctx context.Context) WorkflowOnExceptionStepDeleteStepDetailsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WorkflowOnExceptionStepDeleteStepDetails) *WorkflowOnExceptionStepDeleteStepDetails { + return &v + }).(WorkflowOnExceptionStepDeleteStepDetailsPtrOutput) +} + +// The name of the step, used as an identifier. +func (o WorkflowOnExceptionStepDeleteStepDetailsOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v WorkflowOnExceptionStepDeleteStepDetails) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. +func (o WorkflowOnExceptionStepDeleteStepDetailsOutput) SourceFileLocation() pulumi.StringPtrOutput { + return o.ApplyT(func(v WorkflowOnExceptionStepDeleteStepDetails) *string { return v.SourceFileLocation }).(pulumi.StringPtrOutput) +} + +type WorkflowOnExceptionStepDeleteStepDetailsPtrOutput struct{ *pulumi.OutputState } + +func (WorkflowOnExceptionStepDeleteStepDetailsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WorkflowOnExceptionStepDeleteStepDetails)(nil)).Elem() +} + +func (o WorkflowOnExceptionStepDeleteStepDetailsPtrOutput) ToWorkflowOnExceptionStepDeleteStepDetailsPtrOutput() WorkflowOnExceptionStepDeleteStepDetailsPtrOutput { + return o +} + +func (o WorkflowOnExceptionStepDeleteStepDetailsPtrOutput) ToWorkflowOnExceptionStepDeleteStepDetailsPtrOutputWithContext(ctx context.Context) WorkflowOnExceptionStepDeleteStepDetailsPtrOutput { + return o +} + +func (o WorkflowOnExceptionStepDeleteStepDetailsPtrOutput) Elem() WorkflowOnExceptionStepDeleteStepDetailsOutput { + return o.ApplyT(func(v *WorkflowOnExceptionStepDeleteStepDetails) WorkflowOnExceptionStepDeleteStepDetails { + if v != nil { + return *v + } + var ret WorkflowOnExceptionStepDeleteStepDetails + return ret + }).(WorkflowOnExceptionStepDeleteStepDetailsOutput) +} + +// The name of the step, used as an identifier. +func (o WorkflowOnExceptionStepDeleteStepDetailsPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WorkflowOnExceptionStepDeleteStepDetails) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. +func (o WorkflowOnExceptionStepDeleteStepDetailsPtrOutput) SourceFileLocation() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WorkflowOnExceptionStepDeleteStepDetails) *string { + if v == nil { + return nil + } + return v.SourceFileLocation + }).(pulumi.StringPtrOutput) +} + +type WorkflowOnExceptionStepTagStepDetails struct { + // The name of the step, used as an identifier. + Name *string `pulumi:"name"` + // Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. + SourceFileLocation *string `pulumi:"sourceFileLocation"` + // Array that contains from 1 to 10 key/value pairs. See S3 Tags below. + Tags []WorkflowOnExceptionStepTagStepDetailsTag `pulumi:"tags"` +} + +// WorkflowOnExceptionStepTagStepDetailsInput is an input type that accepts WorkflowOnExceptionStepTagStepDetailsArgs and WorkflowOnExceptionStepTagStepDetailsOutput values. +// You can construct a concrete instance of `WorkflowOnExceptionStepTagStepDetailsInput` via: +// +// WorkflowOnExceptionStepTagStepDetailsArgs{...} +type WorkflowOnExceptionStepTagStepDetailsInput interface { + pulumi.Input + + ToWorkflowOnExceptionStepTagStepDetailsOutput() WorkflowOnExceptionStepTagStepDetailsOutput + ToWorkflowOnExceptionStepTagStepDetailsOutputWithContext(context.Context) WorkflowOnExceptionStepTagStepDetailsOutput +} + +type WorkflowOnExceptionStepTagStepDetailsArgs struct { + // The name of the step, used as an identifier. + Name pulumi.StringPtrInput `pulumi:"name"` + // Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. + SourceFileLocation pulumi.StringPtrInput `pulumi:"sourceFileLocation"` + // Array that contains from 1 to 10 key/value pairs. See S3 Tags below. + Tags WorkflowOnExceptionStepTagStepDetailsTagArrayInput `pulumi:"tags"` +} + +func (WorkflowOnExceptionStepTagStepDetailsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WorkflowOnExceptionStepTagStepDetails)(nil)).Elem() +} + +func (i WorkflowOnExceptionStepTagStepDetailsArgs) ToWorkflowOnExceptionStepTagStepDetailsOutput() WorkflowOnExceptionStepTagStepDetailsOutput { + return i.ToWorkflowOnExceptionStepTagStepDetailsOutputWithContext(context.Background()) +} + +func (i WorkflowOnExceptionStepTagStepDetailsArgs) ToWorkflowOnExceptionStepTagStepDetailsOutputWithContext(ctx context.Context) WorkflowOnExceptionStepTagStepDetailsOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkflowOnExceptionStepTagStepDetailsOutput) +} + +func (i WorkflowOnExceptionStepTagStepDetailsArgs) ToWorkflowOnExceptionStepTagStepDetailsPtrOutput() WorkflowOnExceptionStepTagStepDetailsPtrOutput { + return i.ToWorkflowOnExceptionStepTagStepDetailsPtrOutputWithContext(context.Background()) +} + +func (i WorkflowOnExceptionStepTagStepDetailsArgs) ToWorkflowOnExceptionStepTagStepDetailsPtrOutputWithContext(ctx context.Context) WorkflowOnExceptionStepTagStepDetailsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkflowOnExceptionStepTagStepDetailsOutput).ToWorkflowOnExceptionStepTagStepDetailsPtrOutputWithContext(ctx) +} + +// WorkflowOnExceptionStepTagStepDetailsPtrInput is an input type that accepts WorkflowOnExceptionStepTagStepDetailsArgs, WorkflowOnExceptionStepTagStepDetailsPtr and WorkflowOnExceptionStepTagStepDetailsPtrOutput values. +// You can construct a concrete instance of `WorkflowOnExceptionStepTagStepDetailsPtrInput` via: +// +// WorkflowOnExceptionStepTagStepDetailsArgs{...} +// +// or: +// +// nil +type WorkflowOnExceptionStepTagStepDetailsPtrInput interface { + pulumi.Input + + ToWorkflowOnExceptionStepTagStepDetailsPtrOutput() WorkflowOnExceptionStepTagStepDetailsPtrOutput + ToWorkflowOnExceptionStepTagStepDetailsPtrOutputWithContext(context.Context) WorkflowOnExceptionStepTagStepDetailsPtrOutput +} + +type workflowOnExceptionStepTagStepDetailsPtrType WorkflowOnExceptionStepTagStepDetailsArgs + +func WorkflowOnExceptionStepTagStepDetailsPtr(v *WorkflowOnExceptionStepTagStepDetailsArgs) WorkflowOnExceptionStepTagStepDetailsPtrInput { + return (*workflowOnExceptionStepTagStepDetailsPtrType)(v) +} + +func (*workflowOnExceptionStepTagStepDetailsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WorkflowOnExceptionStepTagStepDetails)(nil)).Elem() +} + +func (i *workflowOnExceptionStepTagStepDetailsPtrType) ToWorkflowOnExceptionStepTagStepDetailsPtrOutput() WorkflowOnExceptionStepTagStepDetailsPtrOutput { + return i.ToWorkflowOnExceptionStepTagStepDetailsPtrOutputWithContext(context.Background()) +} + +func (i *workflowOnExceptionStepTagStepDetailsPtrType) ToWorkflowOnExceptionStepTagStepDetailsPtrOutputWithContext(ctx context.Context) WorkflowOnExceptionStepTagStepDetailsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkflowOnExceptionStepTagStepDetailsPtrOutput) +} + +type WorkflowOnExceptionStepTagStepDetailsOutput struct{ *pulumi.OutputState } + +func (WorkflowOnExceptionStepTagStepDetailsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WorkflowOnExceptionStepTagStepDetails)(nil)).Elem() +} + +func (o WorkflowOnExceptionStepTagStepDetailsOutput) ToWorkflowOnExceptionStepTagStepDetailsOutput() WorkflowOnExceptionStepTagStepDetailsOutput { + return o +} + +func (o WorkflowOnExceptionStepTagStepDetailsOutput) ToWorkflowOnExceptionStepTagStepDetailsOutputWithContext(ctx context.Context) WorkflowOnExceptionStepTagStepDetailsOutput { + return o +} + +func (o WorkflowOnExceptionStepTagStepDetailsOutput) ToWorkflowOnExceptionStepTagStepDetailsPtrOutput() WorkflowOnExceptionStepTagStepDetailsPtrOutput { + return o.ToWorkflowOnExceptionStepTagStepDetailsPtrOutputWithContext(context.Background()) +} + +func (o WorkflowOnExceptionStepTagStepDetailsOutput) ToWorkflowOnExceptionStepTagStepDetailsPtrOutputWithContext(ctx context.Context) WorkflowOnExceptionStepTagStepDetailsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WorkflowOnExceptionStepTagStepDetails) *WorkflowOnExceptionStepTagStepDetails { + return &v + }).(WorkflowOnExceptionStepTagStepDetailsPtrOutput) +} + +// The name of the step, used as an identifier. +func (o WorkflowOnExceptionStepTagStepDetailsOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v WorkflowOnExceptionStepTagStepDetails) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. +func (o WorkflowOnExceptionStepTagStepDetailsOutput) SourceFileLocation() pulumi.StringPtrOutput { + return o.ApplyT(func(v WorkflowOnExceptionStepTagStepDetails) *string { return v.SourceFileLocation }).(pulumi.StringPtrOutput) +} + +// Array that contains from 1 to 10 key/value pairs. See S3 Tags below. +func (o WorkflowOnExceptionStepTagStepDetailsOutput) Tags() WorkflowOnExceptionStepTagStepDetailsTagArrayOutput { + return o.ApplyT(func(v WorkflowOnExceptionStepTagStepDetails) []WorkflowOnExceptionStepTagStepDetailsTag { + return v.Tags + }).(WorkflowOnExceptionStepTagStepDetailsTagArrayOutput) +} + +type WorkflowOnExceptionStepTagStepDetailsPtrOutput struct{ *pulumi.OutputState } + +func (WorkflowOnExceptionStepTagStepDetailsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WorkflowOnExceptionStepTagStepDetails)(nil)).Elem() +} + +func (o WorkflowOnExceptionStepTagStepDetailsPtrOutput) ToWorkflowOnExceptionStepTagStepDetailsPtrOutput() WorkflowOnExceptionStepTagStepDetailsPtrOutput { + return o +} + +func (o WorkflowOnExceptionStepTagStepDetailsPtrOutput) ToWorkflowOnExceptionStepTagStepDetailsPtrOutputWithContext(ctx context.Context) WorkflowOnExceptionStepTagStepDetailsPtrOutput { + return o +} + +func (o WorkflowOnExceptionStepTagStepDetailsPtrOutput) Elem() WorkflowOnExceptionStepTagStepDetailsOutput { + return o.ApplyT(func(v *WorkflowOnExceptionStepTagStepDetails) WorkflowOnExceptionStepTagStepDetails { + if v != nil { + return *v + } + var ret WorkflowOnExceptionStepTagStepDetails + return ret + }).(WorkflowOnExceptionStepTagStepDetailsOutput) +} + +// The name of the step, used as an identifier. +func (o WorkflowOnExceptionStepTagStepDetailsPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WorkflowOnExceptionStepTagStepDetails) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. +func (o WorkflowOnExceptionStepTagStepDetailsPtrOutput) SourceFileLocation() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WorkflowOnExceptionStepTagStepDetails) *string { + if v == nil { + return nil + } + return v.SourceFileLocation + }).(pulumi.StringPtrOutput) +} + +// Array that contains from 1 to 10 key/value pairs. See S3 Tags below. +func (o WorkflowOnExceptionStepTagStepDetailsPtrOutput) Tags() WorkflowOnExceptionStepTagStepDetailsTagArrayOutput { + return o.ApplyT(func(v *WorkflowOnExceptionStepTagStepDetails) []WorkflowOnExceptionStepTagStepDetailsTag { + if v == nil { + return nil + } + return v.Tags + }).(WorkflowOnExceptionStepTagStepDetailsTagArrayOutput) +} + +type WorkflowOnExceptionStepTagStepDetailsTag struct { + // The name assigned to the file when it was created in S3. You use the object key to retrieve the object. + Key string `pulumi:"key"` + // The value that corresponds to the key. + Value string `pulumi:"value"` +} + +// WorkflowOnExceptionStepTagStepDetailsTagInput is an input type that accepts WorkflowOnExceptionStepTagStepDetailsTagArgs and WorkflowOnExceptionStepTagStepDetailsTagOutput values. +// You can construct a concrete instance of `WorkflowOnExceptionStepTagStepDetailsTagInput` via: +// +// WorkflowOnExceptionStepTagStepDetailsTagArgs{...} +type WorkflowOnExceptionStepTagStepDetailsTagInput interface { + pulumi.Input + + ToWorkflowOnExceptionStepTagStepDetailsTagOutput() WorkflowOnExceptionStepTagStepDetailsTagOutput + ToWorkflowOnExceptionStepTagStepDetailsTagOutputWithContext(context.Context) WorkflowOnExceptionStepTagStepDetailsTagOutput +} + +type WorkflowOnExceptionStepTagStepDetailsTagArgs struct { + // The name assigned to the file when it was created in S3. You use the object key to retrieve the object. + Key pulumi.StringInput `pulumi:"key"` + // The value that corresponds to the key. + Value pulumi.StringInput `pulumi:"value"` +} + +func (WorkflowOnExceptionStepTagStepDetailsTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WorkflowOnExceptionStepTagStepDetailsTag)(nil)).Elem() +} + +func (i WorkflowOnExceptionStepTagStepDetailsTagArgs) ToWorkflowOnExceptionStepTagStepDetailsTagOutput() WorkflowOnExceptionStepTagStepDetailsTagOutput { + return i.ToWorkflowOnExceptionStepTagStepDetailsTagOutputWithContext(context.Background()) +} + +func (i WorkflowOnExceptionStepTagStepDetailsTagArgs) ToWorkflowOnExceptionStepTagStepDetailsTagOutputWithContext(ctx context.Context) WorkflowOnExceptionStepTagStepDetailsTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkflowOnExceptionStepTagStepDetailsTagOutput) +} + +// WorkflowOnExceptionStepTagStepDetailsTagArrayInput is an input type that accepts WorkflowOnExceptionStepTagStepDetailsTagArray and WorkflowOnExceptionStepTagStepDetailsTagArrayOutput values. +// You can construct a concrete instance of `WorkflowOnExceptionStepTagStepDetailsTagArrayInput` via: +// +// WorkflowOnExceptionStepTagStepDetailsTagArray{ WorkflowOnExceptionStepTagStepDetailsTagArgs{...} } +type WorkflowOnExceptionStepTagStepDetailsTagArrayInput interface { + pulumi.Input + + ToWorkflowOnExceptionStepTagStepDetailsTagArrayOutput() WorkflowOnExceptionStepTagStepDetailsTagArrayOutput + ToWorkflowOnExceptionStepTagStepDetailsTagArrayOutputWithContext(context.Context) WorkflowOnExceptionStepTagStepDetailsTagArrayOutput +} + +type WorkflowOnExceptionStepTagStepDetailsTagArray []WorkflowOnExceptionStepTagStepDetailsTagInput + +func (WorkflowOnExceptionStepTagStepDetailsTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]WorkflowOnExceptionStepTagStepDetailsTag)(nil)).Elem() +} + +func (i WorkflowOnExceptionStepTagStepDetailsTagArray) ToWorkflowOnExceptionStepTagStepDetailsTagArrayOutput() WorkflowOnExceptionStepTagStepDetailsTagArrayOutput { + return i.ToWorkflowOnExceptionStepTagStepDetailsTagArrayOutputWithContext(context.Background()) +} + +func (i WorkflowOnExceptionStepTagStepDetailsTagArray) ToWorkflowOnExceptionStepTagStepDetailsTagArrayOutputWithContext(ctx context.Context) WorkflowOnExceptionStepTagStepDetailsTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkflowOnExceptionStepTagStepDetailsTagArrayOutput) +} + +type WorkflowOnExceptionStepTagStepDetailsTagOutput struct{ *pulumi.OutputState } + +func (WorkflowOnExceptionStepTagStepDetailsTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WorkflowOnExceptionStepTagStepDetailsTag)(nil)).Elem() +} + +func (o WorkflowOnExceptionStepTagStepDetailsTagOutput) ToWorkflowOnExceptionStepTagStepDetailsTagOutput() WorkflowOnExceptionStepTagStepDetailsTagOutput { + return o +} + +func (o WorkflowOnExceptionStepTagStepDetailsTagOutput) ToWorkflowOnExceptionStepTagStepDetailsTagOutputWithContext(ctx context.Context) WorkflowOnExceptionStepTagStepDetailsTagOutput { + return o +} + +// The name assigned to the file when it was created in S3. You use the object key to retrieve the object. +func (o WorkflowOnExceptionStepTagStepDetailsTagOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v WorkflowOnExceptionStepTagStepDetailsTag) string { return v.Key }).(pulumi.StringOutput) +} + +// The value that corresponds to the key. +func (o WorkflowOnExceptionStepTagStepDetailsTagOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v WorkflowOnExceptionStepTagStepDetailsTag) string { return v.Value }).(pulumi.StringOutput) +} + +type WorkflowOnExceptionStepTagStepDetailsTagArrayOutput struct{ *pulumi.OutputState } + +func (WorkflowOnExceptionStepTagStepDetailsTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]WorkflowOnExceptionStepTagStepDetailsTag)(nil)).Elem() +} + +func (o WorkflowOnExceptionStepTagStepDetailsTagArrayOutput) ToWorkflowOnExceptionStepTagStepDetailsTagArrayOutput() WorkflowOnExceptionStepTagStepDetailsTagArrayOutput { + return o +} + +func (o WorkflowOnExceptionStepTagStepDetailsTagArrayOutput) ToWorkflowOnExceptionStepTagStepDetailsTagArrayOutputWithContext(ctx context.Context) WorkflowOnExceptionStepTagStepDetailsTagArrayOutput { + return o +} + +func (o WorkflowOnExceptionStepTagStepDetailsTagArrayOutput) Index(i pulumi.IntInput) WorkflowOnExceptionStepTagStepDetailsTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) WorkflowOnExceptionStepTagStepDetailsTag { + return vs[0].([]WorkflowOnExceptionStepTagStepDetailsTag)[vs[1].(int)] + }).(WorkflowOnExceptionStepTagStepDetailsTagOutput) +} + +type WorkflowStep struct { + // Details for a step that performs a file copy. See Copy Step Details below. + CopyStepDetails *WorkflowStepCopyStepDetails `pulumi:"copyStepDetails"` + // Details for a step that invokes a lambda function. + CustomStepDetails *WorkflowStepCustomStepDetails `pulumi:"customStepDetails"` + // Details for a step that decrypts the file. + DecryptStepDetails *WorkflowStepDecryptStepDetails `pulumi:"decryptStepDetails"` + // Details for a step that deletes the file. + DeleteStepDetails *WorkflowStepDeleteStepDetails `pulumi:"deleteStepDetails"` + // Details for a step that creates one or more tags. + TagStepDetails *WorkflowStepTagStepDetails `pulumi:"tagStepDetails"` + // One of the following step types are supported. `COPY`, `CUSTOM`, `DECRYPT`, `DELETE`, and `TAG`. + Type string `pulumi:"type"` +} + +// WorkflowStepInput is an input type that accepts WorkflowStepArgs and WorkflowStepOutput values. +// You can construct a concrete instance of `WorkflowStepInput` via: +// +// WorkflowStepArgs{...} +type WorkflowStepInput interface { + pulumi.Input + + ToWorkflowStepOutput() WorkflowStepOutput + ToWorkflowStepOutputWithContext(context.Context) WorkflowStepOutput +} + +type WorkflowStepArgs struct { + // Details for a step that performs a file copy. See Copy Step Details below. + CopyStepDetails WorkflowStepCopyStepDetailsPtrInput `pulumi:"copyStepDetails"` + // Details for a step that invokes a lambda function. + CustomStepDetails WorkflowStepCustomStepDetailsPtrInput `pulumi:"customStepDetails"` + // Details for a step that decrypts the file. + DecryptStepDetails WorkflowStepDecryptStepDetailsPtrInput `pulumi:"decryptStepDetails"` + // Details for a step that deletes the file. + DeleteStepDetails WorkflowStepDeleteStepDetailsPtrInput `pulumi:"deleteStepDetails"` + // Details for a step that creates one or more tags. + TagStepDetails WorkflowStepTagStepDetailsPtrInput `pulumi:"tagStepDetails"` + // One of the following step types are supported. `COPY`, `CUSTOM`, `DECRYPT`, `DELETE`, and `TAG`. + Type pulumi.StringInput `pulumi:"type"` +} + +func (WorkflowStepArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WorkflowStep)(nil)).Elem() +} + +func (i WorkflowStepArgs) ToWorkflowStepOutput() WorkflowStepOutput { + return i.ToWorkflowStepOutputWithContext(context.Background()) +} + +func (i WorkflowStepArgs) ToWorkflowStepOutputWithContext(ctx context.Context) WorkflowStepOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkflowStepOutput) +} + +// WorkflowStepArrayInput is an input type that accepts WorkflowStepArray and WorkflowStepArrayOutput values. +// You can construct a concrete instance of `WorkflowStepArrayInput` via: +// +// WorkflowStepArray{ WorkflowStepArgs{...} } +type WorkflowStepArrayInput interface { + pulumi.Input + + ToWorkflowStepArrayOutput() WorkflowStepArrayOutput + ToWorkflowStepArrayOutputWithContext(context.Context) WorkflowStepArrayOutput +} + +type WorkflowStepArray []WorkflowStepInput + +func (WorkflowStepArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]WorkflowStep)(nil)).Elem() +} + +func (i WorkflowStepArray) ToWorkflowStepArrayOutput() WorkflowStepArrayOutput { + return i.ToWorkflowStepArrayOutputWithContext(context.Background()) +} + +func (i WorkflowStepArray) ToWorkflowStepArrayOutputWithContext(ctx context.Context) WorkflowStepArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkflowStepArrayOutput) +} + +type WorkflowStepOutput struct{ *pulumi.OutputState } + +func (WorkflowStepOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WorkflowStep)(nil)).Elem() +} + +func (o WorkflowStepOutput) ToWorkflowStepOutput() WorkflowStepOutput { + return o +} + +func (o WorkflowStepOutput) ToWorkflowStepOutputWithContext(ctx context.Context) WorkflowStepOutput { + return o +} + +// Details for a step that performs a file copy. See Copy Step Details below. +func (o WorkflowStepOutput) CopyStepDetails() WorkflowStepCopyStepDetailsPtrOutput { + return o.ApplyT(func(v WorkflowStep) *WorkflowStepCopyStepDetails { return v.CopyStepDetails }).(WorkflowStepCopyStepDetailsPtrOutput) +} + +// Details for a step that invokes a lambda function. +func (o WorkflowStepOutput) CustomStepDetails() WorkflowStepCustomStepDetailsPtrOutput { + return o.ApplyT(func(v WorkflowStep) *WorkflowStepCustomStepDetails { return v.CustomStepDetails }).(WorkflowStepCustomStepDetailsPtrOutput) +} + +// Details for a step that decrypts the file. +func (o WorkflowStepOutput) DecryptStepDetails() WorkflowStepDecryptStepDetailsPtrOutput { + return o.ApplyT(func(v WorkflowStep) *WorkflowStepDecryptStepDetails { return v.DecryptStepDetails }).(WorkflowStepDecryptStepDetailsPtrOutput) +} + +// Details for a step that deletes the file. +func (o WorkflowStepOutput) DeleteStepDetails() WorkflowStepDeleteStepDetailsPtrOutput { + return o.ApplyT(func(v WorkflowStep) *WorkflowStepDeleteStepDetails { return v.DeleteStepDetails }).(WorkflowStepDeleteStepDetailsPtrOutput) +} + +// Details for a step that creates one or more tags. +func (o WorkflowStepOutput) TagStepDetails() WorkflowStepTagStepDetailsPtrOutput { + return o.ApplyT(func(v WorkflowStep) *WorkflowStepTagStepDetails { return v.TagStepDetails }).(WorkflowStepTagStepDetailsPtrOutput) +} + +// One of the following step types are supported. `COPY`, `CUSTOM`, `DECRYPT`, `DELETE`, and `TAG`. +func (o WorkflowStepOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v WorkflowStep) string { return v.Type }).(pulumi.StringOutput) +} + +type WorkflowStepArrayOutput struct{ *pulumi.OutputState } + +func (WorkflowStepArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]WorkflowStep)(nil)).Elem() +} + +func (o WorkflowStepArrayOutput) ToWorkflowStepArrayOutput() WorkflowStepArrayOutput { + return o +} + +func (o WorkflowStepArrayOutput) ToWorkflowStepArrayOutputWithContext(ctx context.Context) WorkflowStepArrayOutput { + return o +} + +func (o WorkflowStepArrayOutput) Index(i pulumi.IntInput) WorkflowStepOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) WorkflowStep { + return vs[0].([]WorkflowStep)[vs[1].(int)] + }).(WorkflowStepOutput) +} + +type WorkflowStepCopyStepDetails struct { + // Specifies the location for the file being copied. Use ${Transfer:username} in this field to parametrize the destination prefix by username. + DestinationFileLocation *WorkflowStepCopyStepDetailsDestinationFileLocation `pulumi:"destinationFileLocation"` + // The name of the step, used as an identifier. + Name *string `pulumi:"name"` + // A flag that indicates whether or not to overwrite an existing file of the same name. The default is `FALSE`. Valid values are `TRUE` and `FALSE`. + OverwriteExisting *string `pulumi:"overwriteExisting"` + // Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. + SourceFileLocation *string `pulumi:"sourceFileLocation"` +} + +// WorkflowStepCopyStepDetailsInput is an input type that accepts WorkflowStepCopyStepDetailsArgs and WorkflowStepCopyStepDetailsOutput values. +// You can construct a concrete instance of `WorkflowStepCopyStepDetailsInput` via: +// +// WorkflowStepCopyStepDetailsArgs{...} +type WorkflowStepCopyStepDetailsInput interface { + pulumi.Input + + ToWorkflowStepCopyStepDetailsOutput() WorkflowStepCopyStepDetailsOutput + ToWorkflowStepCopyStepDetailsOutputWithContext(context.Context) WorkflowStepCopyStepDetailsOutput +} + +type WorkflowStepCopyStepDetailsArgs struct { // Specifies the location for the file being copied. Use ${Transfer:username} in this field to parametrize the destination prefix by username. - DestinationFileLocation *WorkflowStepCopyStepDetailsDestinationFileLocation `pulumi:"destinationFileLocation"` + DestinationFileLocation WorkflowStepCopyStepDetailsDestinationFileLocationPtrInput `pulumi:"destinationFileLocation"` + // The name of the step, used as an identifier. + Name pulumi.StringPtrInput `pulumi:"name"` + // A flag that indicates whether or not to overwrite an existing file of the same name. The default is `FALSE`. Valid values are `TRUE` and `FALSE`. + OverwriteExisting pulumi.StringPtrInput `pulumi:"overwriteExisting"` + // Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. + SourceFileLocation pulumi.StringPtrInput `pulumi:"sourceFileLocation"` +} + +func (WorkflowStepCopyStepDetailsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WorkflowStepCopyStepDetails)(nil)).Elem() +} + +func (i WorkflowStepCopyStepDetailsArgs) ToWorkflowStepCopyStepDetailsOutput() WorkflowStepCopyStepDetailsOutput { + return i.ToWorkflowStepCopyStepDetailsOutputWithContext(context.Background()) +} + +func (i WorkflowStepCopyStepDetailsArgs) ToWorkflowStepCopyStepDetailsOutputWithContext(ctx context.Context) WorkflowStepCopyStepDetailsOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkflowStepCopyStepDetailsOutput) +} + +func (i WorkflowStepCopyStepDetailsArgs) ToWorkflowStepCopyStepDetailsPtrOutput() WorkflowStepCopyStepDetailsPtrOutput { + return i.ToWorkflowStepCopyStepDetailsPtrOutputWithContext(context.Background()) +} + +func (i WorkflowStepCopyStepDetailsArgs) ToWorkflowStepCopyStepDetailsPtrOutputWithContext(ctx context.Context) WorkflowStepCopyStepDetailsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkflowStepCopyStepDetailsOutput).ToWorkflowStepCopyStepDetailsPtrOutputWithContext(ctx) +} + +// WorkflowStepCopyStepDetailsPtrInput is an input type that accepts WorkflowStepCopyStepDetailsArgs, WorkflowStepCopyStepDetailsPtr and WorkflowStepCopyStepDetailsPtrOutput values. +// You can construct a concrete instance of `WorkflowStepCopyStepDetailsPtrInput` via: +// +// WorkflowStepCopyStepDetailsArgs{...} +// +// or: +// +// nil +type WorkflowStepCopyStepDetailsPtrInput interface { + pulumi.Input + + ToWorkflowStepCopyStepDetailsPtrOutput() WorkflowStepCopyStepDetailsPtrOutput + ToWorkflowStepCopyStepDetailsPtrOutputWithContext(context.Context) WorkflowStepCopyStepDetailsPtrOutput +} + +type workflowStepCopyStepDetailsPtrType WorkflowStepCopyStepDetailsArgs + +func WorkflowStepCopyStepDetailsPtr(v *WorkflowStepCopyStepDetailsArgs) WorkflowStepCopyStepDetailsPtrInput { + return (*workflowStepCopyStepDetailsPtrType)(v) +} + +func (*workflowStepCopyStepDetailsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WorkflowStepCopyStepDetails)(nil)).Elem() +} + +func (i *workflowStepCopyStepDetailsPtrType) ToWorkflowStepCopyStepDetailsPtrOutput() WorkflowStepCopyStepDetailsPtrOutput { + return i.ToWorkflowStepCopyStepDetailsPtrOutputWithContext(context.Background()) +} + +func (i *workflowStepCopyStepDetailsPtrType) ToWorkflowStepCopyStepDetailsPtrOutputWithContext(ctx context.Context) WorkflowStepCopyStepDetailsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkflowStepCopyStepDetailsPtrOutput) +} + +type WorkflowStepCopyStepDetailsOutput struct{ *pulumi.OutputState } + +func (WorkflowStepCopyStepDetailsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WorkflowStepCopyStepDetails)(nil)).Elem() +} + +func (o WorkflowStepCopyStepDetailsOutput) ToWorkflowStepCopyStepDetailsOutput() WorkflowStepCopyStepDetailsOutput { + return o +} + +func (o WorkflowStepCopyStepDetailsOutput) ToWorkflowStepCopyStepDetailsOutputWithContext(ctx context.Context) WorkflowStepCopyStepDetailsOutput { + return o +} + +func (o WorkflowStepCopyStepDetailsOutput) ToWorkflowStepCopyStepDetailsPtrOutput() WorkflowStepCopyStepDetailsPtrOutput { + return o.ToWorkflowStepCopyStepDetailsPtrOutputWithContext(context.Background()) +} + +func (o WorkflowStepCopyStepDetailsOutput) ToWorkflowStepCopyStepDetailsPtrOutputWithContext(ctx context.Context) WorkflowStepCopyStepDetailsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WorkflowStepCopyStepDetails) *WorkflowStepCopyStepDetails { + return &v + }).(WorkflowStepCopyStepDetailsPtrOutput) +} + +// Specifies the location for the file being copied. Use ${Transfer:username} in this field to parametrize the destination prefix by username. +func (o WorkflowStepCopyStepDetailsOutput) DestinationFileLocation() WorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput { + return o.ApplyT(func(v WorkflowStepCopyStepDetails) *WorkflowStepCopyStepDetailsDestinationFileLocation { + return v.DestinationFileLocation + }).(WorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput) +} + +// The name of the step, used as an identifier. +func (o WorkflowStepCopyStepDetailsOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v WorkflowStepCopyStepDetails) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// A flag that indicates whether or not to overwrite an existing file of the same name. The default is `FALSE`. Valid values are `TRUE` and `FALSE`. +func (o WorkflowStepCopyStepDetailsOutput) OverwriteExisting() pulumi.StringPtrOutput { + return o.ApplyT(func(v WorkflowStepCopyStepDetails) *string { return v.OverwriteExisting }).(pulumi.StringPtrOutput) +} + +// Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. +func (o WorkflowStepCopyStepDetailsOutput) SourceFileLocation() pulumi.StringPtrOutput { + return o.ApplyT(func(v WorkflowStepCopyStepDetails) *string { return v.SourceFileLocation }).(pulumi.StringPtrOutput) +} + +type WorkflowStepCopyStepDetailsPtrOutput struct{ *pulumi.OutputState } + +func (WorkflowStepCopyStepDetailsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WorkflowStepCopyStepDetails)(nil)).Elem() +} + +func (o WorkflowStepCopyStepDetailsPtrOutput) ToWorkflowStepCopyStepDetailsPtrOutput() WorkflowStepCopyStepDetailsPtrOutput { + return o +} + +func (o WorkflowStepCopyStepDetailsPtrOutput) ToWorkflowStepCopyStepDetailsPtrOutputWithContext(ctx context.Context) WorkflowStepCopyStepDetailsPtrOutput { + return o +} + +func (o WorkflowStepCopyStepDetailsPtrOutput) Elem() WorkflowStepCopyStepDetailsOutput { + return o.ApplyT(func(v *WorkflowStepCopyStepDetails) WorkflowStepCopyStepDetails { + if v != nil { + return *v + } + var ret WorkflowStepCopyStepDetails + return ret + }).(WorkflowStepCopyStepDetailsOutput) +} + +// Specifies the location for the file being copied. Use ${Transfer:username} in this field to parametrize the destination prefix by username. +func (o WorkflowStepCopyStepDetailsPtrOutput) DestinationFileLocation() WorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput { + return o.ApplyT(func(v *WorkflowStepCopyStepDetails) *WorkflowStepCopyStepDetailsDestinationFileLocation { + if v == nil { + return nil + } + return v.DestinationFileLocation + }).(WorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput) +} + +// The name of the step, used as an identifier. +func (o WorkflowStepCopyStepDetailsPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WorkflowStepCopyStepDetails) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// A flag that indicates whether or not to overwrite an existing file of the same name. The default is `FALSE`. Valid values are `TRUE` and `FALSE`. +func (o WorkflowStepCopyStepDetailsPtrOutput) OverwriteExisting() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WorkflowStepCopyStepDetails) *string { + if v == nil { + return nil + } + return v.OverwriteExisting + }).(pulumi.StringPtrOutput) +} + +// Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. +func (o WorkflowStepCopyStepDetailsPtrOutput) SourceFileLocation() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WorkflowStepCopyStepDetails) *string { + if v == nil { + return nil + } + return v.SourceFileLocation + }).(pulumi.StringPtrOutput) +} + +type WorkflowStepCopyStepDetailsDestinationFileLocation struct { + // Specifies the details for the EFS file being copied. + EfsFileLocation *WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocation `pulumi:"efsFileLocation"` + // Specifies the details for the S3 file being copied. + S3FileLocation *WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocation `pulumi:"s3FileLocation"` +} + +// WorkflowStepCopyStepDetailsDestinationFileLocationInput is an input type that accepts WorkflowStepCopyStepDetailsDestinationFileLocationArgs and WorkflowStepCopyStepDetailsDestinationFileLocationOutput values. +// You can construct a concrete instance of `WorkflowStepCopyStepDetailsDestinationFileLocationInput` via: +// +// WorkflowStepCopyStepDetailsDestinationFileLocationArgs{...} +type WorkflowStepCopyStepDetailsDestinationFileLocationInput interface { + pulumi.Input + + ToWorkflowStepCopyStepDetailsDestinationFileLocationOutput() WorkflowStepCopyStepDetailsDestinationFileLocationOutput + ToWorkflowStepCopyStepDetailsDestinationFileLocationOutputWithContext(context.Context) WorkflowStepCopyStepDetailsDestinationFileLocationOutput +} + +type WorkflowStepCopyStepDetailsDestinationFileLocationArgs struct { + // Specifies the details for the EFS file being copied. + EfsFileLocation WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrInput `pulumi:"efsFileLocation"` + // Specifies the details for the S3 file being copied. + S3FileLocation WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrInput `pulumi:"s3FileLocation"` +} + +func (WorkflowStepCopyStepDetailsDestinationFileLocationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WorkflowStepCopyStepDetailsDestinationFileLocation)(nil)).Elem() +} + +func (i WorkflowStepCopyStepDetailsDestinationFileLocationArgs) ToWorkflowStepCopyStepDetailsDestinationFileLocationOutput() WorkflowStepCopyStepDetailsDestinationFileLocationOutput { + return i.ToWorkflowStepCopyStepDetailsDestinationFileLocationOutputWithContext(context.Background()) +} + +func (i WorkflowStepCopyStepDetailsDestinationFileLocationArgs) ToWorkflowStepCopyStepDetailsDestinationFileLocationOutputWithContext(ctx context.Context) WorkflowStepCopyStepDetailsDestinationFileLocationOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkflowStepCopyStepDetailsDestinationFileLocationOutput) +} + +func (i WorkflowStepCopyStepDetailsDestinationFileLocationArgs) ToWorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput() WorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput { + return i.ToWorkflowStepCopyStepDetailsDestinationFileLocationPtrOutputWithContext(context.Background()) +} + +func (i WorkflowStepCopyStepDetailsDestinationFileLocationArgs) ToWorkflowStepCopyStepDetailsDestinationFileLocationPtrOutputWithContext(ctx context.Context) WorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkflowStepCopyStepDetailsDestinationFileLocationOutput).ToWorkflowStepCopyStepDetailsDestinationFileLocationPtrOutputWithContext(ctx) +} + +// WorkflowStepCopyStepDetailsDestinationFileLocationPtrInput is an input type that accepts WorkflowStepCopyStepDetailsDestinationFileLocationArgs, WorkflowStepCopyStepDetailsDestinationFileLocationPtr and WorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput values. +// You can construct a concrete instance of `WorkflowStepCopyStepDetailsDestinationFileLocationPtrInput` via: +// +// WorkflowStepCopyStepDetailsDestinationFileLocationArgs{...} +// +// or: +// +// nil +type WorkflowStepCopyStepDetailsDestinationFileLocationPtrInput interface { + pulumi.Input + + ToWorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput() WorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput + ToWorkflowStepCopyStepDetailsDestinationFileLocationPtrOutputWithContext(context.Context) WorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput +} + +type workflowStepCopyStepDetailsDestinationFileLocationPtrType WorkflowStepCopyStepDetailsDestinationFileLocationArgs + +func WorkflowStepCopyStepDetailsDestinationFileLocationPtr(v *WorkflowStepCopyStepDetailsDestinationFileLocationArgs) WorkflowStepCopyStepDetailsDestinationFileLocationPtrInput { + return (*workflowStepCopyStepDetailsDestinationFileLocationPtrType)(v) +} + +func (*workflowStepCopyStepDetailsDestinationFileLocationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WorkflowStepCopyStepDetailsDestinationFileLocation)(nil)).Elem() +} + +func (i *workflowStepCopyStepDetailsDestinationFileLocationPtrType) ToWorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput() WorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput { + return i.ToWorkflowStepCopyStepDetailsDestinationFileLocationPtrOutputWithContext(context.Background()) +} + +func (i *workflowStepCopyStepDetailsDestinationFileLocationPtrType) ToWorkflowStepCopyStepDetailsDestinationFileLocationPtrOutputWithContext(ctx context.Context) WorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput) +} + +type WorkflowStepCopyStepDetailsDestinationFileLocationOutput struct{ *pulumi.OutputState } + +func (WorkflowStepCopyStepDetailsDestinationFileLocationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WorkflowStepCopyStepDetailsDestinationFileLocation)(nil)).Elem() +} + +func (o WorkflowStepCopyStepDetailsDestinationFileLocationOutput) ToWorkflowStepCopyStepDetailsDestinationFileLocationOutput() WorkflowStepCopyStepDetailsDestinationFileLocationOutput { + return o +} + +func (o WorkflowStepCopyStepDetailsDestinationFileLocationOutput) ToWorkflowStepCopyStepDetailsDestinationFileLocationOutputWithContext(ctx context.Context) WorkflowStepCopyStepDetailsDestinationFileLocationOutput { + return o +} + +func (o WorkflowStepCopyStepDetailsDestinationFileLocationOutput) ToWorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput() WorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput { + return o.ToWorkflowStepCopyStepDetailsDestinationFileLocationPtrOutputWithContext(context.Background()) +} + +func (o WorkflowStepCopyStepDetailsDestinationFileLocationOutput) ToWorkflowStepCopyStepDetailsDestinationFileLocationPtrOutputWithContext(ctx context.Context) WorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WorkflowStepCopyStepDetailsDestinationFileLocation) *WorkflowStepCopyStepDetailsDestinationFileLocation { + return &v + }).(WorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput) +} + +// Specifies the details for the EFS file being copied. +func (o WorkflowStepCopyStepDetailsDestinationFileLocationOutput) EfsFileLocation() WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput { + return o.ApplyT(func(v WorkflowStepCopyStepDetailsDestinationFileLocation) *WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocation { + return v.EfsFileLocation + }).(WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput) +} + +// Specifies the details for the S3 file being copied. +func (o WorkflowStepCopyStepDetailsDestinationFileLocationOutput) S3FileLocation() WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput { + return o.ApplyT(func(v WorkflowStepCopyStepDetailsDestinationFileLocation) *WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocation { + return v.S3FileLocation + }).(WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput) +} + +type WorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput struct{ *pulumi.OutputState } + +func (WorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WorkflowStepCopyStepDetailsDestinationFileLocation)(nil)).Elem() +} + +func (o WorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput) ToWorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput() WorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput { + return o +} + +func (o WorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput) ToWorkflowStepCopyStepDetailsDestinationFileLocationPtrOutputWithContext(ctx context.Context) WorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput { + return o +} + +func (o WorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput) Elem() WorkflowStepCopyStepDetailsDestinationFileLocationOutput { + return o.ApplyT(func(v *WorkflowStepCopyStepDetailsDestinationFileLocation) WorkflowStepCopyStepDetailsDestinationFileLocation { + if v != nil { + return *v + } + var ret WorkflowStepCopyStepDetailsDestinationFileLocation + return ret + }).(WorkflowStepCopyStepDetailsDestinationFileLocationOutput) +} + +// Specifies the details for the EFS file being copied. +func (o WorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput) EfsFileLocation() WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput { + return o.ApplyT(func(v *WorkflowStepCopyStepDetailsDestinationFileLocation) *WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocation { + if v == nil { + return nil + } + return v.EfsFileLocation + }).(WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput) +} + +// Specifies the details for the S3 file being copied. +func (o WorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput) S3FileLocation() WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput { + return o.ApplyT(func(v *WorkflowStepCopyStepDetailsDestinationFileLocation) *WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocation { + if v == nil { + return nil + } + return v.S3FileLocation + }).(WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput) +} + +type WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocation struct { + // The ID of the file system, assigned by Amazon EFS. + FileSystemId *string `pulumi:"fileSystemId"` + // The pathname for the folder being used by a workflow. + Path *string `pulumi:"path"` +} + +// WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationInput is an input type that accepts WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationArgs and WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationOutput values. +// You can construct a concrete instance of `WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationInput` via: +// +// WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationArgs{...} +type WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationInput interface { + pulumi.Input + + ToWorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationOutput() WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationOutput + ToWorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationOutputWithContext(context.Context) WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationOutput +} + +type WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationArgs struct { + // The ID of the file system, assigned by Amazon EFS. + FileSystemId pulumi.StringPtrInput `pulumi:"fileSystemId"` + // The pathname for the folder being used by a workflow. + Path pulumi.StringPtrInput `pulumi:"path"` +} + +func (WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocation)(nil)).Elem() +} + +func (i WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationArgs) ToWorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationOutput() WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationOutput { + return i.ToWorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationOutputWithContext(context.Background()) +} + +func (i WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationArgs) ToWorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationOutputWithContext(ctx context.Context) WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationOutput) +} + +func (i WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationArgs) ToWorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput() WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput { + return i.ToWorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutputWithContext(context.Background()) +} + +func (i WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationArgs) ToWorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutputWithContext(ctx context.Context) WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationOutput).ToWorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutputWithContext(ctx) +} + +// WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrInput is an input type that accepts WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationArgs, WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtr and WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput values. +// You can construct a concrete instance of `WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrInput` via: +// +// WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationArgs{...} +// +// or: +// +// nil +type WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrInput interface { + pulumi.Input + + ToWorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput() WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput + ToWorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutputWithContext(context.Context) WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput +} + +type workflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrType WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationArgs + +func WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtr(v *WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationArgs) WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrInput { + return (*workflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrType)(v) +} + +func (*workflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocation)(nil)).Elem() +} + +func (i *workflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrType) ToWorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput() WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput { + return i.ToWorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutputWithContext(context.Background()) +} + +func (i *workflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrType) ToWorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutputWithContext(ctx context.Context) WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput) +} + +type WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationOutput struct{ *pulumi.OutputState } + +func (WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocation)(nil)).Elem() +} + +func (o WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationOutput) ToWorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationOutput() WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationOutput { + return o +} + +func (o WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationOutput) ToWorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationOutputWithContext(ctx context.Context) WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationOutput { + return o +} + +func (o WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationOutput) ToWorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput() WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput { + return o.ToWorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutputWithContext(context.Background()) +} + +func (o WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationOutput) ToWorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutputWithContext(ctx context.Context) WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocation) *WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocation { + return &v + }).(WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput) +} + +// The ID of the file system, assigned by Amazon EFS. +func (o WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationOutput) FileSystemId() pulumi.StringPtrOutput { + return o.ApplyT(func(v WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocation) *string { + return v.FileSystemId + }).(pulumi.StringPtrOutput) +} + +// The pathname for the folder being used by a workflow. +func (o WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationOutput) Path() pulumi.StringPtrOutput { + return o.ApplyT(func(v WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocation) *string { return v.Path }).(pulumi.StringPtrOutput) +} + +type WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput struct{ *pulumi.OutputState } + +func (WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocation)(nil)).Elem() +} + +func (o WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput) ToWorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput() WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput { + return o +} + +func (o WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput) ToWorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutputWithContext(ctx context.Context) WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput { + return o +} + +func (o WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput) Elem() WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationOutput { + return o.ApplyT(func(v *WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocation) WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocation { + if v != nil { + return *v + } + var ret WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocation + return ret + }).(WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationOutput) +} + +// The ID of the file system, assigned by Amazon EFS. +func (o WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput) FileSystemId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocation) *string { + if v == nil { + return nil + } + return v.FileSystemId + }).(pulumi.StringPtrOutput) +} + +// The pathname for the folder being used by a workflow. +func (o WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput) Path() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocation) *string { + if v == nil { + return nil + } + return v.Path + }).(pulumi.StringPtrOutput) +} + +type WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocation struct { + // Specifies the S3 bucket for the customer input file. + Bucket *string `pulumi:"bucket"` + // The name assigned to the file when it was created in S3. You use the object key to retrieve the object. + Key *string `pulumi:"key"` +} + +// WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationInput is an input type that accepts WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationArgs and WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationOutput values. +// You can construct a concrete instance of `WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationInput` via: +// +// WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationArgs{...} +type WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationInput interface { + pulumi.Input + + ToWorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationOutput() WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationOutput + ToWorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationOutputWithContext(context.Context) WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationOutput +} + +type WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationArgs struct { + // Specifies the S3 bucket for the customer input file. + Bucket pulumi.StringPtrInput `pulumi:"bucket"` + // The name assigned to the file when it was created in S3. You use the object key to retrieve the object. + Key pulumi.StringPtrInput `pulumi:"key"` +} + +func (WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocation)(nil)).Elem() +} + +func (i WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationArgs) ToWorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationOutput() WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationOutput { + return i.ToWorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationOutputWithContext(context.Background()) +} + +func (i WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationArgs) ToWorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationOutputWithContext(ctx context.Context) WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationOutput) +} + +func (i WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationArgs) ToWorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput() WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput { + return i.ToWorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutputWithContext(context.Background()) +} + +func (i WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationArgs) ToWorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutputWithContext(ctx context.Context) WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationOutput).ToWorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutputWithContext(ctx) +} + +// WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrInput is an input type that accepts WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationArgs, WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtr and WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput values. +// You can construct a concrete instance of `WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrInput` via: +// +// WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationArgs{...} +// +// or: +// +// nil +type WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrInput interface { + pulumi.Input + + ToWorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput() WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput + ToWorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutputWithContext(context.Context) WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput +} + +type workflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrType WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationArgs + +func WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtr(v *WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationArgs) WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrInput { + return (*workflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrType)(v) +} + +func (*workflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocation)(nil)).Elem() +} + +func (i *workflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrType) ToWorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput() WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput { + return i.ToWorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutputWithContext(context.Background()) +} + +func (i *workflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrType) ToWorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutputWithContext(ctx context.Context) WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput) +} + +type WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationOutput struct{ *pulumi.OutputState } + +func (WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocation)(nil)).Elem() +} + +func (o WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationOutput) ToWorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationOutput() WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationOutput { + return o +} + +func (o WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationOutput) ToWorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationOutputWithContext(ctx context.Context) WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationOutput { + return o +} + +func (o WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationOutput) ToWorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput() WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput { + return o.ToWorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutputWithContext(context.Background()) +} + +func (o WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationOutput) ToWorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutputWithContext(ctx context.Context) WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocation) *WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocation { + return &v + }).(WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput) +} + +// Specifies the S3 bucket for the customer input file. +func (o WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationOutput) Bucket() pulumi.StringPtrOutput { + return o.ApplyT(func(v WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocation) *string { return v.Bucket }).(pulumi.StringPtrOutput) +} + +// The name assigned to the file when it was created in S3. You use the object key to retrieve the object. +func (o WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocation) *string { return v.Key }).(pulumi.StringPtrOutput) +} + +type WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput struct{ *pulumi.OutputState } + +func (WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocation)(nil)).Elem() +} + +func (o WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput) ToWorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput() WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput { + return o +} + +func (o WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput) ToWorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutputWithContext(ctx context.Context) WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput { + return o +} + +func (o WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput) Elem() WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationOutput { + return o.ApplyT(func(v *WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocation) WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocation { + if v != nil { + return *v + } + var ret WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocation + return ret + }).(WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationOutput) +} + +// Specifies the S3 bucket for the customer input file. +func (o WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput) Bucket() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocation) *string { + if v == nil { + return nil + } + return v.Bucket + }).(pulumi.StringPtrOutput) +} + +// The name assigned to the file when it was created in S3. You use the object key to retrieve the object. +func (o WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocation) *string { + if v == nil { + return nil + } + return v.Key + }).(pulumi.StringPtrOutput) +} + +type WorkflowStepCustomStepDetails struct { // The name of the step, used as an identifier. Name *string `pulumi:"name"` - // A flag that indicates whether or not to overwrite an existing file of the same name. The default is `FALSE`. Valid values are `TRUE` and `FALSE`. - OverwriteExisting *string `pulumi:"overwriteExisting"` // Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. SourceFileLocation *string `pulumi:"sourceFileLocation"` + // The ARN for the lambda function that is being called. + Target *string `pulumi:"target"` + // Timeout, in seconds, for the step. + TimeoutSeconds *int `pulumi:"timeoutSeconds"` } -// WorkflowStepCopyStepDetailsInput is an input type that accepts WorkflowStepCopyStepDetailsArgs and WorkflowStepCopyStepDetailsOutput values. -// You can construct a concrete instance of `WorkflowStepCopyStepDetailsInput` via: +// WorkflowStepCustomStepDetailsInput is an input type that accepts WorkflowStepCustomStepDetailsArgs and WorkflowStepCustomStepDetailsOutput values. +// You can construct a concrete instance of `WorkflowStepCustomStepDetailsInput` via: // -// WorkflowStepCopyStepDetailsArgs{...} -type WorkflowStepCopyStepDetailsInput interface { +// WorkflowStepCustomStepDetailsArgs{...} +type WorkflowStepCustomStepDetailsInput interface { pulumi.Input - ToWorkflowStepCopyStepDetailsOutput() WorkflowStepCopyStepDetailsOutput - ToWorkflowStepCopyStepDetailsOutputWithContext(context.Context) WorkflowStepCopyStepDetailsOutput + ToWorkflowStepCustomStepDetailsOutput() WorkflowStepCustomStepDetailsOutput + ToWorkflowStepCustomStepDetailsOutputWithContext(context.Context) WorkflowStepCustomStepDetailsOutput } -type WorkflowStepCopyStepDetailsArgs struct { - // Specifies the location for the file being copied. Use ${Transfer:username} in this field to parametrize the destination prefix by username. - DestinationFileLocation WorkflowStepCopyStepDetailsDestinationFileLocationPtrInput `pulumi:"destinationFileLocation"` +type WorkflowStepCustomStepDetailsArgs struct { // The name of the step, used as an identifier. Name pulumi.StringPtrInput `pulumi:"name"` - // A flag that indicates whether or not to overwrite an existing file of the same name. The default is `FALSE`. Valid values are `TRUE` and `FALSE`. - OverwriteExisting pulumi.StringPtrInput `pulumi:"overwriteExisting"` // Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. SourceFileLocation pulumi.StringPtrInput `pulumi:"sourceFileLocation"` + // The ARN for the lambda function that is being called. + Target pulumi.StringPtrInput `pulumi:"target"` + // Timeout, in seconds, for the step. + TimeoutSeconds pulumi.IntPtrInput `pulumi:"timeoutSeconds"` } -func (WorkflowStepCopyStepDetailsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*WorkflowStepCopyStepDetails)(nil)).Elem() +func (WorkflowStepCustomStepDetailsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WorkflowStepCustomStepDetails)(nil)).Elem() } -func (i WorkflowStepCopyStepDetailsArgs) ToWorkflowStepCopyStepDetailsOutput() WorkflowStepCopyStepDetailsOutput { - return i.ToWorkflowStepCopyStepDetailsOutputWithContext(context.Background()) +func (i WorkflowStepCustomStepDetailsArgs) ToWorkflowStepCustomStepDetailsOutput() WorkflowStepCustomStepDetailsOutput { + return i.ToWorkflowStepCustomStepDetailsOutputWithContext(context.Background()) } -func (i WorkflowStepCopyStepDetailsArgs) ToWorkflowStepCopyStepDetailsOutputWithContext(ctx context.Context) WorkflowStepCopyStepDetailsOutput { - return pulumi.ToOutputWithContext(ctx, i).(WorkflowStepCopyStepDetailsOutput) +func (i WorkflowStepCustomStepDetailsArgs) ToWorkflowStepCustomStepDetailsOutputWithContext(ctx context.Context) WorkflowStepCustomStepDetailsOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkflowStepCustomStepDetailsOutput) } -func (i WorkflowStepCopyStepDetailsArgs) ToWorkflowStepCopyStepDetailsPtrOutput() WorkflowStepCopyStepDetailsPtrOutput { - return i.ToWorkflowStepCopyStepDetailsPtrOutputWithContext(context.Background()) +func (i WorkflowStepCustomStepDetailsArgs) ToWorkflowStepCustomStepDetailsPtrOutput() WorkflowStepCustomStepDetailsPtrOutput { + return i.ToWorkflowStepCustomStepDetailsPtrOutputWithContext(context.Background()) } -func (i WorkflowStepCopyStepDetailsArgs) ToWorkflowStepCopyStepDetailsPtrOutputWithContext(ctx context.Context) WorkflowStepCopyStepDetailsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(WorkflowStepCopyStepDetailsOutput).ToWorkflowStepCopyStepDetailsPtrOutputWithContext(ctx) +func (i WorkflowStepCustomStepDetailsArgs) ToWorkflowStepCustomStepDetailsPtrOutputWithContext(ctx context.Context) WorkflowStepCustomStepDetailsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkflowStepCustomStepDetailsOutput).ToWorkflowStepCustomStepDetailsPtrOutputWithContext(ctx) } -// WorkflowStepCopyStepDetailsPtrInput is an input type that accepts WorkflowStepCopyStepDetailsArgs, WorkflowStepCopyStepDetailsPtr and WorkflowStepCopyStepDetailsPtrOutput values. -// You can construct a concrete instance of `WorkflowStepCopyStepDetailsPtrInput` via: +// WorkflowStepCustomStepDetailsPtrInput is an input type that accepts WorkflowStepCustomStepDetailsArgs, WorkflowStepCustomStepDetailsPtr and WorkflowStepCustomStepDetailsPtrOutput values. +// You can construct a concrete instance of `WorkflowStepCustomStepDetailsPtrInput` via: // -// WorkflowStepCopyStepDetailsArgs{...} +// WorkflowStepCustomStepDetailsArgs{...} // // or: // // nil -type WorkflowStepCopyStepDetailsPtrInput interface { +type WorkflowStepCustomStepDetailsPtrInput interface { pulumi.Input - ToWorkflowStepCopyStepDetailsPtrOutput() WorkflowStepCopyStepDetailsPtrOutput - ToWorkflowStepCopyStepDetailsPtrOutputWithContext(context.Context) WorkflowStepCopyStepDetailsPtrOutput + ToWorkflowStepCustomStepDetailsPtrOutput() WorkflowStepCustomStepDetailsPtrOutput + ToWorkflowStepCustomStepDetailsPtrOutputWithContext(context.Context) WorkflowStepCustomStepDetailsPtrOutput } -type workflowStepCopyStepDetailsPtrType WorkflowStepCopyStepDetailsArgs +type workflowStepCustomStepDetailsPtrType WorkflowStepCustomStepDetailsArgs -func WorkflowStepCopyStepDetailsPtr(v *WorkflowStepCopyStepDetailsArgs) WorkflowStepCopyStepDetailsPtrInput { - return (*workflowStepCopyStepDetailsPtrType)(v) +func WorkflowStepCustomStepDetailsPtr(v *WorkflowStepCustomStepDetailsArgs) WorkflowStepCustomStepDetailsPtrInput { + return (*workflowStepCustomStepDetailsPtrType)(v) } -func (*workflowStepCopyStepDetailsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**WorkflowStepCopyStepDetails)(nil)).Elem() +func (*workflowStepCustomStepDetailsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WorkflowStepCustomStepDetails)(nil)).Elem() } -func (i *workflowStepCopyStepDetailsPtrType) ToWorkflowStepCopyStepDetailsPtrOutput() WorkflowStepCopyStepDetailsPtrOutput { - return i.ToWorkflowStepCopyStepDetailsPtrOutputWithContext(context.Background()) +func (i *workflowStepCustomStepDetailsPtrType) ToWorkflowStepCustomStepDetailsPtrOutput() WorkflowStepCustomStepDetailsPtrOutput { + return i.ToWorkflowStepCustomStepDetailsPtrOutputWithContext(context.Background()) } -func (i *workflowStepCopyStepDetailsPtrType) ToWorkflowStepCopyStepDetailsPtrOutputWithContext(ctx context.Context) WorkflowStepCopyStepDetailsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(WorkflowStepCopyStepDetailsPtrOutput) +func (i *workflowStepCustomStepDetailsPtrType) ToWorkflowStepCustomStepDetailsPtrOutputWithContext(ctx context.Context) WorkflowStepCustomStepDetailsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkflowStepCustomStepDetailsPtrOutput) } -type WorkflowStepCopyStepDetailsOutput struct{ *pulumi.OutputState } +type WorkflowStepCustomStepDetailsOutput struct{ *pulumi.OutputState } -func (WorkflowStepCopyStepDetailsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*WorkflowStepCopyStepDetails)(nil)).Elem() +func (WorkflowStepCustomStepDetailsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WorkflowStepCustomStepDetails)(nil)).Elem() } -func (o WorkflowStepCopyStepDetailsOutput) ToWorkflowStepCopyStepDetailsOutput() WorkflowStepCopyStepDetailsOutput { +func (o WorkflowStepCustomStepDetailsOutput) ToWorkflowStepCustomStepDetailsOutput() WorkflowStepCustomStepDetailsOutput { return o } -func (o WorkflowStepCopyStepDetailsOutput) ToWorkflowStepCopyStepDetailsOutputWithContext(ctx context.Context) WorkflowStepCopyStepDetailsOutput { +func (o WorkflowStepCustomStepDetailsOutput) ToWorkflowStepCustomStepDetailsOutputWithContext(ctx context.Context) WorkflowStepCustomStepDetailsOutput { return o } -func (o WorkflowStepCopyStepDetailsOutput) ToWorkflowStepCopyStepDetailsPtrOutput() WorkflowStepCopyStepDetailsPtrOutput { - return o.ToWorkflowStepCopyStepDetailsPtrOutputWithContext(context.Background()) +func (o WorkflowStepCustomStepDetailsOutput) ToWorkflowStepCustomStepDetailsPtrOutput() WorkflowStepCustomStepDetailsPtrOutput { + return o.ToWorkflowStepCustomStepDetailsPtrOutputWithContext(context.Background()) } -func (o WorkflowStepCopyStepDetailsOutput) ToWorkflowStepCopyStepDetailsPtrOutputWithContext(ctx context.Context) WorkflowStepCopyStepDetailsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v WorkflowStepCopyStepDetails) *WorkflowStepCopyStepDetails { +func (o WorkflowStepCustomStepDetailsOutput) ToWorkflowStepCustomStepDetailsPtrOutputWithContext(ctx context.Context) WorkflowStepCustomStepDetailsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WorkflowStepCustomStepDetails) *WorkflowStepCustomStepDetails { return &v - }).(WorkflowStepCopyStepDetailsPtrOutput) + }).(WorkflowStepCustomStepDetailsPtrOutput) } -// Specifies the location for the file being copied. Use ${Transfer:username} in this field to parametrize the destination prefix by username. -func (o WorkflowStepCopyStepDetailsOutput) DestinationFileLocation() WorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput { - return o.ApplyT(func(v WorkflowStepCopyStepDetails) *WorkflowStepCopyStepDetailsDestinationFileLocation { - return v.DestinationFileLocation - }).(WorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput) +// The name of the step, used as an identifier. +func (o WorkflowStepCustomStepDetailsOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v WorkflowStepCustomStepDetails) *string { return v.Name }).(pulumi.StringPtrOutput) } -// The name of the step, used as an identifier. -func (o WorkflowStepCopyStepDetailsOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v WorkflowStepCopyStepDetails) *string { return v.Name }).(pulumi.StringPtrOutput) +// Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. +func (o WorkflowStepCustomStepDetailsOutput) SourceFileLocation() pulumi.StringPtrOutput { + return o.ApplyT(func(v WorkflowStepCustomStepDetails) *string { return v.SourceFileLocation }).(pulumi.StringPtrOutput) } -// A flag that indicates whether or not to overwrite an existing file of the same name. The default is `FALSE`. Valid values are `TRUE` and `FALSE`. -func (o WorkflowStepCopyStepDetailsOutput) OverwriteExisting() pulumi.StringPtrOutput { - return o.ApplyT(func(v WorkflowStepCopyStepDetails) *string { return v.OverwriteExisting }).(pulumi.StringPtrOutput) +// The ARN for the lambda function that is being called. +func (o WorkflowStepCustomStepDetailsOutput) Target() pulumi.StringPtrOutput { + return o.ApplyT(func(v WorkflowStepCustomStepDetails) *string { return v.Target }).(pulumi.StringPtrOutput) } -// Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. -func (o WorkflowStepCopyStepDetailsOutput) SourceFileLocation() pulumi.StringPtrOutput { - return o.ApplyT(func(v WorkflowStepCopyStepDetails) *string { return v.SourceFileLocation }).(pulumi.StringPtrOutput) +// Timeout, in seconds, for the step. +func (o WorkflowStepCustomStepDetailsOutput) TimeoutSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v WorkflowStepCustomStepDetails) *int { return v.TimeoutSeconds }).(pulumi.IntPtrOutput) } -type WorkflowStepCopyStepDetailsPtrOutput struct{ *pulumi.OutputState } +type WorkflowStepCustomStepDetailsPtrOutput struct{ *pulumi.OutputState } -func (WorkflowStepCopyStepDetailsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**WorkflowStepCopyStepDetails)(nil)).Elem() +func (WorkflowStepCustomStepDetailsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WorkflowStepCustomStepDetails)(nil)).Elem() } -func (o WorkflowStepCopyStepDetailsPtrOutput) ToWorkflowStepCopyStepDetailsPtrOutput() WorkflowStepCopyStepDetailsPtrOutput { +func (o WorkflowStepCustomStepDetailsPtrOutput) ToWorkflowStepCustomStepDetailsPtrOutput() WorkflowStepCustomStepDetailsPtrOutput { return o } -func (o WorkflowStepCopyStepDetailsPtrOutput) ToWorkflowStepCopyStepDetailsPtrOutputWithContext(ctx context.Context) WorkflowStepCopyStepDetailsPtrOutput { +func (o WorkflowStepCustomStepDetailsPtrOutput) ToWorkflowStepCustomStepDetailsPtrOutputWithContext(ctx context.Context) WorkflowStepCustomStepDetailsPtrOutput { return o } -func (o WorkflowStepCopyStepDetailsPtrOutput) Elem() WorkflowStepCopyStepDetailsOutput { - return o.ApplyT(func(v *WorkflowStepCopyStepDetails) WorkflowStepCopyStepDetails { +func (o WorkflowStepCustomStepDetailsPtrOutput) Elem() WorkflowStepCustomStepDetailsOutput { + return o.ApplyT(func(v *WorkflowStepCustomStepDetails) WorkflowStepCustomStepDetails { if v != nil { return *v } - var ret WorkflowStepCopyStepDetails + var ret WorkflowStepCustomStepDetails return ret - }).(WorkflowStepCopyStepDetailsOutput) + }).(WorkflowStepCustomStepDetailsOutput) } -// Specifies the location for the file being copied. Use ${Transfer:username} in this field to parametrize the destination prefix by username. -func (o WorkflowStepCopyStepDetailsPtrOutput) DestinationFileLocation() WorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput { - return o.ApplyT(func(v *WorkflowStepCopyStepDetails) *WorkflowStepCopyStepDetailsDestinationFileLocation { +// The name of the step, used as an identifier. +func (o WorkflowStepCustomStepDetailsPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WorkflowStepCustomStepDetails) *string { if v == nil { return nil } - return v.DestinationFileLocation - }).(WorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput) + return v.Name + }).(pulumi.StringPtrOutput) } -// The name of the step, used as an identifier. -func (o WorkflowStepCopyStepDetailsPtrOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v *WorkflowStepCopyStepDetails) *string { +// Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. +func (o WorkflowStepCustomStepDetailsPtrOutput) SourceFileLocation() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WorkflowStepCustomStepDetails) *string { if v == nil { return nil } - return v.Name + return v.SourceFileLocation }).(pulumi.StringPtrOutput) } -// A flag that indicates whether or not to overwrite an existing file of the same name. The default is `FALSE`. Valid values are `TRUE` and `FALSE`. -func (o WorkflowStepCopyStepDetailsPtrOutput) OverwriteExisting() pulumi.StringPtrOutput { - return o.ApplyT(func(v *WorkflowStepCopyStepDetails) *string { +// The ARN for the lambda function that is being called. +func (o WorkflowStepCustomStepDetailsPtrOutput) Target() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WorkflowStepCustomStepDetails) *string { if v == nil { return nil } - return v.OverwriteExisting + return v.Target }).(pulumi.StringPtrOutput) } -// Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. -func (o WorkflowStepCopyStepDetailsPtrOutput) SourceFileLocation() pulumi.StringPtrOutput { - return o.ApplyT(func(v *WorkflowStepCopyStepDetails) *string { +// Timeout, in seconds, for the step. +func (o WorkflowStepCustomStepDetailsPtrOutput) TimeoutSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v *WorkflowStepCustomStepDetails) *int { if v == nil { return nil } - return v.SourceFileLocation - }).(pulumi.StringPtrOutput) + return v.TimeoutSeconds + }).(pulumi.IntPtrOutput) } -type WorkflowStepCopyStepDetailsDestinationFileLocation struct { - // Specifies the details for the EFS file being copied. - EfsFileLocation *WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocation `pulumi:"efsFileLocation"` - // Specifies the details for the S3 file being copied. - S3FileLocation *WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocation `pulumi:"s3FileLocation"` +type WorkflowStepDecryptStepDetails struct { + // Specifies the location for the file being copied. Use ${Transfer:username} in this field to parametrize the destination prefix by username. + DestinationFileLocation *WorkflowStepDecryptStepDetailsDestinationFileLocation `pulumi:"destinationFileLocation"` + // The name of the step, used as an identifier. + Name *string `pulumi:"name"` + // A flag that indicates whether or not to overwrite an existing file of the same name. The default is `FALSE`. Valid values are `TRUE` and `FALSE`. + OverwriteExisting *string `pulumi:"overwriteExisting"` + // Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. + SourceFileLocation *string `pulumi:"sourceFileLocation"` + // The type of encryption used. Currently, this value must be `"PGP"`. + Type string `pulumi:"type"` } -// WorkflowStepCopyStepDetailsDestinationFileLocationInput is an input type that accepts WorkflowStepCopyStepDetailsDestinationFileLocationArgs and WorkflowStepCopyStepDetailsDestinationFileLocationOutput values. -// You can construct a concrete instance of `WorkflowStepCopyStepDetailsDestinationFileLocationInput` via: +// WorkflowStepDecryptStepDetailsInput is an input type that accepts WorkflowStepDecryptStepDetailsArgs and WorkflowStepDecryptStepDetailsOutput values. +// You can construct a concrete instance of `WorkflowStepDecryptStepDetailsInput` via: // -// WorkflowStepCopyStepDetailsDestinationFileLocationArgs{...} -type WorkflowStepCopyStepDetailsDestinationFileLocationInput interface { +// WorkflowStepDecryptStepDetailsArgs{...} +type WorkflowStepDecryptStepDetailsInput interface { pulumi.Input - ToWorkflowStepCopyStepDetailsDestinationFileLocationOutput() WorkflowStepCopyStepDetailsDestinationFileLocationOutput - ToWorkflowStepCopyStepDetailsDestinationFileLocationOutputWithContext(context.Context) WorkflowStepCopyStepDetailsDestinationFileLocationOutput + ToWorkflowStepDecryptStepDetailsOutput() WorkflowStepDecryptStepDetailsOutput + ToWorkflowStepDecryptStepDetailsOutputWithContext(context.Context) WorkflowStepDecryptStepDetailsOutput } -type WorkflowStepCopyStepDetailsDestinationFileLocationArgs struct { - // Specifies the details for the EFS file being copied. - EfsFileLocation WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrInput `pulumi:"efsFileLocation"` - // Specifies the details for the S3 file being copied. - S3FileLocation WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrInput `pulumi:"s3FileLocation"` +type WorkflowStepDecryptStepDetailsArgs struct { + // Specifies the location for the file being copied. Use ${Transfer:username} in this field to parametrize the destination prefix by username. + DestinationFileLocation WorkflowStepDecryptStepDetailsDestinationFileLocationPtrInput `pulumi:"destinationFileLocation"` + // The name of the step, used as an identifier. + Name pulumi.StringPtrInput `pulumi:"name"` + // A flag that indicates whether or not to overwrite an existing file of the same name. The default is `FALSE`. Valid values are `TRUE` and `FALSE`. + OverwriteExisting pulumi.StringPtrInput `pulumi:"overwriteExisting"` + // Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. + SourceFileLocation pulumi.StringPtrInput `pulumi:"sourceFileLocation"` + // The type of encryption used. Currently, this value must be `"PGP"`. + Type pulumi.StringInput `pulumi:"type"` } -func (WorkflowStepCopyStepDetailsDestinationFileLocationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*WorkflowStepCopyStepDetailsDestinationFileLocation)(nil)).Elem() +func (WorkflowStepDecryptStepDetailsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WorkflowStepDecryptStepDetails)(nil)).Elem() } -func (i WorkflowStepCopyStepDetailsDestinationFileLocationArgs) ToWorkflowStepCopyStepDetailsDestinationFileLocationOutput() WorkflowStepCopyStepDetailsDestinationFileLocationOutput { - return i.ToWorkflowStepCopyStepDetailsDestinationFileLocationOutputWithContext(context.Background()) +func (i WorkflowStepDecryptStepDetailsArgs) ToWorkflowStepDecryptStepDetailsOutput() WorkflowStepDecryptStepDetailsOutput { + return i.ToWorkflowStepDecryptStepDetailsOutputWithContext(context.Background()) } -func (i WorkflowStepCopyStepDetailsDestinationFileLocationArgs) ToWorkflowStepCopyStepDetailsDestinationFileLocationOutputWithContext(ctx context.Context) WorkflowStepCopyStepDetailsDestinationFileLocationOutput { - return pulumi.ToOutputWithContext(ctx, i).(WorkflowStepCopyStepDetailsDestinationFileLocationOutput) +func (i WorkflowStepDecryptStepDetailsArgs) ToWorkflowStepDecryptStepDetailsOutputWithContext(ctx context.Context) WorkflowStepDecryptStepDetailsOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkflowStepDecryptStepDetailsOutput) } -func (i WorkflowStepCopyStepDetailsDestinationFileLocationArgs) ToWorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput() WorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput { - return i.ToWorkflowStepCopyStepDetailsDestinationFileLocationPtrOutputWithContext(context.Background()) +func (i WorkflowStepDecryptStepDetailsArgs) ToWorkflowStepDecryptStepDetailsPtrOutput() WorkflowStepDecryptStepDetailsPtrOutput { + return i.ToWorkflowStepDecryptStepDetailsPtrOutputWithContext(context.Background()) } -func (i WorkflowStepCopyStepDetailsDestinationFileLocationArgs) ToWorkflowStepCopyStepDetailsDestinationFileLocationPtrOutputWithContext(ctx context.Context) WorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(WorkflowStepCopyStepDetailsDestinationFileLocationOutput).ToWorkflowStepCopyStepDetailsDestinationFileLocationPtrOutputWithContext(ctx) +func (i WorkflowStepDecryptStepDetailsArgs) ToWorkflowStepDecryptStepDetailsPtrOutputWithContext(ctx context.Context) WorkflowStepDecryptStepDetailsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkflowStepDecryptStepDetailsOutput).ToWorkflowStepDecryptStepDetailsPtrOutputWithContext(ctx) } -// WorkflowStepCopyStepDetailsDestinationFileLocationPtrInput is an input type that accepts WorkflowStepCopyStepDetailsDestinationFileLocationArgs, WorkflowStepCopyStepDetailsDestinationFileLocationPtr and WorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput values. -// You can construct a concrete instance of `WorkflowStepCopyStepDetailsDestinationFileLocationPtrInput` via: +// WorkflowStepDecryptStepDetailsPtrInput is an input type that accepts WorkflowStepDecryptStepDetailsArgs, WorkflowStepDecryptStepDetailsPtr and WorkflowStepDecryptStepDetailsPtrOutput values. +// You can construct a concrete instance of `WorkflowStepDecryptStepDetailsPtrInput` via: // -// WorkflowStepCopyStepDetailsDestinationFileLocationArgs{...} +// WorkflowStepDecryptStepDetailsArgs{...} // // or: // // nil -type WorkflowStepCopyStepDetailsDestinationFileLocationPtrInput interface { +type WorkflowStepDecryptStepDetailsPtrInput interface { pulumi.Input - ToWorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput() WorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput - ToWorkflowStepCopyStepDetailsDestinationFileLocationPtrOutputWithContext(context.Context) WorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput + ToWorkflowStepDecryptStepDetailsPtrOutput() WorkflowStepDecryptStepDetailsPtrOutput + ToWorkflowStepDecryptStepDetailsPtrOutputWithContext(context.Context) WorkflowStepDecryptStepDetailsPtrOutput } -type workflowStepCopyStepDetailsDestinationFileLocationPtrType WorkflowStepCopyStepDetailsDestinationFileLocationArgs +type workflowStepDecryptStepDetailsPtrType WorkflowStepDecryptStepDetailsArgs -func WorkflowStepCopyStepDetailsDestinationFileLocationPtr(v *WorkflowStepCopyStepDetailsDestinationFileLocationArgs) WorkflowStepCopyStepDetailsDestinationFileLocationPtrInput { - return (*workflowStepCopyStepDetailsDestinationFileLocationPtrType)(v) +func WorkflowStepDecryptStepDetailsPtr(v *WorkflowStepDecryptStepDetailsArgs) WorkflowStepDecryptStepDetailsPtrInput { + return (*workflowStepDecryptStepDetailsPtrType)(v) } -func (*workflowStepCopyStepDetailsDestinationFileLocationPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**WorkflowStepCopyStepDetailsDestinationFileLocation)(nil)).Elem() +func (*workflowStepDecryptStepDetailsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WorkflowStepDecryptStepDetails)(nil)).Elem() } -func (i *workflowStepCopyStepDetailsDestinationFileLocationPtrType) ToWorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput() WorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput { - return i.ToWorkflowStepCopyStepDetailsDestinationFileLocationPtrOutputWithContext(context.Background()) +func (i *workflowStepDecryptStepDetailsPtrType) ToWorkflowStepDecryptStepDetailsPtrOutput() WorkflowStepDecryptStepDetailsPtrOutput { + return i.ToWorkflowStepDecryptStepDetailsPtrOutputWithContext(context.Background()) } -func (i *workflowStepCopyStepDetailsDestinationFileLocationPtrType) ToWorkflowStepCopyStepDetailsDestinationFileLocationPtrOutputWithContext(ctx context.Context) WorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(WorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput) +func (i *workflowStepDecryptStepDetailsPtrType) ToWorkflowStepDecryptStepDetailsPtrOutputWithContext(ctx context.Context) WorkflowStepDecryptStepDetailsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkflowStepDecryptStepDetailsPtrOutput) } -type WorkflowStepCopyStepDetailsDestinationFileLocationOutput struct{ *pulumi.OutputState } +type WorkflowStepDecryptStepDetailsOutput struct{ *pulumi.OutputState } -func (WorkflowStepCopyStepDetailsDestinationFileLocationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*WorkflowStepCopyStepDetailsDestinationFileLocation)(nil)).Elem() +func (WorkflowStepDecryptStepDetailsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WorkflowStepDecryptStepDetails)(nil)).Elem() } -func (o WorkflowStepCopyStepDetailsDestinationFileLocationOutput) ToWorkflowStepCopyStepDetailsDestinationFileLocationOutput() WorkflowStepCopyStepDetailsDestinationFileLocationOutput { +func (o WorkflowStepDecryptStepDetailsOutput) ToWorkflowStepDecryptStepDetailsOutput() WorkflowStepDecryptStepDetailsOutput { return o } -func (o WorkflowStepCopyStepDetailsDestinationFileLocationOutput) ToWorkflowStepCopyStepDetailsDestinationFileLocationOutputWithContext(ctx context.Context) WorkflowStepCopyStepDetailsDestinationFileLocationOutput { +func (o WorkflowStepDecryptStepDetailsOutput) ToWorkflowStepDecryptStepDetailsOutputWithContext(ctx context.Context) WorkflowStepDecryptStepDetailsOutput { return o } -func (o WorkflowStepCopyStepDetailsDestinationFileLocationOutput) ToWorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput() WorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput { - return o.ToWorkflowStepCopyStepDetailsDestinationFileLocationPtrOutputWithContext(context.Background()) +func (o WorkflowStepDecryptStepDetailsOutput) ToWorkflowStepDecryptStepDetailsPtrOutput() WorkflowStepDecryptStepDetailsPtrOutput { + return o.ToWorkflowStepDecryptStepDetailsPtrOutputWithContext(context.Background()) } -func (o WorkflowStepCopyStepDetailsDestinationFileLocationOutput) ToWorkflowStepCopyStepDetailsDestinationFileLocationPtrOutputWithContext(ctx context.Context) WorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v WorkflowStepCopyStepDetailsDestinationFileLocation) *WorkflowStepCopyStepDetailsDestinationFileLocation { +func (o WorkflowStepDecryptStepDetailsOutput) ToWorkflowStepDecryptStepDetailsPtrOutputWithContext(ctx context.Context) WorkflowStepDecryptStepDetailsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WorkflowStepDecryptStepDetails) *WorkflowStepDecryptStepDetails { return &v - }).(WorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput) + }).(WorkflowStepDecryptStepDetailsPtrOutput) } -// Specifies the details for the EFS file being copied. -func (o WorkflowStepCopyStepDetailsDestinationFileLocationOutput) EfsFileLocation() WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput { - return o.ApplyT(func(v WorkflowStepCopyStepDetailsDestinationFileLocation) *WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocation { - return v.EfsFileLocation - }).(WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput) +// Specifies the location for the file being copied. Use ${Transfer:username} in this field to parametrize the destination prefix by username. +func (o WorkflowStepDecryptStepDetailsOutput) DestinationFileLocation() WorkflowStepDecryptStepDetailsDestinationFileLocationPtrOutput { + return o.ApplyT(func(v WorkflowStepDecryptStepDetails) *WorkflowStepDecryptStepDetailsDestinationFileLocation { + return v.DestinationFileLocation + }).(WorkflowStepDecryptStepDetailsDestinationFileLocationPtrOutput) } -// Specifies the details for the S3 file being copied. -func (o WorkflowStepCopyStepDetailsDestinationFileLocationOutput) S3FileLocation() WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput { - return o.ApplyT(func(v WorkflowStepCopyStepDetailsDestinationFileLocation) *WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocation { - return v.S3FileLocation - }).(WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput) +// The name of the step, used as an identifier. +func (o WorkflowStepDecryptStepDetailsOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v WorkflowStepDecryptStepDetails) *string { return v.Name }).(pulumi.StringPtrOutput) } -type WorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput struct{ *pulumi.OutputState } +// A flag that indicates whether or not to overwrite an existing file of the same name. The default is `FALSE`. Valid values are `TRUE` and `FALSE`. +func (o WorkflowStepDecryptStepDetailsOutput) OverwriteExisting() pulumi.StringPtrOutput { + return o.ApplyT(func(v WorkflowStepDecryptStepDetails) *string { return v.OverwriteExisting }).(pulumi.StringPtrOutput) +} -func (WorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**WorkflowStepCopyStepDetailsDestinationFileLocation)(nil)).Elem() +// Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. +func (o WorkflowStepDecryptStepDetailsOutput) SourceFileLocation() pulumi.StringPtrOutput { + return o.ApplyT(func(v WorkflowStepDecryptStepDetails) *string { return v.SourceFileLocation }).(pulumi.StringPtrOutput) } -func (o WorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput) ToWorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput() WorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput { +// The type of encryption used. Currently, this value must be `"PGP"`. +func (o WorkflowStepDecryptStepDetailsOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v WorkflowStepDecryptStepDetails) string { return v.Type }).(pulumi.StringOutput) +} + +type WorkflowStepDecryptStepDetailsPtrOutput struct{ *pulumi.OutputState } + +func (WorkflowStepDecryptStepDetailsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WorkflowStepDecryptStepDetails)(nil)).Elem() +} + +func (o WorkflowStepDecryptStepDetailsPtrOutput) ToWorkflowStepDecryptStepDetailsPtrOutput() WorkflowStepDecryptStepDetailsPtrOutput { return o } -func (o WorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput) ToWorkflowStepCopyStepDetailsDestinationFileLocationPtrOutputWithContext(ctx context.Context) WorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput { +func (o WorkflowStepDecryptStepDetailsPtrOutput) ToWorkflowStepDecryptStepDetailsPtrOutputWithContext(ctx context.Context) WorkflowStepDecryptStepDetailsPtrOutput { return o } -func (o WorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput) Elem() WorkflowStepCopyStepDetailsDestinationFileLocationOutput { - return o.ApplyT(func(v *WorkflowStepCopyStepDetailsDestinationFileLocation) WorkflowStepCopyStepDetailsDestinationFileLocation { +func (o WorkflowStepDecryptStepDetailsPtrOutput) Elem() WorkflowStepDecryptStepDetailsOutput { + return o.ApplyT(func(v *WorkflowStepDecryptStepDetails) WorkflowStepDecryptStepDetails { if v != nil { return *v } - var ret WorkflowStepCopyStepDetailsDestinationFileLocation + var ret WorkflowStepDecryptStepDetails return ret - }).(WorkflowStepCopyStepDetailsDestinationFileLocationOutput) + }).(WorkflowStepDecryptStepDetailsOutput) } -// Specifies the details for the EFS file being copied. -func (o WorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput) EfsFileLocation() WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput { - return o.ApplyT(func(v *WorkflowStepCopyStepDetailsDestinationFileLocation) *WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocation { +// Specifies the location for the file being copied. Use ${Transfer:username} in this field to parametrize the destination prefix by username. +func (o WorkflowStepDecryptStepDetailsPtrOutput) DestinationFileLocation() WorkflowStepDecryptStepDetailsDestinationFileLocationPtrOutput { + return o.ApplyT(func(v *WorkflowStepDecryptStepDetails) *WorkflowStepDecryptStepDetailsDestinationFileLocation { if v == nil { return nil } - return v.EfsFileLocation - }).(WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput) + return v.DestinationFileLocation + }).(WorkflowStepDecryptStepDetailsDestinationFileLocationPtrOutput) } -// Specifies the details for the S3 file being copied. -func (o WorkflowStepCopyStepDetailsDestinationFileLocationPtrOutput) S3FileLocation() WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput { - return o.ApplyT(func(v *WorkflowStepCopyStepDetailsDestinationFileLocation) *WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocation { +// The name of the step, used as an identifier. +func (o WorkflowStepDecryptStepDetailsPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WorkflowStepDecryptStepDetails) *string { if v == nil { return nil } - return v.S3FileLocation - }).(WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput) + return v.Name + }).(pulumi.StringPtrOutput) } -type WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocation struct { - // The ID of the file system, assigned by Amazon EFS. - FileSystemId *string `pulumi:"fileSystemId"` - // The pathname for the folder being used by a workflow. - Path *string `pulumi:"path"` +// A flag that indicates whether or not to overwrite an existing file of the same name. The default is `FALSE`. Valid values are `TRUE` and `FALSE`. +func (o WorkflowStepDecryptStepDetailsPtrOutput) OverwriteExisting() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WorkflowStepDecryptStepDetails) *string { + if v == nil { + return nil + } + return v.OverwriteExisting + }).(pulumi.StringPtrOutput) } -// WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationInput is an input type that accepts WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationArgs and WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationOutput values. -// You can construct a concrete instance of `WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationInput` via: +// Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. +func (o WorkflowStepDecryptStepDetailsPtrOutput) SourceFileLocation() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WorkflowStepDecryptStepDetails) *string { + if v == nil { + return nil + } + return v.SourceFileLocation + }).(pulumi.StringPtrOutput) +} + +// The type of encryption used. Currently, this value must be `"PGP"`. +func (o WorkflowStepDecryptStepDetailsPtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WorkflowStepDecryptStepDetails) *string { + if v == nil { + return nil + } + return &v.Type + }).(pulumi.StringPtrOutput) +} + +type WorkflowStepDecryptStepDetailsDestinationFileLocation struct { + // Specifies the details for the EFS file being copied. + EfsFileLocation *WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocation `pulumi:"efsFileLocation"` + // Specifies the details for the S3 file being copied. + S3FileLocation *WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocation `pulumi:"s3FileLocation"` +} + +// WorkflowStepDecryptStepDetailsDestinationFileLocationInput is an input type that accepts WorkflowStepDecryptStepDetailsDestinationFileLocationArgs and WorkflowStepDecryptStepDetailsDestinationFileLocationOutput values. +// You can construct a concrete instance of `WorkflowStepDecryptStepDetailsDestinationFileLocationInput` via: // -// WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationArgs{...} -type WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationInput interface { +// WorkflowStepDecryptStepDetailsDestinationFileLocationArgs{...} +type WorkflowStepDecryptStepDetailsDestinationFileLocationInput interface { pulumi.Input - ToWorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationOutput() WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationOutput - ToWorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationOutputWithContext(context.Context) WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationOutput + ToWorkflowStepDecryptStepDetailsDestinationFileLocationOutput() WorkflowStepDecryptStepDetailsDestinationFileLocationOutput + ToWorkflowStepDecryptStepDetailsDestinationFileLocationOutputWithContext(context.Context) WorkflowStepDecryptStepDetailsDestinationFileLocationOutput } -type WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationArgs struct { - // The ID of the file system, assigned by Amazon EFS. - FileSystemId pulumi.StringPtrInput `pulumi:"fileSystemId"` - // The pathname for the folder being used by a workflow. - Path pulumi.StringPtrInput `pulumi:"path"` +type WorkflowStepDecryptStepDetailsDestinationFileLocationArgs struct { + // Specifies the details for the EFS file being copied. + EfsFileLocation WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrInput `pulumi:"efsFileLocation"` + // Specifies the details for the S3 file being copied. + S3FileLocation WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrInput `pulumi:"s3FileLocation"` } -func (WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocation)(nil)).Elem() +func (WorkflowStepDecryptStepDetailsDestinationFileLocationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WorkflowStepDecryptStepDetailsDestinationFileLocation)(nil)).Elem() } -func (i WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationArgs) ToWorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationOutput() WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationOutput { - return i.ToWorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationOutputWithContext(context.Background()) +func (i WorkflowStepDecryptStepDetailsDestinationFileLocationArgs) ToWorkflowStepDecryptStepDetailsDestinationFileLocationOutput() WorkflowStepDecryptStepDetailsDestinationFileLocationOutput { + return i.ToWorkflowStepDecryptStepDetailsDestinationFileLocationOutputWithContext(context.Background()) } -func (i WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationArgs) ToWorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationOutputWithContext(ctx context.Context) WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationOutput { - return pulumi.ToOutputWithContext(ctx, i).(WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationOutput) +func (i WorkflowStepDecryptStepDetailsDestinationFileLocationArgs) ToWorkflowStepDecryptStepDetailsDestinationFileLocationOutputWithContext(ctx context.Context) WorkflowStepDecryptStepDetailsDestinationFileLocationOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkflowStepDecryptStepDetailsDestinationFileLocationOutput) } -func (i WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationArgs) ToWorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput() WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput { - return i.ToWorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutputWithContext(context.Background()) +func (i WorkflowStepDecryptStepDetailsDestinationFileLocationArgs) ToWorkflowStepDecryptStepDetailsDestinationFileLocationPtrOutput() WorkflowStepDecryptStepDetailsDestinationFileLocationPtrOutput { + return i.ToWorkflowStepDecryptStepDetailsDestinationFileLocationPtrOutputWithContext(context.Background()) } -func (i WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationArgs) ToWorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutputWithContext(ctx context.Context) WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationOutput).ToWorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutputWithContext(ctx) +func (i WorkflowStepDecryptStepDetailsDestinationFileLocationArgs) ToWorkflowStepDecryptStepDetailsDestinationFileLocationPtrOutputWithContext(ctx context.Context) WorkflowStepDecryptStepDetailsDestinationFileLocationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkflowStepDecryptStepDetailsDestinationFileLocationOutput).ToWorkflowStepDecryptStepDetailsDestinationFileLocationPtrOutputWithContext(ctx) } -// WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrInput is an input type that accepts WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationArgs, WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtr and WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput values. -// You can construct a concrete instance of `WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrInput` via: +// WorkflowStepDecryptStepDetailsDestinationFileLocationPtrInput is an input type that accepts WorkflowStepDecryptStepDetailsDestinationFileLocationArgs, WorkflowStepDecryptStepDetailsDestinationFileLocationPtr and WorkflowStepDecryptStepDetailsDestinationFileLocationPtrOutput values. +// You can construct a concrete instance of `WorkflowStepDecryptStepDetailsDestinationFileLocationPtrInput` via: // -// WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationArgs{...} +// WorkflowStepDecryptStepDetailsDestinationFileLocationArgs{...} // // or: // // nil -type WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrInput interface { +type WorkflowStepDecryptStepDetailsDestinationFileLocationPtrInput interface { pulumi.Input - ToWorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput() WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput - ToWorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutputWithContext(context.Context) WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput + ToWorkflowStepDecryptStepDetailsDestinationFileLocationPtrOutput() WorkflowStepDecryptStepDetailsDestinationFileLocationPtrOutput + ToWorkflowStepDecryptStepDetailsDestinationFileLocationPtrOutputWithContext(context.Context) WorkflowStepDecryptStepDetailsDestinationFileLocationPtrOutput } -type workflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrType WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationArgs +type workflowStepDecryptStepDetailsDestinationFileLocationPtrType WorkflowStepDecryptStepDetailsDestinationFileLocationArgs -func WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtr(v *WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationArgs) WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrInput { - return (*workflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrType)(v) +func WorkflowStepDecryptStepDetailsDestinationFileLocationPtr(v *WorkflowStepDecryptStepDetailsDestinationFileLocationArgs) WorkflowStepDecryptStepDetailsDestinationFileLocationPtrInput { + return (*workflowStepDecryptStepDetailsDestinationFileLocationPtrType)(v) } -func (*workflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocation)(nil)).Elem() +func (*workflowStepDecryptStepDetailsDestinationFileLocationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WorkflowStepDecryptStepDetailsDestinationFileLocation)(nil)).Elem() } -func (i *workflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrType) ToWorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput() WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput { - return i.ToWorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutputWithContext(context.Background()) +func (i *workflowStepDecryptStepDetailsDestinationFileLocationPtrType) ToWorkflowStepDecryptStepDetailsDestinationFileLocationPtrOutput() WorkflowStepDecryptStepDetailsDestinationFileLocationPtrOutput { + return i.ToWorkflowStepDecryptStepDetailsDestinationFileLocationPtrOutputWithContext(context.Background()) } -func (i *workflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrType) ToWorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutputWithContext(ctx context.Context) WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput) +func (i *workflowStepDecryptStepDetailsDestinationFileLocationPtrType) ToWorkflowStepDecryptStepDetailsDestinationFileLocationPtrOutputWithContext(ctx context.Context) WorkflowStepDecryptStepDetailsDestinationFileLocationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkflowStepDecryptStepDetailsDestinationFileLocationPtrOutput) } -type WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationOutput struct{ *pulumi.OutputState } +type WorkflowStepDecryptStepDetailsDestinationFileLocationOutput struct{ *pulumi.OutputState } -func (WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocation)(nil)).Elem() +func (WorkflowStepDecryptStepDetailsDestinationFileLocationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WorkflowStepDecryptStepDetailsDestinationFileLocation)(nil)).Elem() } -func (o WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationOutput) ToWorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationOutput() WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationOutput { +func (o WorkflowStepDecryptStepDetailsDestinationFileLocationOutput) ToWorkflowStepDecryptStepDetailsDestinationFileLocationOutput() WorkflowStepDecryptStepDetailsDestinationFileLocationOutput { return o } -func (o WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationOutput) ToWorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationOutputWithContext(ctx context.Context) WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationOutput { +func (o WorkflowStepDecryptStepDetailsDestinationFileLocationOutput) ToWorkflowStepDecryptStepDetailsDestinationFileLocationOutputWithContext(ctx context.Context) WorkflowStepDecryptStepDetailsDestinationFileLocationOutput { return o } -func (o WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationOutput) ToWorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput() WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput { - return o.ToWorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutputWithContext(context.Background()) +func (o WorkflowStepDecryptStepDetailsDestinationFileLocationOutput) ToWorkflowStepDecryptStepDetailsDestinationFileLocationPtrOutput() WorkflowStepDecryptStepDetailsDestinationFileLocationPtrOutput { + return o.ToWorkflowStepDecryptStepDetailsDestinationFileLocationPtrOutputWithContext(context.Background()) } -func (o WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationOutput) ToWorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutputWithContext(ctx context.Context) WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocation) *WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocation { +func (o WorkflowStepDecryptStepDetailsDestinationFileLocationOutput) ToWorkflowStepDecryptStepDetailsDestinationFileLocationPtrOutputWithContext(ctx context.Context) WorkflowStepDecryptStepDetailsDestinationFileLocationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WorkflowStepDecryptStepDetailsDestinationFileLocation) *WorkflowStepDecryptStepDetailsDestinationFileLocation { return &v - }).(WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput) + }).(WorkflowStepDecryptStepDetailsDestinationFileLocationPtrOutput) } -// The ID of the file system, assigned by Amazon EFS. -func (o WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationOutput) FileSystemId() pulumi.StringPtrOutput { - return o.ApplyT(func(v WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocation) *string { - return v.FileSystemId - }).(pulumi.StringPtrOutput) +// Specifies the details for the EFS file being copied. +func (o WorkflowStepDecryptStepDetailsDestinationFileLocationOutput) EfsFileLocation() WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput { + return o.ApplyT(func(v WorkflowStepDecryptStepDetailsDestinationFileLocation) *WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocation { + return v.EfsFileLocation + }).(WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput) } -// The pathname for the folder being used by a workflow. -func (o WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationOutput) Path() pulumi.StringPtrOutput { - return o.ApplyT(func(v WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocation) *string { return v.Path }).(pulumi.StringPtrOutput) +// Specifies the details for the S3 file being copied. +func (o WorkflowStepDecryptStepDetailsDestinationFileLocationOutput) S3FileLocation() WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput { + return o.ApplyT(func(v WorkflowStepDecryptStepDetailsDestinationFileLocation) *WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocation { + return v.S3FileLocation + }).(WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput) } -type WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput struct{ *pulumi.OutputState } +type WorkflowStepDecryptStepDetailsDestinationFileLocationPtrOutput struct{ *pulumi.OutputState } -func (WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocation)(nil)).Elem() +func (WorkflowStepDecryptStepDetailsDestinationFileLocationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WorkflowStepDecryptStepDetailsDestinationFileLocation)(nil)).Elem() } -func (o WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput) ToWorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput() WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput { +func (o WorkflowStepDecryptStepDetailsDestinationFileLocationPtrOutput) ToWorkflowStepDecryptStepDetailsDestinationFileLocationPtrOutput() WorkflowStepDecryptStepDetailsDestinationFileLocationPtrOutput { return o } -func (o WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput) ToWorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutputWithContext(ctx context.Context) WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput { +func (o WorkflowStepDecryptStepDetailsDestinationFileLocationPtrOutput) ToWorkflowStepDecryptStepDetailsDestinationFileLocationPtrOutputWithContext(ctx context.Context) WorkflowStepDecryptStepDetailsDestinationFileLocationPtrOutput { return o } -func (o WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput) Elem() WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationOutput { - return o.ApplyT(func(v *WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocation) WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocation { +func (o WorkflowStepDecryptStepDetailsDestinationFileLocationPtrOutput) Elem() WorkflowStepDecryptStepDetailsDestinationFileLocationOutput { + return o.ApplyT(func(v *WorkflowStepDecryptStepDetailsDestinationFileLocation) WorkflowStepDecryptStepDetailsDestinationFileLocation { if v != nil { return *v } - var ret WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocation + var ret WorkflowStepDecryptStepDetailsDestinationFileLocation return ret - }).(WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationOutput) + }).(WorkflowStepDecryptStepDetailsDestinationFileLocationOutput) } -// The ID of the file system, assigned by Amazon EFS. -func (o WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput) FileSystemId() pulumi.StringPtrOutput { - return o.ApplyT(func(v *WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocation) *string { +// Specifies the details for the EFS file being copied. +func (o WorkflowStepDecryptStepDetailsDestinationFileLocationPtrOutput) EfsFileLocation() WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput { + return o.ApplyT(func(v *WorkflowStepDecryptStepDetailsDestinationFileLocation) *WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocation { if v == nil { return nil } - return v.FileSystemId - }).(pulumi.StringPtrOutput) + return v.EfsFileLocation + }).(WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput) } -// The pathname for the folder being used by a workflow. -func (o WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationPtrOutput) Path() pulumi.StringPtrOutput { - return o.ApplyT(func(v *WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocation) *string { +// Specifies the details for the S3 file being copied. +func (o WorkflowStepDecryptStepDetailsDestinationFileLocationPtrOutput) S3FileLocation() WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput { + return o.ApplyT(func(v *WorkflowStepDecryptStepDetailsDestinationFileLocation) *WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocation { if v == nil { return nil } - return v.Path - }).(pulumi.StringPtrOutput) + return v.S3FileLocation + }).(WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput) } -type WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocation struct { - // Specifies the S3 bucket for the customer input file. - Bucket *string `pulumi:"bucket"` - // The name assigned to the file when it was created in S3. You use the object key to retrieve the object. - Key *string `pulumi:"key"` +type WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocation struct { + // The ID of the file system, assigned by Amazon EFS. + FileSystemId *string `pulumi:"fileSystemId"` + // The pathname for the folder being used by a workflow. + Path *string `pulumi:"path"` } -// WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationInput is an input type that accepts WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationArgs and WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationOutput values. -// You can construct a concrete instance of `WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationInput` via: +// WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationInput is an input type that accepts WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs and WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationOutput values. +// You can construct a concrete instance of `WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationInput` via: // -// WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationArgs{...} -type WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationInput interface { +// WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs{...} +type WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationInput interface { pulumi.Input - ToWorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationOutput() WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationOutput - ToWorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationOutputWithContext(context.Context) WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationOutput + ToWorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationOutput() WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationOutput + ToWorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationOutputWithContext(context.Context) WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationOutput } -type WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationArgs struct { - // Specifies the S3 bucket for the customer input file. - Bucket pulumi.StringPtrInput `pulumi:"bucket"` - // The name assigned to the file when it was created in S3. You use the object key to retrieve the object. - Key pulumi.StringPtrInput `pulumi:"key"` +type WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs struct { + // The ID of the file system, assigned by Amazon EFS. + FileSystemId pulumi.StringPtrInput `pulumi:"fileSystemId"` + // The pathname for the folder being used by a workflow. + Path pulumi.StringPtrInput `pulumi:"path"` } -func (WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocation)(nil)).Elem() +func (WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocation)(nil)).Elem() } -func (i WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationArgs) ToWorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationOutput() WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationOutput { - return i.ToWorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationOutputWithContext(context.Background()) +func (i WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs) ToWorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationOutput() WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationOutput { + return i.ToWorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationOutputWithContext(context.Background()) } -func (i WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationArgs) ToWorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationOutputWithContext(ctx context.Context) WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationOutput { - return pulumi.ToOutputWithContext(ctx, i).(WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationOutput) +func (i WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs) ToWorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationOutputWithContext(ctx context.Context) WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationOutput) } -func (i WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationArgs) ToWorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput() WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput { - return i.ToWorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutputWithContext(context.Background()) +func (i WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs) ToWorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput() WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput { + return i.ToWorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutputWithContext(context.Background()) } -func (i WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationArgs) ToWorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutputWithContext(ctx context.Context) WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationOutput).ToWorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutputWithContext(ctx) +func (i WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs) ToWorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutputWithContext(ctx context.Context) WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationOutput).ToWorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutputWithContext(ctx) } -// WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrInput is an input type that accepts WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationArgs, WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtr and WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput values. -// You can construct a concrete instance of `WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrInput` via: +// WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrInput is an input type that accepts WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs, WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtr and WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput values. +// You can construct a concrete instance of `WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrInput` via: // -// WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationArgs{...} +// WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs{...} // // or: // // nil -type WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrInput interface { +type WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrInput interface { pulumi.Input - ToWorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput() WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput - ToWorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutputWithContext(context.Context) WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput + ToWorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput() WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput + ToWorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutputWithContext(context.Context) WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput } -type workflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrType WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationArgs +type workflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrType WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs -func WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtr(v *WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationArgs) WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrInput { - return (*workflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrType)(v) +func WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtr(v *WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs) WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrInput { + return (*workflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrType)(v) } -func (*workflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocation)(nil)).Elem() +func (*workflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocation)(nil)).Elem() } -func (i *workflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrType) ToWorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput() WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput { - return i.ToWorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutputWithContext(context.Background()) +func (i *workflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrType) ToWorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput() WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput { + return i.ToWorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutputWithContext(context.Background()) } -func (i *workflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrType) ToWorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutputWithContext(ctx context.Context) WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput) +func (i *workflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrType) ToWorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutputWithContext(ctx context.Context) WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput) } -type WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationOutput struct{ *pulumi.OutputState } +type WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationOutput struct{ *pulumi.OutputState } -func (WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocation)(nil)).Elem() +func (WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocation)(nil)).Elem() } -func (o WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationOutput) ToWorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationOutput() WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationOutput { +func (o WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationOutput) ToWorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationOutput() WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationOutput { return o } -func (o WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationOutput) ToWorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationOutputWithContext(ctx context.Context) WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationOutput { +func (o WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationOutput) ToWorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationOutputWithContext(ctx context.Context) WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationOutput { return o } -func (o WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationOutput) ToWorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput() WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput { - return o.ToWorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutputWithContext(context.Background()) +func (o WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationOutput) ToWorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput() WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput { + return o.ToWorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutputWithContext(context.Background()) } -func (o WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationOutput) ToWorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutputWithContext(ctx context.Context) WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocation) *WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocation { +func (o WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationOutput) ToWorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutputWithContext(ctx context.Context) WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocation) *WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocation { return &v - }).(WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput) + }).(WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput) } -// Specifies the S3 bucket for the customer input file. -func (o WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationOutput) Bucket() pulumi.StringPtrOutput { - return o.ApplyT(func(v WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocation) *string { return v.Bucket }).(pulumi.StringPtrOutput) +// The ID of the file system, assigned by Amazon EFS. +func (o WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationOutput) FileSystemId() pulumi.StringPtrOutput { + return o.ApplyT(func(v WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocation) *string { + return v.FileSystemId + }).(pulumi.StringPtrOutput) } -// The name assigned to the file when it was created in S3. You use the object key to retrieve the object. -func (o WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationOutput) Key() pulumi.StringPtrOutput { - return o.ApplyT(func(v WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocation) *string { return v.Key }).(pulumi.StringPtrOutput) +// The pathname for the folder being used by a workflow. +func (o WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationOutput) Path() pulumi.StringPtrOutput { + return o.ApplyT(func(v WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocation) *string { return v.Path }).(pulumi.StringPtrOutput) } -type WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput struct{ *pulumi.OutputState } +type WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput struct{ *pulumi.OutputState } -func (WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocation)(nil)).Elem() +func (WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocation)(nil)).Elem() } -func (o WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput) ToWorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput() WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput { +func (o WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput) ToWorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput() WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput { return o } -func (o WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput) ToWorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutputWithContext(ctx context.Context) WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput { +func (o WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput) ToWorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutputWithContext(ctx context.Context) WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput { return o } -func (o WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput) Elem() WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationOutput { - return o.ApplyT(func(v *WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocation) WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocation { +func (o WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput) Elem() WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationOutput { + return o.ApplyT(func(v *WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocation) WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocation { if v != nil { return *v } - var ret WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocation + var ret WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocation return ret - }).(WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationOutput) + }).(WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationOutput) } -// Specifies the S3 bucket for the customer input file. -func (o WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput) Bucket() pulumi.StringPtrOutput { - return o.ApplyT(func(v *WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocation) *string { +// The ID of the file system, assigned by Amazon EFS. +func (o WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput) FileSystemId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocation) *string { if v == nil { return nil } - return v.Bucket + return v.FileSystemId }).(pulumi.StringPtrOutput) } -// The name assigned to the file when it was created in S3. You use the object key to retrieve the object. -func (o WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput) Key() pulumi.StringPtrOutput { - return o.ApplyT(func(v *WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocation) *string { +// The pathname for the folder being used by a workflow. +func (o WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput) Path() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocation) *string { if v == nil { return nil } - return v.Key + return v.Path }).(pulumi.StringPtrOutput) } -type WorkflowStepCustomStepDetails struct { - // The name of the step, used as an identifier. - Name *string `pulumi:"name"` - // Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. - SourceFileLocation *string `pulumi:"sourceFileLocation"` - // The ARN for the lambda function that is being called. - Target *string `pulumi:"target"` - // Timeout, in seconds, for the step. - TimeoutSeconds *int `pulumi:"timeoutSeconds"` +type WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocation struct { + // Specifies the S3 bucket for the customer input file. + Bucket *string `pulumi:"bucket"` + // The name assigned to the file when it was created in S3. You use the object key to retrieve the object. + Key *string `pulumi:"key"` } -// WorkflowStepCustomStepDetailsInput is an input type that accepts WorkflowStepCustomStepDetailsArgs and WorkflowStepCustomStepDetailsOutput values. -// You can construct a concrete instance of `WorkflowStepCustomStepDetailsInput` via: +// WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationInput is an input type that accepts WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs and WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationOutput values. +// You can construct a concrete instance of `WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationInput` via: // -// WorkflowStepCustomStepDetailsArgs{...} -type WorkflowStepCustomStepDetailsInput interface { +// WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs{...} +type WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationInput interface { pulumi.Input - ToWorkflowStepCustomStepDetailsOutput() WorkflowStepCustomStepDetailsOutput - ToWorkflowStepCustomStepDetailsOutputWithContext(context.Context) WorkflowStepCustomStepDetailsOutput + ToWorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationOutput() WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationOutput + ToWorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationOutputWithContext(context.Context) WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationOutput } -type WorkflowStepCustomStepDetailsArgs struct { - // The name of the step, used as an identifier. - Name pulumi.StringPtrInput `pulumi:"name"` - // Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. - SourceFileLocation pulumi.StringPtrInput `pulumi:"sourceFileLocation"` - // The ARN for the lambda function that is being called. - Target pulumi.StringPtrInput `pulumi:"target"` - // Timeout, in seconds, for the step. - TimeoutSeconds pulumi.IntPtrInput `pulumi:"timeoutSeconds"` +type WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs struct { + // Specifies the S3 bucket for the customer input file. + Bucket pulumi.StringPtrInput `pulumi:"bucket"` + // The name assigned to the file when it was created in S3. You use the object key to retrieve the object. + Key pulumi.StringPtrInput `pulumi:"key"` } -func (WorkflowStepCustomStepDetailsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*WorkflowStepCustomStepDetails)(nil)).Elem() +func (WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocation)(nil)).Elem() } -func (i WorkflowStepCustomStepDetailsArgs) ToWorkflowStepCustomStepDetailsOutput() WorkflowStepCustomStepDetailsOutput { - return i.ToWorkflowStepCustomStepDetailsOutputWithContext(context.Background()) +func (i WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs) ToWorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationOutput() WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationOutput { + return i.ToWorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationOutputWithContext(context.Background()) } -func (i WorkflowStepCustomStepDetailsArgs) ToWorkflowStepCustomStepDetailsOutputWithContext(ctx context.Context) WorkflowStepCustomStepDetailsOutput { - return pulumi.ToOutputWithContext(ctx, i).(WorkflowStepCustomStepDetailsOutput) +func (i WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs) ToWorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationOutputWithContext(ctx context.Context) WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationOutput) } -func (i WorkflowStepCustomStepDetailsArgs) ToWorkflowStepCustomStepDetailsPtrOutput() WorkflowStepCustomStepDetailsPtrOutput { - return i.ToWorkflowStepCustomStepDetailsPtrOutputWithContext(context.Background()) +func (i WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs) ToWorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput() WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput { + return i.ToWorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutputWithContext(context.Background()) } -func (i WorkflowStepCustomStepDetailsArgs) ToWorkflowStepCustomStepDetailsPtrOutputWithContext(ctx context.Context) WorkflowStepCustomStepDetailsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(WorkflowStepCustomStepDetailsOutput).ToWorkflowStepCustomStepDetailsPtrOutputWithContext(ctx) +func (i WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs) ToWorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutputWithContext(ctx context.Context) WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationOutput).ToWorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutputWithContext(ctx) } -// WorkflowStepCustomStepDetailsPtrInput is an input type that accepts WorkflowStepCustomStepDetailsArgs, WorkflowStepCustomStepDetailsPtr and WorkflowStepCustomStepDetailsPtrOutput values. -// You can construct a concrete instance of `WorkflowStepCustomStepDetailsPtrInput` via: +// WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrInput is an input type that accepts WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs, WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtr and WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput values. +// You can construct a concrete instance of `WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrInput` via: // -// WorkflowStepCustomStepDetailsArgs{...} +// WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs{...} // // or: // // nil -type WorkflowStepCustomStepDetailsPtrInput interface { +type WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrInput interface { pulumi.Input - ToWorkflowStepCustomStepDetailsPtrOutput() WorkflowStepCustomStepDetailsPtrOutput - ToWorkflowStepCustomStepDetailsPtrOutputWithContext(context.Context) WorkflowStepCustomStepDetailsPtrOutput + ToWorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput() WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput + ToWorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutputWithContext(context.Context) WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput } -type workflowStepCustomStepDetailsPtrType WorkflowStepCustomStepDetailsArgs +type workflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrType WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs -func WorkflowStepCustomStepDetailsPtr(v *WorkflowStepCustomStepDetailsArgs) WorkflowStepCustomStepDetailsPtrInput { - return (*workflowStepCustomStepDetailsPtrType)(v) +func WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtr(v *WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs) WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrInput { + return (*workflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrType)(v) } -func (*workflowStepCustomStepDetailsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**WorkflowStepCustomStepDetails)(nil)).Elem() +func (*workflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocation)(nil)).Elem() } -func (i *workflowStepCustomStepDetailsPtrType) ToWorkflowStepCustomStepDetailsPtrOutput() WorkflowStepCustomStepDetailsPtrOutput { - return i.ToWorkflowStepCustomStepDetailsPtrOutputWithContext(context.Background()) +func (i *workflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrType) ToWorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput() WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput { + return i.ToWorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutputWithContext(context.Background()) } -func (i *workflowStepCustomStepDetailsPtrType) ToWorkflowStepCustomStepDetailsPtrOutputWithContext(ctx context.Context) WorkflowStepCustomStepDetailsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(WorkflowStepCustomStepDetailsPtrOutput) +func (i *workflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrType) ToWorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutputWithContext(ctx context.Context) WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput) } -type WorkflowStepCustomStepDetailsOutput struct{ *pulumi.OutputState } +type WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationOutput struct{ *pulumi.OutputState } -func (WorkflowStepCustomStepDetailsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*WorkflowStepCustomStepDetails)(nil)).Elem() +func (WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocation)(nil)).Elem() } -func (o WorkflowStepCustomStepDetailsOutput) ToWorkflowStepCustomStepDetailsOutput() WorkflowStepCustomStepDetailsOutput { +func (o WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationOutput) ToWorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationOutput() WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationOutput { return o } -func (o WorkflowStepCustomStepDetailsOutput) ToWorkflowStepCustomStepDetailsOutputWithContext(ctx context.Context) WorkflowStepCustomStepDetailsOutput { +func (o WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationOutput) ToWorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationOutputWithContext(ctx context.Context) WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationOutput { return o } -func (o WorkflowStepCustomStepDetailsOutput) ToWorkflowStepCustomStepDetailsPtrOutput() WorkflowStepCustomStepDetailsPtrOutput { - return o.ToWorkflowStepCustomStepDetailsPtrOutputWithContext(context.Background()) +func (o WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationOutput) ToWorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput() WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput { + return o.ToWorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutputWithContext(context.Background()) } -func (o WorkflowStepCustomStepDetailsOutput) ToWorkflowStepCustomStepDetailsPtrOutputWithContext(ctx context.Context) WorkflowStepCustomStepDetailsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v WorkflowStepCustomStepDetails) *WorkflowStepCustomStepDetails { +func (o WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationOutput) ToWorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutputWithContext(ctx context.Context) WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocation) *WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocation { return &v - }).(WorkflowStepCustomStepDetailsPtrOutput) -} - -// The name of the step, used as an identifier. -func (o WorkflowStepCustomStepDetailsOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v WorkflowStepCustomStepDetails) *string { return v.Name }).(pulumi.StringPtrOutput) -} - -// Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. -func (o WorkflowStepCustomStepDetailsOutput) SourceFileLocation() pulumi.StringPtrOutput { - return o.ApplyT(func(v WorkflowStepCustomStepDetails) *string { return v.SourceFileLocation }).(pulumi.StringPtrOutput) + }).(WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput) } -// The ARN for the lambda function that is being called. -func (o WorkflowStepCustomStepDetailsOutput) Target() pulumi.StringPtrOutput { - return o.ApplyT(func(v WorkflowStepCustomStepDetails) *string { return v.Target }).(pulumi.StringPtrOutput) +// Specifies the S3 bucket for the customer input file. +func (o WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationOutput) Bucket() pulumi.StringPtrOutput { + return o.ApplyT(func(v WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocation) *string { return v.Bucket }).(pulumi.StringPtrOutput) } -// Timeout, in seconds, for the step. -func (o WorkflowStepCustomStepDetailsOutput) TimeoutSeconds() pulumi.IntPtrOutput { - return o.ApplyT(func(v WorkflowStepCustomStepDetails) *int { return v.TimeoutSeconds }).(pulumi.IntPtrOutput) +// The name assigned to the file when it was created in S3. You use the object key to retrieve the object. +func (o WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocation) *string { return v.Key }).(pulumi.StringPtrOutput) } -type WorkflowStepCustomStepDetailsPtrOutput struct{ *pulumi.OutputState } +type WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput struct{ *pulumi.OutputState } -func (WorkflowStepCustomStepDetailsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**WorkflowStepCustomStepDetails)(nil)).Elem() +func (WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocation)(nil)).Elem() } -func (o WorkflowStepCustomStepDetailsPtrOutput) ToWorkflowStepCustomStepDetailsPtrOutput() WorkflowStepCustomStepDetailsPtrOutput { +func (o WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput) ToWorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput() WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput { return o } -func (o WorkflowStepCustomStepDetailsPtrOutput) ToWorkflowStepCustomStepDetailsPtrOutputWithContext(ctx context.Context) WorkflowStepCustomStepDetailsPtrOutput { +func (o WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput) ToWorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutputWithContext(ctx context.Context) WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput { return o } -func (o WorkflowStepCustomStepDetailsPtrOutput) Elem() WorkflowStepCustomStepDetailsOutput { - return o.ApplyT(func(v *WorkflowStepCustomStepDetails) WorkflowStepCustomStepDetails { +func (o WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput) Elem() WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationOutput { + return o.ApplyT(func(v *WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocation) WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocation { if v != nil { return *v } - var ret WorkflowStepCustomStepDetails + var ret WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocation return ret - }).(WorkflowStepCustomStepDetailsOutput) + }).(WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationOutput) } -// The name of the step, used as an identifier. -func (o WorkflowStepCustomStepDetailsPtrOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v *WorkflowStepCustomStepDetails) *string { - if v == nil { - return nil - } - return v.Name - }).(pulumi.StringPtrOutput) -} - -// Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. -func (o WorkflowStepCustomStepDetailsPtrOutput) SourceFileLocation() pulumi.StringPtrOutput { - return o.ApplyT(func(v *WorkflowStepCustomStepDetails) *string { +// Specifies the S3 bucket for the customer input file. +func (o WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput) Bucket() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocation) *string { if v == nil { return nil } - return v.SourceFileLocation + return v.Bucket }).(pulumi.StringPtrOutput) } -// The ARN for the lambda function that is being called. -func (o WorkflowStepCustomStepDetailsPtrOutput) Target() pulumi.StringPtrOutput { - return o.ApplyT(func(v *WorkflowStepCustomStepDetails) *string { +// The name assigned to the file when it was created in S3. You use the object key to retrieve the object. +func (o WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocation) *string { if v == nil { return nil } - return v.Target + return v.Key }).(pulumi.StringPtrOutput) } -// Timeout, in seconds, for the step. -func (o WorkflowStepCustomStepDetailsPtrOutput) TimeoutSeconds() pulumi.IntPtrOutput { - return o.ApplyT(func(v *WorkflowStepCustomStepDetails) *int { - if v == nil { - return nil - } - return v.TimeoutSeconds - }).(pulumi.IntPtrOutput) -} - type WorkflowStepDeleteStepDetails struct { // The name of the step, used as an identifier. Name *string `pulumi:"name"` @@ -4136,6 +5734,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*AccessPosixProfilePtrInput)(nil)).Elem(), AccessPosixProfileArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ServerEndpointDetailsInput)(nil)).Elem(), ServerEndpointDetailsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ServerEndpointDetailsPtrInput)(nil)).Elem(), ServerEndpointDetailsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ServerProtocolDetailsInput)(nil)).Elem(), ServerProtocolDetailsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ServerProtocolDetailsPtrInput)(nil)).Elem(), ServerProtocolDetailsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ServerWorkflowDetailsInput)(nil)).Elem(), ServerWorkflowDetailsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ServerWorkflowDetailsPtrInput)(nil)).Elem(), ServerWorkflowDetailsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ServerWorkflowDetailsOnPartialUploadInput)(nil)).Elem(), ServerWorkflowDetailsOnPartialUploadArgs{}) @@ -4158,6 +5758,14 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*WorkflowOnExceptionStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrInput)(nil)).Elem(), WorkflowOnExceptionStepCopyStepDetailsDestinationFileLocationS3FileLocationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WorkflowOnExceptionStepCustomStepDetailsInput)(nil)).Elem(), WorkflowOnExceptionStepCustomStepDetailsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WorkflowOnExceptionStepCustomStepDetailsPtrInput)(nil)).Elem(), WorkflowOnExceptionStepCustomStepDetailsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WorkflowOnExceptionStepDecryptStepDetailsInput)(nil)).Elem(), WorkflowOnExceptionStepDecryptStepDetailsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WorkflowOnExceptionStepDecryptStepDetailsPtrInput)(nil)).Elem(), WorkflowOnExceptionStepDecryptStepDetailsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationInput)(nil)).Elem(), WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationPtrInput)(nil)).Elem(), WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationInput)(nil)).Elem(), WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrInput)(nil)).Elem(), WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationInput)(nil)).Elem(), WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrInput)(nil)).Elem(), WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WorkflowOnExceptionStepDeleteStepDetailsInput)(nil)).Elem(), WorkflowOnExceptionStepDeleteStepDetailsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WorkflowOnExceptionStepDeleteStepDetailsPtrInput)(nil)).Elem(), WorkflowOnExceptionStepDeleteStepDetailsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WorkflowOnExceptionStepTagStepDetailsInput)(nil)).Elem(), WorkflowOnExceptionStepTagStepDetailsArgs{}) @@ -4176,6 +5784,14 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrInput)(nil)).Elem(), WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WorkflowStepCustomStepDetailsInput)(nil)).Elem(), WorkflowStepCustomStepDetailsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WorkflowStepCustomStepDetailsPtrInput)(nil)).Elem(), WorkflowStepCustomStepDetailsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WorkflowStepDecryptStepDetailsInput)(nil)).Elem(), WorkflowStepDecryptStepDetailsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WorkflowStepDecryptStepDetailsPtrInput)(nil)).Elem(), WorkflowStepDecryptStepDetailsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WorkflowStepDecryptStepDetailsDestinationFileLocationInput)(nil)).Elem(), WorkflowStepDecryptStepDetailsDestinationFileLocationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WorkflowStepDecryptStepDetailsDestinationFileLocationPtrInput)(nil)).Elem(), WorkflowStepDecryptStepDetailsDestinationFileLocationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationInput)(nil)).Elem(), WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrInput)(nil)).Elem(), WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationInput)(nil)).Elem(), WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrInput)(nil)).Elem(), WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WorkflowStepDeleteStepDetailsInput)(nil)).Elem(), WorkflowStepDeleteStepDetailsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WorkflowStepDeleteStepDetailsPtrInput)(nil)).Elem(), WorkflowStepDeleteStepDetailsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WorkflowStepTagStepDetailsInput)(nil)).Elem(), WorkflowStepTagStepDetailsArgs{}) @@ -4188,6 +5804,8 @@ func init() { pulumi.RegisterOutputType(AccessPosixProfilePtrOutput{}) pulumi.RegisterOutputType(ServerEndpointDetailsOutput{}) pulumi.RegisterOutputType(ServerEndpointDetailsPtrOutput{}) + pulumi.RegisterOutputType(ServerProtocolDetailsOutput{}) + pulumi.RegisterOutputType(ServerProtocolDetailsPtrOutput{}) pulumi.RegisterOutputType(ServerWorkflowDetailsOutput{}) pulumi.RegisterOutputType(ServerWorkflowDetailsPtrOutput{}) pulumi.RegisterOutputType(ServerWorkflowDetailsOnPartialUploadOutput{}) @@ -4210,6 +5828,14 @@ func init() { pulumi.RegisterOutputType(WorkflowOnExceptionStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput{}) pulumi.RegisterOutputType(WorkflowOnExceptionStepCustomStepDetailsOutput{}) pulumi.RegisterOutputType(WorkflowOnExceptionStepCustomStepDetailsPtrOutput{}) + pulumi.RegisterOutputType(WorkflowOnExceptionStepDecryptStepDetailsOutput{}) + pulumi.RegisterOutputType(WorkflowOnExceptionStepDecryptStepDetailsPtrOutput{}) + pulumi.RegisterOutputType(WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationOutput{}) + pulumi.RegisterOutputType(WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationPtrOutput{}) + pulumi.RegisterOutputType(WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationOutput{}) + pulumi.RegisterOutputType(WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput{}) + pulumi.RegisterOutputType(WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationOutput{}) + pulumi.RegisterOutputType(WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput{}) pulumi.RegisterOutputType(WorkflowOnExceptionStepDeleteStepDetailsOutput{}) pulumi.RegisterOutputType(WorkflowOnExceptionStepDeleteStepDetailsPtrOutput{}) pulumi.RegisterOutputType(WorkflowOnExceptionStepTagStepDetailsOutput{}) @@ -4228,6 +5854,14 @@ func init() { pulumi.RegisterOutputType(WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationPtrOutput{}) pulumi.RegisterOutputType(WorkflowStepCustomStepDetailsOutput{}) pulumi.RegisterOutputType(WorkflowStepCustomStepDetailsPtrOutput{}) + pulumi.RegisterOutputType(WorkflowStepDecryptStepDetailsOutput{}) + pulumi.RegisterOutputType(WorkflowStepDecryptStepDetailsPtrOutput{}) + pulumi.RegisterOutputType(WorkflowStepDecryptStepDetailsDestinationFileLocationOutput{}) + pulumi.RegisterOutputType(WorkflowStepDecryptStepDetailsDestinationFileLocationPtrOutput{}) + pulumi.RegisterOutputType(WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationOutput{}) + pulumi.RegisterOutputType(WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationPtrOutput{}) + pulumi.RegisterOutputType(WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationOutput{}) + pulumi.RegisterOutputType(WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationPtrOutput{}) pulumi.RegisterOutputType(WorkflowStepDeleteStepDetailsOutput{}) pulumi.RegisterOutputType(WorkflowStepDeleteStepDetailsPtrOutput{}) pulumi.RegisterOutputType(WorkflowStepTagStepDetailsOutput{}) diff --git a/sdk/go/aws/transfer/server.go b/sdk/go/aws/transfer/server.go index 3787743bdad..e8ec4f63e5f 100644 --- a/sdk/go/aws/transfer/server.go +++ b/sdk/go/aws/transfer/server.go @@ -228,7 +228,7 @@ type Server struct { ForceDestroy pulumi.BoolPtrOutput `pulumi:"forceDestroy"` // The ARN for a lambda function to use for the Identity provider. Function pulumi.StringPtrOutput `pulumi:"function"` - // RSA private key (e.g., as generated by the `ssh-keygen -N "" -m PEM -f my-new-server-key` command). + // RSA, ECDSA, or ED25519 private key (e.g., as generated by the `ssh-keygen -t rsa -b 2048 -N "" -m PEM -f my-new-server-key`, `ssh-keygen -t ecdsa -b 256 -N "" -m PEM -f my-new-server-key` or `ssh-keygen -t ed25519 -N "" -f my-new-server-key` commands). HostKey pulumi.StringPtrOutput `pulumi:"hostKey"` // This value contains the message-digest algorithm (MD5) hash of the server's host key. This value is equivalent to the output of the `ssh-keygen -l -E md5 -f my-new-server-key` command. HostKeyFingerprint pulumi.StringOutput `pulumi:"hostKeyFingerprint"` @@ -242,6 +242,8 @@ type Server struct { PostAuthenticationLoginBanner pulumi.StringPtrOutput `pulumi:"postAuthenticationLoginBanner"` // Specify a string to display when users connect to a server. This string is displayed before the user authenticates. PreAuthenticationLoginBanner pulumi.StringPtrOutput `pulumi:"preAuthenticationLoginBanner"` + // The protocol settings that are configured for your server. + ProtocolDetails ServerProtocolDetailsOutput `pulumi:"protocolDetails"` // Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are: Protocols pulumi.StringArrayOutput `pulumi:"protocols"` // Specifies the name of the security policy that is attached to the server. Possible values are `TransferSecurityPolicy-2018-11`, `TransferSecurityPolicy-2020-06`, `TransferSecurityPolicy-FIPS-2020-06` and `TransferSecurityPolicy-2022-03`. Default value is: `TransferSecurityPolicy-2018-11`. @@ -318,7 +320,7 @@ type serverState struct { ForceDestroy *bool `pulumi:"forceDestroy"` // The ARN for a lambda function to use for the Identity provider. Function *string `pulumi:"function"` - // RSA private key (e.g., as generated by the `ssh-keygen -N "" -m PEM -f my-new-server-key` command). + // RSA, ECDSA, or ED25519 private key (e.g., as generated by the `ssh-keygen -t rsa -b 2048 -N "" -m PEM -f my-new-server-key`, `ssh-keygen -t ecdsa -b 256 -N "" -m PEM -f my-new-server-key` or `ssh-keygen -t ed25519 -N "" -f my-new-server-key` commands). HostKey *string `pulumi:"hostKey"` // This value contains the message-digest algorithm (MD5) hash of the server's host key. This value is equivalent to the output of the `ssh-keygen -l -E md5 -f my-new-server-key` command. HostKeyFingerprint *string `pulumi:"hostKeyFingerprint"` @@ -332,6 +334,8 @@ type serverState struct { PostAuthenticationLoginBanner *string `pulumi:"postAuthenticationLoginBanner"` // Specify a string to display when users connect to a server. This string is displayed before the user authenticates. PreAuthenticationLoginBanner *string `pulumi:"preAuthenticationLoginBanner"` + // The protocol settings that are configured for your server. + ProtocolDetails *ServerProtocolDetails `pulumi:"protocolDetails"` // Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are: Protocols []string `pulumi:"protocols"` // Specifies the name of the security policy that is attached to the server. Possible values are `TransferSecurityPolicy-2018-11`, `TransferSecurityPolicy-2020-06`, `TransferSecurityPolicy-FIPS-2020-06` and `TransferSecurityPolicy-2022-03`. Default value is: `TransferSecurityPolicy-2018-11`. @@ -365,7 +369,7 @@ type ServerState struct { ForceDestroy pulumi.BoolPtrInput // The ARN for a lambda function to use for the Identity provider. Function pulumi.StringPtrInput - // RSA private key (e.g., as generated by the `ssh-keygen -N "" -m PEM -f my-new-server-key` command). + // RSA, ECDSA, or ED25519 private key (e.g., as generated by the `ssh-keygen -t rsa -b 2048 -N "" -m PEM -f my-new-server-key`, `ssh-keygen -t ecdsa -b 256 -N "" -m PEM -f my-new-server-key` or `ssh-keygen -t ed25519 -N "" -f my-new-server-key` commands). HostKey pulumi.StringPtrInput // This value contains the message-digest algorithm (MD5) hash of the server's host key. This value is equivalent to the output of the `ssh-keygen -l -E md5 -f my-new-server-key` command. HostKeyFingerprint pulumi.StringPtrInput @@ -379,6 +383,8 @@ type ServerState struct { PostAuthenticationLoginBanner pulumi.StringPtrInput // Specify a string to display when users connect to a server. This string is displayed before the user authenticates. PreAuthenticationLoginBanner pulumi.StringPtrInput + // The protocol settings that are configured for your server. + ProtocolDetails ServerProtocolDetailsPtrInput // Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are: Protocols pulumi.StringArrayInput // Specifies the name of the security policy that is attached to the server. Possible values are `TransferSecurityPolicy-2018-11`, `TransferSecurityPolicy-2020-06`, `TransferSecurityPolicy-FIPS-2020-06` and `TransferSecurityPolicy-2022-03`. Default value is: `TransferSecurityPolicy-2018-11`. @@ -412,7 +418,7 @@ type serverArgs struct { ForceDestroy *bool `pulumi:"forceDestroy"` // The ARN for a lambda function to use for the Identity provider. Function *string `pulumi:"function"` - // RSA private key (e.g., as generated by the `ssh-keygen -N "" -m PEM -f my-new-server-key` command). + // RSA, ECDSA, or ED25519 private key (e.g., as generated by the `ssh-keygen -t rsa -b 2048 -N "" -m PEM -f my-new-server-key`, `ssh-keygen -t ecdsa -b 256 -N "" -m PEM -f my-new-server-key` or `ssh-keygen -t ed25519 -N "" -f my-new-server-key` commands). HostKey *string `pulumi:"hostKey"` // The mode of authentication enabled for this service. The default value is `SERVICE_MANAGED`, which allows you to store and access SFTP user credentials within the service. `API_GATEWAY` indicates that user authentication requires a call to an API Gateway endpoint URL provided by you to integrate an identity provider of your choice. Using `AWS_DIRECTORY_SERVICE` will allow for authentication against AWS Managed Active Directory or Microsoft Active Directory in your on-premises environment, or in AWS using AD Connectors. Use the `AWS_LAMBDA` value to directly use a Lambda function as your identity provider. If you choose this value, you must specify the ARN for the lambda function in the `function` argument. IdentityProviderType *string `pulumi:"identityProviderType"` @@ -424,6 +430,8 @@ type serverArgs struct { PostAuthenticationLoginBanner *string `pulumi:"postAuthenticationLoginBanner"` // Specify a string to display when users connect to a server. This string is displayed before the user authenticates. PreAuthenticationLoginBanner *string `pulumi:"preAuthenticationLoginBanner"` + // The protocol settings that are configured for your server. + ProtocolDetails *ServerProtocolDetails `pulumi:"protocolDetails"` // Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are: Protocols []string `pulumi:"protocols"` // Specifies the name of the security policy that is attached to the server. Possible values are `TransferSecurityPolicy-2018-11`, `TransferSecurityPolicy-2020-06`, `TransferSecurityPolicy-FIPS-2020-06` and `TransferSecurityPolicy-2022-03`. Default value is: `TransferSecurityPolicy-2018-11`. @@ -452,7 +460,7 @@ type ServerArgs struct { ForceDestroy pulumi.BoolPtrInput // The ARN for a lambda function to use for the Identity provider. Function pulumi.StringPtrInput - // RSA private key (e.g., as generated by the `ssh-keygen -N "" -m PEM -f my-new-server-key` command). + // RSA, ECDSA, or ED25519 private key (e.g., as generated by the `ssh-keygen -t rsa -b 2048 -N "" -m PEM -f my-new-server-key`, `ssh-keygen -t ecdsa -b 256 -N "" -m PEM -f my-new-server-key` or `ssh-keygen -t ed25519 -N "" -f my-new-server-key` commands). HostKey pulumi.StringPtrInput // The mode of authentication enabled for this service. The default value is `SERVICE_MANAGED`, which allows you to store and access SFTP user credentials within the service. `API_GATEWAY` indicates that user authentication requires a call to an API Gateway endpoint URL provided by you to integrate an identity provider of your choice. Using `AWS_DIRECTORY_SERVICE` will allow for authentication against AWS Managed Active Directory or Microsoft Active Directory in your on-premises environment, or in AWS using AD Connectors. Use the `AWS_LAMBDA` value to directly use a Lambda function as your identity provider. If you choose this value, you must specify the ARN for the lambda function in the `function` argument. IdentityProviderType pulumi.StringPtrInput @@ -464,6 +472,8 @@ type ServerArgs struct { PostAuthenticationLoginBanner pulumi.StringPtrInput // Specify a string to display when users connect to a server. This string is displayed before the user authenticates. PreAuthenticationLoginBanner pulumi.StringPtrInput + // The protocol settings that are configured for your server. + ProtocolDetails ServerProtocolDetailsPtrInput // Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are: Protocols pulumi.StringArrayInput // Specifies the name of the security policy that is attached to the server. Possible values are `TransferSecurityPolicy-2018-11`, `TransferSecurityPolicy-2020-06`, `TransferSecurityPolicy-FIPS-2020-06` and `TransferSecurityPolicy-2022-03`. Default value is: `TransferSecurityPolicy-2018-11`. @@ -608,7 +618,7 @@ func (o ServerOutput) Function() pulumi.StringPtrOutput { return o.ApplyT(func(v *Server) pulumi.StringPtrOutput { return v.Function }).(pulumi.StringPtrOutput) } -// RSA private key (e.g., as generated by the `ssh-keygen -N "" -m PEM -f my-new-server-key` command). +// RSA, ECDSA, or ED25519 private key (e.g., as generated by the `ssh-keygen -t rsa -b 2048 -N "" -m PEM -f my-new-server-key`, `ssh-keygen -t ecdsa -b 256 -N "" -m PEM -f my-new-server-key` or `ssh-keygen -t ed25519 -N "" -f my-new-server-key` commands). func (o ServerOutput) HostKey() pulumi.StringPtrOutput { return o.ApplyT(func(v *Server) pulumi.StringPtrOutput { return v.HostKey }).(pulumi.StringPtrOutput) } @@ -643,6 +653,11 @@ func (o ServerOutput) PreAuthenticationLoginBanner() pulumi.StringPtrOutput { return o.ApplyT(func(v *Server) pulumi.StringPtrOutput { return v.PreAuthenticationLoginBanner }).(pulumi.StringPtrOutput) } +// The protocol settings that are configured for your server. +func (o ServerOutput) ProtocolDetails() ServerProtocolDetailsOutput { + return o.ApplyT(func(v *Server) ServerProtocolDetailsOutput { return v.ProtocolDetails }).(ServerProtocolDetailsOutput) +} + // Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are: func (o ServerOutput) Protocols() pulumi.StringArrayOutput { return o.ApplyT(func(v *Server) pulumi.StringArrayOutput { return v.Protocols }).(pulumi.StringArrayOutput) diff --git a/sdk/java/src/main/java/com/pulumi/aws/acm/Certificate.java b/sdk/java/src/main/java/com/pulumi/aws/acm/Certificate.java index b4aab1cdf2c..f31b10036e8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/acm/Certificate.java +++ b/sdk/java/src/main/java/com/pulumi/aws/acm/Certificate.java @@ -351,14 +351,14 @@ public Output notBefore() { * */ @Export(name="options", refs={CertificateOptions.class}, tree="[0]") - private Output options; + private Output options; /** * @return Configuration block used to set certificate options. Detailed below. * */ - public Output> options() { - return Codegen.optional(this.options); + public Output options() { + return this.options; } /** * `true` if a Private certificate eligible for managed renewal is within the `early_renewal_duration` period. diff --git a/sdk/java/src/main/java/com/pulumi/aws/amplify/DomainAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/amplify/DomainAssociation.java index 0760d869029..aaf1d17453d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/amplify/DomainAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/amplify/DomainAssociation.java @@ -146,6 +146,20 @@ public Output certificateVerificationDnsRecord() { public Output domainName() { return this.domainName; } + /** + * Enables the automated creation of subdomains for branches. + * + */ + @Export(name="enableAutoSubDomain", refs={Boolean.class}, tree="[0]") + private Output enableAutoSubDomain; + + /** + * @return Enables the automated creation of subdomains for branches. + * + */ + public Output> enableAutoSubDomain() { + return Codegen.optional(this.enableAutoSubDomain); + } /** * Setting for the subdomain. Documented below. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/amplify/DomainAssociationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/amplify/DomainAssociationArgs.java index 7bfed1bcddf..9fe5b4c6f58 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/amplify/DomainAssociationArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/amplify/DomainAssociationArgs.java @@ -48,6 +48,21 @@ public Output domainName() { return this.domainName; } + /** + * Enables the automated creation of subdomains for branches. + * + */ + @Import(name="enableAutoSubDomain") + private @Nullable Output enableAutoSubDomain; + + /** + * @return Enables the automated creation of subdomains for branches. + * + */ + public Optional> enableAutoSubDomain() { + return Optional.ofNullable(this.enableAutoSubDomain); + } + /** * Setting for the subdomain. Documented below. * @@ -83,6 +98,7 @@ private DomainAssociationArgs() {} private DomainAssociationArgs(DomainAssociationArgs $) { this.appId = $.appId; this.domainName = $.domainName; + this.enableAutoSubDomain = $.enableAutoSubDomain; this.subDomains = $.subDomains; this.waitForVerification = $.waitForVerification; } @@ -147,6 +163,27 @@ public Builder domainName(String domainName) { return domainName(Output.of(domainName)); } + /** + * @param enableAutoSubDomain Enables the automated creation of subdomains for branches. + * + * @return builder + * + */ + public Builder enableAutoSubDomain(@Nullable Output enableAutoSubDomain) { + $.enableAutoSubDomain = enableAutoSubDomain; + return this; + } + + /** + * @param enableAutoSubDomain Enables the automated creation of subdomains for branches. + * + * @return builder + * + */ + public Builder enableAutoSubDomain(Boolean enableAutoSubDomain) { + return enableAutoSubDomain(Output.of(enableAutoSubDomain)); + } + /** * @param subDomains Setting for the subdomain. Documented below. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/amplify/inputs/DomainAssociationState.java b/sdk/java/src/main/java/com/pulumi/aws/amplify/inputs/DomainAssociationState.java index 5e8b02d0d63..679bf655fcc 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/amplify/inputs/DomainAssociationState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/amplify/inputs/DomainAssociationState.java @@ -78,6 +78,21 @@ public Optional> domainName() { return Optional.ofNullable(this.domainName); } + /** + * Enables the automated creation of subdomains for branches. + * + */ + @Import(name="enableAutoSubDomain") + private @Nullable Output enableAutoSubDomain; + + /** + * @return Enables the automated creation of subdomains for branches. + * + */ + public Optional> enableAutoSubDomain() { + return Optional.ofNullable(this.enableAutoSubDomain); + } + /** * Setting for the subdomain. Documented below. * @@ -115,6 +130,7 @@ private DomainAssociationState(DomainAssociationState $) { this.arn = $.arn; this.certificateVerificationDnsRecord = $.certificateVerificationDnsRecord; this.domainName = $.domainName; + this.enableAutoSubDomain = $.enableAutoSubDomain; this.subDomains = $.subDomains; this.waitForVerification = $.waitForVerification; } @@ -221,6 +237,27 @@ public Builder domainName(String domainName) { return domainName(Output.of(domainName)); } + /** + * @param enableAutoSubDomain Enables the automated creation of subdomains for branches. + * + * @return builder + * + */ + public Builder enableAutoSubDomain(@Nullable Output enableAutoSubDomain) { + $.enableAutoSubDomain = enableAutoSubDomain; + return this; + } + + /** + * @param enableAutoSubDomain Enables the automated creation of subdomains for branches. + * + * @return builder + * + */ + public Builder enableAutoSubDomain(Boolean enableAutoSubDomain) { + return enableAutoSubDomain(Output.of(enableAutoSubDomain)); + } + /** * @param subDomains Setting for the subdomain. Documented below. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/apigateway/Account.java b/sdk/java/src/main/java/com/pulumi/aws/apigateway/Account.java index ac51f4afafd..8e10026b81d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apigateway/Account.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apigateway/Account.java @@ -85,7 +85,7 @@ * * var cloudwatchRolePolicy = new RolePolicy("cloudwatchRolePolicy", RolePolicyArgs.builder() * .role(cloudwatchRole.id()) - * .policy(data.aws_iam_policy_document().json()) + * .policy(cloudwatchPolicyDocument.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * * } diff --git a/sdk/java/src/main/java/com/pulumi/aws/apprunner/inputs/ServiceSourceConfigurationCodeRepositoryCodeConfigurationCodeConfigurationValuesArgs.java b/sdk/java/src/main/java/com/pulumi/aws/apprunner/inputs/ServiceSourceConfigurationCodeRepositoryCodeConfigurationCodeConfigurationValuesArgs.java index 7752b4e7498..b9f7e03ed78 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apprunner/inputs/ServiceSourceConfigurationCodeRepositoryCodeConfigurationCodeConfigurationValuesArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apprunner/inputs/ServiceSourceConfigurationCodeRepositoryCodeConfigurationCodeConfigurationValuesArgs.java @@ -62,14 +62,14 @@ public Output runtime() { } /** - * Secrets and parameters available to your service as environment variables. A map of key/value pairs. + * Secrets and parameters available to your service as environment variables. A map of key/value pairs, where the key is the desired name of the Secret in the environment (i.e. it does not have to match the name of the secret in Secrets Manager or SSM Parameter Store), and the value is the ARN of the secret from AWS Secrets Manager or the ARN of the parameter in AWS SSM Parameter Store. * */ @Import(name="runtimeEnvironmentSecrets") private @Nullable Output> runtimeEnvironmentSecrets; /** - * @return Secrets and parameters available to your service as environment variables. A map of key/value pairs. + * @return Secrets and parameters available to your service as environment variables. A map of key/value pairs, where the key is the desired name of the Secret in the environment (i.e. it does not have to match the name of the secret in Secrets Manager or SSM Parameter Store), and the value is the ARN of the secret from AWS Secrets Manager or the ARN of the parameter in AWS SSM Parameter Store. * */ public Optional>> runtimeEnvironmentSecrets() { @@ -199,7 +199,7 @@ public Builder runtime(String runtime) { } /** - * @param runtimeEnvironmentSecrets Secrets and parameters available to your service as environment variables. A map of key/value pairs. + * @param runtimeEnvironmentSecrets Secrets and parameters available to your service as environment variables. A map of key/value pairs, where the key is the desired name of the Secret in the environment (i.e. it does not have to match the name of the secret in Secrets Manager or SSM Parameter Store), and the value is the ARN of the secret from AWS Secrets Manager or the ARN of the parameter in AWS SSM Parameter Store. * * @return builder * @@ -210,7 +210,7 @@ public Builder runtimeEnvironmentSecrets(@Nullable Output> ru } /** - * @param runtimeEnvironmentSecrets Secrets and parameters available to your service as environment variables. A map of key/value pairs. + * @param runtimeEnvironmentSecrets Secrets and parameters available to your service as environment variables. A map of key/value pairs, where the key is the desired name of the Secret in the environment (i.e. it does not have to match the name of the secret in Secrets Manager or SSM Parameter Store), and the value is the ARN of the secret from AWS Secrets Manager or the ARN of the parameter in AWS SSM Parameter Store. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/apprunner/inputs/ServiceSourceConfigurationImageRepositoryImageConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/apprunner/inputs/ServiceSourceConfigurationImageRepositoryImageConfigurationArgs.java index 1696446a043..4b84c677207 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apprunner/inputs/ServiceSourceConfigurationImageRepositoryImageConfigurationArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apprunner/inputs/ServiceSourceConfigurationImageRepositoryImageConfigurationArgs.java @@ -32,14 +32,14 @@ public Optional> port() { } /** - * Secrets and parameters available to your service as environment variables. A map of key/value pairs. + * Secrets and parameters available to your service as environment variables. A map of key/value pairs, where the key is the desired name of the Secret in the environment (i.e. it does not have to match the name of the secret in Secrets Manager or SSM Parameter Store), and the value is the ARN of the secret from AWS Secrets Manager or the ARN of the parameter in AWS SSM Parameter Store. * */ @Import(name="runtimeEnvironmentSecrets") private @Nullable Output> runtimeEnvironmentSecrets; /** - * @return Secrets and parameters available to your service as environment variables. A map of key/value pairs. + * @return Secrets and parameters available to your service as environment variables. A map of key/value pairs, where the key is the desired name of the Secret in the environment (i.e. it does not have to match the name of the secret in Secrets Manager or SSM Parameter Store), and the value is the ARN of the secret from AWS Secrets Manager or the ARN of the parameter in AWS SSM Parameter Store. * */ public Optional>> runtimeEnvironmentSecrets() { @@ -125,7 +125,7 @@ public Builder port(String port) { } /** - * @param runtimeEnvironmentSecrets Secrets and parameters available to your service as environment variables. A map of key/value pairs. + * @param runtimeEnvironmentSecrets Secrets and parameters available to your service as environment variables. A map of key/value pairs, where the key is the desired name of the Secret in the environment (i.e. it does not have to match the name of the secret in Secrets Manager or SSM Parameter Store), and the value is the ARN of the secret from AWS Secrets Manager or the ARN of the parameter in AWS SSM Parameter Store. * * @return builder * @@ -136,7 +136,7 @@ public Builder runtimeEnvironmentSecrets(@Nullable Output> ru } /** - * @param runtimeEnvironmentSecrets Secrets and parameters available to your service as environment variables. A map of key/value pairs. + * @param runtimeEnvironmentSecrets Secrets and parameters available to your service as environment variables. A map of key/value pairs, where the key is the desired name of the Secret in the environment (i.e. it does not have to match the name of the secret in Secrets Manager or SSM Parameter Store), and the value is the ARN of the secret from AWS Secrets Manager or the ARN of the parameter in AWS SSM Parameter Store. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/apprunner/outputs/ServiceSourceConfigurationCodeRepositoryCodeConfigurationCodeConfigurationValues.java b/sdk/java/src/main/java/com/pulumi/aws/apprunner/outputs/ServiceSourceConfigurationCodeRepositoryCodeConfigurationCodeConfigurationValues.java index 0bdaa4e5684..a4458397e99 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apprunner/outputs/ServiceSourceConfigurationCodeRepositoryCodeConfigurationCodeConfigurationValues.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apprunner/outputs/ServiceSourceConfigurationCodeRepositoryCodeConfigurationCodeConfigurationValues.java @@ -28,7 +28,7 @@ public final class ServiceSourceConfigurationCodeRepositoryCodeConfigurationCode */ private String runtime; /** - * @return Secrets and parameters available to your service as environment variables. A map of key/value pairs. + * @return Secrets and parameters available to your service as environment variables. A map of key/value pairs, where the key is the desired name of the Secret in the environment (i.e. it does not have to match the name of the secret in Secrets Manager or SSM Parameter Store), and the value is the ARN of the secret from AWS Secrets Manager or the ARN of the parameter in AWS SSM Parameter Store. * */ private @Nullable Map runtimeEnvironmentSecrets; @@ -66,7 +66,7 @@ public String runtime() { return this.runtime; } /** - * @return Secrets and parameters available to your service as environment variables. A map of key/value pairs. + * @return Secrets and parameters available to your service as environment variables. A map of key/value pairs, where the key is the desired name of the Secret in the environment (i.e. it does not have to match the name of the secret in Secrets Manager or SSM Parameter Store), and the value is the ARN of the secret from AWS Secrets Manager or the ARN of the parameter in AWS SSM Parameter Store. * */ public Map runtimeEnvironmentSecrets() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/apprunner/outputs/ServiceSourceConfigurationImageRepositoryImageConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/apprunner/outputs/ServiceSourceConfigurationImageRepositoryImageConfiguration.java index a1c397e48c0..38a011e37ef 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apprunner/outputs/ServiceSourceConfigurationImageRepositoryImageConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apprunner/outputs/ServiceSourceConfigurationImageRepositoryImageConfiguration.java @@ -18,7 +18,7 @@ public final class ServiceSourceConfigurationImageRepositoryImageConfiguration { */ private @Nullable String port; /** - * @return Secrets and parameters available to your service as environment variables. A map of key/value pairs. + * @return Secrets and parameters available to your service as environment variables. A map of key/value pairs, where the key is the desired name of the Secret in the environment (i.e. it does not have to match the name of the secret in Secrets Manager or SSM Parameter Store), and the value is the ARN of the secret from AWS Secrets Manager or the ARN of the parameter in AWS SSM Parameter Store. * */ private @Nullable Map runtimeEnvironmentSecrets; @@ -42,7 +42,7 @@ public Optional port() { return Optional.ofNullable(this.port); } /** - * @return Secrets and parameters available to your service as environment variables. A map of key/value pairs. + * @return Secrets and parameters available to your service as environment variables. A map of key/value pairs, where the key is the desired name of the Secret in the environment (i.e. it does not have to match the name of the secret in Secrets Manager or SSM Parameter Store), and the value is the ARN of the secret from AWS Secrets Manager or the ARN of the parameter in AWS SSM Parameter Store. * */ public Map runtimeEnvironmentSecrets() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/appsync/DataSource.java b/sdk/java/src/main/java/com/pulumi/aws/appsync/DataSource.java index de3cd3fc48e..0a3806428c0 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appsync/DataSource.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appsync/DataSource.java @@ -22,6 +22,96 @@ /** * Provides an AppSync Data Source. * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.dynamodb.Table; + * import com.pulumi.aws.dynamodb.TableArgs; + * import com.pulumi.aws.dynamodb.inputs.TableAttributeArgs; + * import com.pulumi.aws.iam.IamFunctions; + * import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs; + * import com.pulumi.aws.iam.Role; + * import com.pulumi.aws.iam.RoleArgs; + * import com.pulumi.aws.iam.RolePolicy; + * import com.pulumi.aws.iam.RolePolicyArgs; + * import com.pulumi.aws.appsync.GraphQLApi; + * import com.pulumi.aws.appsync.GraphQLApiArgs; + * import com.pulumi.aws.appsync.DataSource; + * import com.pulumi.aws.appsync.DataSourceArgs; + * import com.pulumi.aws.appsync.inputs.DataSourceDynamodbConfigArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * var exampleTable = new Table("exampleTable", TableArgs.builder() + * .readCapacity(1) + * .writeCapacity(1) + * .hashKey("UserId") + * .attributes(TableAttributeArgs.builder() + * .name("UserId") + * .type("S") + * .build()) + * .build()); + * + * final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() + * .statements(GetPolicyDocumentStatementArgs.builder() + * .effect("Allow") + * .principals(GetPolicyDocumentStatementPrincipalArgs.builder() + * .type("Service") + * .identifiers("appsync.amazonaws.com") + * .build()) + * .actions("sts:AssumeRole") + * .build()) + * .build()); + * + * var exampleRole = new Role("exampleRole", RoleArgs.builder() + * .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) + * .build()); + * + * final var examplePolicyDocument = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() + * .statements(GetPolicyDocumentStatementArgs.builder() + * .effect("Allow") + * .actions("dynamodb:*") + * .resources(exampleTable.arn()) + * .build()) + * .build()); + * + * var exampleRolePolicy = new RolePolicy("exampleRolePolicy", RolePolicyArgs.builder() + * .role(exampleRole.id()) + * .policy(examplePolicyDocument.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(examplePolicyDocument -> examplePolicyDocument.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) + * .build()); + * + * var exampleGraphQLApi = new GraphQLApi("exampleGraphQLApi", GraphQLApiArgs.builder() + * .authenticationType("API_KEY") + * .build()); + * + * var exampleDataSource = new DataSource("exampleDataSource", DataSourceArgs.builder() + * .apiId(exampleGraphQLApi.id()) + * .name("my_appsync_example") + * .serviceRoleArn(exampleRole.arn()) + * .type("AMAZON_DYNAMODB") + * .dynamodbConfig(DataSourceDynamodbConfigArgs.builder() + * .tableName(exampleTable.name()) + * .build()) + * .build()); + * + * } + * } + * ``` + * * ## Import * * `aws_appsync_datasource` can be imported with their `api_id`, a hyphen, and `name`, e.g., diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudhsmv2/Hsm.java b/sdk/java/src/main/java/com/pulumi/aws/cloudhsmv2/Hsm.java index 3b6b64ab7ef..febc3602fb9 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudhsmv2/Hsm.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudhsmv2/Hsm.java @@ -67,14 +67,14 @@ @ResourceType(type="aws:cloudhsmv2/hsm:Hsm") public class Hsm extends com.pulumi.resources.CustomResource { /** - * The IDs of AZ in which HSM module will be located. Do not use together with subnet_id. + * The IDs of AZ in which HSM module will be located. Conflicts with `subnet_id`. * */ @Export(name="availabilityZone", refs={String.class}, tree="[0]") private Output availabilityZone; /** - * @return The IDs of AZ in which HSM module will be located. Do not use together with subnet_id. + * @return The IDs of AZ in which HSM module will be located. Conflicts with `subnet_id`. * */ public Output availabilityZone() { @@ -151,14 +151,14 @@ public Output ipAddress() { return this.ipAddress; } /** - * The ID of subnet in which HSM module will be located. + * The ID of subnet in which HSM module will be located. Conflicts with `availability_zone`. * */ @Export(name="subnetId", refs={String.class}, tree="[0]") private Output subnetId; /** - * @return The ID of subnet in which HSM module will be located. + * @return The ID of subnet in which HSM module will be located. Conflicts with `availability_zone`. * */ public Output subnetId() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudhsmv2/HsmArgs.java b/sdk/java/src/main/java/com/pulumi/aws/cloudhsmv2/HsmArgs.java index f121cf05a33..20754f508cd 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudhsmv2/HsmArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudhsmv2/HsmArgs.java @@ -16,14 +16,14 @@ public final class HsmArgs extends com.pulumi.resources.ResourceArgs { public static final HsmArgs Empty = new HsmArgs(); /** - * The IDs of AZ in which HSM module will be located. Do not use together with subnet_id. + * The IDs of AZ in which HSM module will be located. Conflicts with `subnet_id`. * */ @Import(name="availabilityZone") private @Nullable Output availabilityZone; /** - * @return The IDs of AZ in which HSM module will be located. Do not use together with subnet_id. + * @return The IDs of AZ in which HSM module will be located. Conflicts with `subnet_id`. * */ public Optional> availabilityZone() { @@ -61,14 +61,14 @@ public Optional> ipAddress() { } /** - * The ID of subnet in which HSM module will be located. + * The ID of subnet in which HSM module will be located. Conflicts with `availability_zone`. * */ @Import(name="subnetId") private @Nullable Output subnetId; /** - * @return The ID of subnet in which HSM module will be located. + * @return The ID of subnet in which HSM module will be located. Conflicts with `availability_zone`. * */ public Optional> subnetId() { @@ -103,7 +103,7 @@ public Builder(HsmArgs defaults) { } /** - * @param availabilityZone The IDs of AZ in which HSM module will be located. Do not use together with subnet_id. + * @param availabilityZone The IDs of AZ in which HSM module will be located. Conflicts with `subnet_id`. * * @return builder * @@ -114,7 +114,7 @@ public Builder availabilityZone(@Nullable Output availabilityZone) { } /** - * @param availabilityZone The IDs of AZ in which HSM module will be located. Do not use together with subnet_id. + * @param availabilityZone The IDs of AZ in which HSM module will be located. Conflicts with `subnet_id`. * * @return builder * @@ -166,7 +166,7 @@ public Builder ipAddress(String ipAddress) { } /** - * @param subnetId The ID of subnet in which HSM module will be located. + * @param subnetId The ID of subnet in which HSM module will be located. Conflicts with `availability_zone`. * * @return builder * @@ -177,7 +177,7 @@ public Builder subnetId(@Nullable Output subnetId) { } /** - * @param subnetId The ID of subnet in which HSM module will be located. + * @param subnetId The ID of subnet in which HSM module will be located. Conflicts with `availability_zone`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudhsmv2/inputs/HsmState.java b/sdk/java/src/main/java/com/pulumi/aws/cloudhsmv2/inputs/HsmState.java index 1eba27d9369..e67f92e3a64 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudhsmv2/inputs/HsmState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudhsmv2/inputs/HsmState.java @@ -16,14 +16,14 @@ public final class HsmState extends com.pulumi.resources.ResourceArgs { public static final HsmState Empty = new HsmState(); /** - * The IDs of AZ in which HSM module will be located. Do not use together with subnet_id. + * The IDs of AZ in which HSM module will be located. Conflicts with `subnet_id`. * */ @Import(name="availabilityZone") private @Nullable Output availabilityZone; /** - * @return The IDs of AZ in which HSM module will be located. Do not use together with subnet_id. + * @return The IDs of AZ in which HSM module will be located. Conflicts with `subnet_id`. * */ public Optional> availabilityZone() { @@ -106,14 +106,14 @@ public Optional> ipAddress() { } /** - * The ID of subnet in which HSM module will be located. + * The ID of subnet in which HSM module will be located. Conflicts with `availability_zone`. * */ @Import(name="subnetId") private @Nullable Output subnetId; /** - * @return The ID of subnet in which HSM module will be located. + * @return The ID of subnet in which HSM module will be located. Conflicts with `availability_zone`. * */ public Optional> subnetId() { @@ -151,7 +151,7 @@ public Builder(HsmState defaults) { } /** - * @param availabilityZone The IDs of AZ in which HSM module will be located. Do not use together with subnet_id. + * @param availabilityZone The IDs of AZ in which HSM module will be located. Conflicts with `subnet_id`. * * @return builder * @@ -162,7 +162,7 @@ public Builder availabilityZone(@Nullable Output availabilityZone) { } /** - * @param availabilityZone The IDs of AZ in which HSM module will be located. Do not use together with subnet_id. + * @param availabilityZone The IDs of AZ in which HSM module will be located. Conflicts with `subnet_id`. * * @return builder * @@ -277,7 +277,7 @@ public Builder ipAddress(String ipAddress) { } /** - * @param subnetId The ID of subnet in which HSM module will be located. + * @param subnetId The ID of subnet in which HSM module will be located. Conflicts with `availability_zone`. * * @return builder * @@ -288,7 +288,7 @@ public Builder subnetId(@Nullable Output subnetId) { } /** - * @param subnetId The ID of subnet in which HSM module will be located. + * @param subnetId The ID of subnet in which HSM module will be located. Conflicts with `availability_zone`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/codebuild/Project.java b/sdk/java/src/main/java/com/pulumi/aws/codebuild/Project.java index a121b97ef46..62745aab342 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codebuild/Project.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codebuild/Project.java @@ -32,6 +32,216 @@ /** * Provides a CodeBuild Project resource. See also the `aws.codebuild.Webhook` resource, which manages the webhook to the source (e.g., the "rebuild every time a code change is pushed" option in the CodeBuild web console). * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.s3.BucketV2; + * import com.pulumi.aws.s3.BucketAclV2; + * import com.pulumi.aws.s3.BucketAclV2Args; + * import com.pulumi.aws.iam.IamFunctions; + * import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs; + * import com.pulumi.aws.iam.Role; + * import com.pulumi.aws.iam.RoleArgs; + * import com.pulumi.aws.iam.RolePolicy; + * import com.pulumi.aws.iam.RolePolicyArgs; + * import com.pulumi.aws.codebuild.Project; + * import com.pulumi.aws.codebuild.ProjectArgs; + * import com.pulumi.aws.codebuild.inputs.ProjectArtifactsArgs; + * import com.pulumi.aws.codebuild.inputs.ProjectCacheArgs; + * import com.pulumi.aws.codebuild.inputs.ProjectEnvironmentArgs; + * import com.pulumi.aws.codebuild.inputs.ProjectLogsConfigArgs; + * import com.pulumi.aws.codebuild.inputs.ProjectLogsConfigCloudwatchLogsArgs; + * import com.pulumi.aws.codebuild.inputs.ProjectLogsConfigS3LogsArgs; + * import com.pulumi.aws.codebuild.inputs.ProjectSourceArgs; + * import com.pulumi.aws.codebuild.inputs.ProjectSourceGitSubmodulesConfigArgs; + * import com.pulumi.aws.codebuild.inputs.ProjectVpcConfigArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * var exampleBucketV2 = new BucketV2("exampleBucketV2"); + * + * var exampleBucketAclV2 = new BucketAclV2("exampleBucketAclV2", BucketAclV2Args.builder() + * .bucket(exampleBucketV2.id()) + * .acl("private") + * .build()); + * + * final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() + * .statements(GetPolicyDocumentStatementArgs.builder() + * .effect("Allow") + * .principals(GetPolicyDocumentStatementPrincipalArgs.builder() + * .type("Service") + * .identifiers("codebuild.amazonaws.com") + * .build()) + * .actions("sts:AssumeRole") + * .build()) + * .build()); + * + * var exampleRole = new Role("exampleRole", RoleArgs.builder() + * .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) + * .build()); + * + * final var examplePolicyDocument = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() + * .statements( + * GetPolicyDocumentStatementArgs.builder() + * .effect("Allow") + * .actions( + * "logs:CreateLogGroup", + * "logs:CreateLogStream", + * "logs:PutLogEvents") + * .resources("*") + * .build(), + * GetPolicyDocumentStatementArgs.builder() + * .effect("Allow") + * .actions( + * "ec2:CreateNetworkInterface", + * "ec2:DescribeDhcpOptions", + * "ec2:DescribeNetworkInterfaces", + * "ec2:DeleteNetworkInterface", + * "ec2:DescribeSubnets", + * "ec2:DescribeSecurityGroups", + * "ec2:DescribeVpcs") + * .resources("*") + * .build(), + * GetPolicyDocumentStatementArgs.builder() + * .effect("Allow") + * .actions("ec2:CreateNetworkInterfacePermission") + * .resources("arn:aws:ec2:us-east-1:123456789012:network-interface/*") + * .conditions( + * GetPolicyDocumentStatementConditionArgs.builder() + * .test("StringEquals") + * .variable("ec2:Subnet") + * .values( + * aws_subnet.example1().arn(), + * aws_subnet.example2().arn()) + * .build(), + * GetPolicyDocumentStatementConditionArgs.builder() + * .test("StringEquals") + * .variable("ec2:AuthorizedService") + * .values("codebuild.amazonaws.com") + * .build()) + * .build(), + * GetPolicyDocumentStatementArgs.builder() + * .effect("Allow") + * .actions("s3:*") + * .resources( + * exampleBucketV2.arn(), + * exampleBucketV2.arn().applyValue(arn -> String.format("%s/*", arn))) + * .build()) + * .build()); + * + * var exampleRolePolicy = new RolePolicy("exampleRolePolicy", RolePolicyArgs.builder() + * .role(exampleRole.name()) + * .policy(examplePolicyDocument.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(examplePolicyDocument -> examplePolicyDocument.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) + * .build()); + * + * var exampleProject = new Project("exampleProject", ProjectArgs.builder() + * .description("test_codebuild_project") + * .buildTimeout("5") + * .serviceRole(exampleRole.arn()) + * .artifacts(ProjectArtifactsArgs.builder() + * .type("NO_ARTIFACTS") + * .build()) + * .cache(ProjectCacheArgs.builder() + * .type("S3") + * .location(exampleBucketV2.bucket()) + * .build()) + * .environment(ProjectEnvironmentArgs.builder() + * .computeType("BUILD_GENERAL1_SMALL") + * .image("aws/codebuild/standard:1.0") + * .type("LINUX_CONTAINER") + * .imagePullCredentialsType("CODEBUILD") + * .environmentVariables( + * ProjectEnvironmentEnvironmentVariableArgs.builder() + * .name("SOME_KEY1") + * .value("SOME_VALUE1") + * .build(), + * ProjectEnvironmentEnvironmentVariableArgs.builder() + * .name("SOME_KEY2") + * .value("SOME_VALUE2") + * .type("PARAMETER_STORE") + * .build()) + * .build()) + * .logsConfig(ProjectLogsConfigArgs.builder() + * .cloudwatchLogs(ProjectLogsConfigCloudwatchLogsArgs.builder() + * .groupName("log-group") + * .streamName("log-stream") + * .build()) + * .s3Logs(ProjectLogsConfigS3LogsArgs.builder() + * .status("ENABLED") + * .location(exampleBucketV2.id().applyValue(id -> String.format("%s/build-log", id))) + * .build()) + * .build()) + * .source(ProjectSourceArgs.builder() + * .type("GITHUB") + * .location("https://github.com/mitchellh/packer.git") + * .gitCloneDepth(1) + * .gitSubmodulesConfig(ProjectSourceGitSubmodulesConfigArgs.builder() + * .fetchSubmodules(true) + * .build()) + * .build()) + * .sourceVersion("master") + * .vpcConfig(ProjectVpcConfigArgs.builder() + * .vpcId(aws_vpc.example().id()) + * .subnets( + * aws_subnet.example1().id(), + * aws_subnet.example2().id()) + * .securityGroupIds( + * aws_security_group.example1().id(), + * aws_security_group.example2().id()) + * .build()) + * .tags(Map.of("Environment", "Test")) + * .build()); + * + * var project_with_cache = new Project("project-with-cache", ProjectArgs.builder() + * .description("test_codebuild_project_cache") + * .buildTimeout("5") + * .queuedTimeout("5") + * .serviceRole(exampleRole.arn()) + * .artifacts(ProjectArtifactsArgs.builder() + * .type("NO_ARTIFACTS") + * .build()) + * .cache(ProjectCacheArgs.builder() + * .type("LOCAL") + * .modes( + * "LOCAL_DOCKER_LAYER_CACHE", + * "LOCAL_SOURCE_CACHE") + * .build()) + * .environment(ProjectEnvironmentArgs.builder() + * .computeType("BUILD_GENERAL1_SMALL") + * .image("aws/codebuild/standard:1.0") + * .type("LINUX_CONTAINER") + * .imagePullCredentialsType("CODEBUILD") + * .environmentVariables(ProjectEnvironmentEnvironmentVariableArgs.builder() + * .name("SOME_KEY1") + * .value("SOME_VALUE1") + * .build()) + * .build()) + * .source(ProjectSourceArgs.builder() + * .type("GITHUB") + * .location("https://github.com/mitchellh/packer.git") + * .gitCloneDepth(1) + * .build()) + * .tags(Map.of("Environment", "Test")) + * .build()); + * + * } + * } + * ``` + * * ## Import * * CodeBuild Project can be imported using the `name`, e.g., diff --git a/sdk/java/src/main/java/com/pulumi/aws/codebuild/inputs/ProjectSecondaryArtifactArgs.java b/sdk/java/src/main/java/com/pulumi/aws/codebuild/inputs/ProjectSecondaryArtifactArgs.java index 802e790b4b9..619d709301a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codebuild/inputs/ProjectSecondaryArtifactArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codebuild/inputs/ProjectSecondaryArtifactArgs.java @@ -32,14 +32,14 @@ public Output artifactIdentifier() { } /** - * Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has access to these objects. This property allows you to give the bucket owner access to these objects. Valid values are `NONE`, `READ_ONLY`, and `FULL`. your CodeBuild service role must have the `s3:PutBucketAcl` permission. This permission allows CodeBuild to modify the access control list for the bucket. + * Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has access to these objects. This property allows you to give the bucket owner access to these objects. Valid values are `NONE`, `READ_ONLY`, and `FULL`. The CodeBuild service role must have the `s3:PutBucketAcl` permission. This permission allows CodeBuild to modify the access control list for the bucket. * */ @Import(name="bucketOwnerAccess") private @Nullable Output bucketOwnerAccess; /** - * @return Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has access to these objects. This property allows you to give the bucket owner access to these objects. Valid values are `NONE`, `READ_ONLY`, and `FULL`. your CodeBuild service role must have the `s3:PutBucketAcl` permission. This permission allows CodeBuild to modify the access control list for the bucket. + * @return Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has access to these objects. This property allows you to give the bucket owner access to these objects. Valid values are `NONE`, `READ_ONLY`, and `FULL`. The CodeBuild service role must have the `s3:PutBucketAcl` permission. This permission allows CodeBuild to modify the access control list for the bucket. * */ public Optional> bucketOwnerAccess() { @@ -62,14 +62,14 @@ public Optional> encryptionDisabled() { } /** - * Information about the build output artifact location. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored. If `type` is set to `S3`, this is the name of the output bucket. If `path` is not also specified, then `location` can also specify the path of the output artifact in the output bucket. + * Information about the build output artifact location. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, this is the name of the output bucket. If `path` is not specified, `location` can specify the path of the output artifact in the output bucket. * */ @Import(name="location") private @Nullable Output location; /** - * @return Information about the build output artifact location. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored. If `type` is set to `S3`, this is the name of the output bucket. If `path` is not also specified, then `location` can also specify the path of the output artifact in the output bucket. + * @return Information about the build output artifact location. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, this is the name of the output bucket. If `path` is not specified, `location` can specify the path of the output artifact in the output bucket. * */ public Optional> location() { @@ -77,14 +77,14 @@ public Optional> location() { } /** - * Name of the project. If `type` is set to `S3`, this is the name of the output artifact object + * Name of the project. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, this is the name of the output artifact object. * */ @Import(name="name") private @Nullable Output name; /** - * @return Name of the project. If `type` is set to `S3`, this is the name of the output artifact object + * @return Name of the project. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, this is the name of the output artifact object. * */ public Optional> name() { @@ -92,14 +92,14 @@ public Optional> name() { } /** - * Namespace to use in storing build artifacts. If `type` is set to `S3`, then valid values are `BUILD_ID` or `NONE`. + * Namespace to use in storing build artifacts. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, valid values are `BUILD_ID` or `NONE`. * */ @Import(name="namespaceType") private @Nullable Output namespaceType; /** - * @return Namespace to use in storing build artifacts. If `type` is set to `S3`, then valid values are `BUILD_ID` or `NONE`. + * @return Namespace to use in storing build artifacts. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, valid values are `BUILD_ID` or `NONE`. * */ public Optional> namespaceType() { @@ -122,14 +122,14 @@ public Optional> overrideArtifactName() { } /** - * Type of build output artifact to create. If `type` is set to `S3`, valid values are `NONE`, `ZIP` + * Type of build output artifact to create. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, valid values are `NONE` or `ZIP`. * */ @Import(name="packaging") private @Nullable Output packaging; /** - * @return Type of build output artifact to create. If `type` is set to `S3`, valid values are `NONE`, `ZIP` + * @return Type of build output artifact to create. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, valid values are `NONE` or `ZIP`. * */ public Optional> packaging() { @@ -137,14 +137,14 @@ public Optional> packaging() { } /** - * If `type` is set to `S3`, this is the path to the output artifact. + * Along with `namespace_type` and `name`, the pattern that AWS CodeBuild uses to name and store the output artifact. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, this is the path to the output artifact. * */ @Import(name="path") private @Nullable Output path; /** - * @return If `type` is set to `S3`, this is the path to the output artifact. + * @return Along with `namespace_type` and `name`, the pattern that AWS CodeBuild uses to name and store the output artifact. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, this is the path to the output artifact. * */ public Optional> path() { @@ -152,14 +152,14 @@ public Optional> path() { } /** - * Build output artifact's type. The only valid value is `S3`. + * Build output artifact's type. Valid values `CODEPIPELINE`, `NO_ARTIFACTS`, and `S3`. * */ @Import(name="type", required=true) private Output type; /** - * @return Build output artifact's type. The only valid value is `S3`. + * @return Build output artifact's type. Valid values `CODEPIPELINE`, `NO_ARTIFACTS`, and `S3`. * */ public Output type() { @@ -221,7 +221,7 @@ public Builder artifactIdentifier(String artifactIdentifier) { } /** - * @param bucketOwnerAccess Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has access to these objects. This property allows you to give the bucket owner access to these objects. Valid values are `NONE`, `READ_ONLY`, and `FULL`. your CodeBuild service role must have the `s3:PutBucketAcl` permission. This permission allows CodeBuild to modify the access control list for the bucket. + * @param bucketOwnerAccess Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has access to these objects. This property allows you to give the bucket owner access to these objects. Valid values are `NONE`, `READ_ONLY`, and `FULL`. The CodeBuild service role must have the `s3:PutBucketAcl` permission. This permission allows CodeBuild to modify the access control list for the bucket. * * @return builder * @@ -232,7 +232,7 @@ public Builder bucketOwnerAccess(@Nullable Output bucketOwnerAccess) { } /** - * @param bucketOwnerAccess Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has access to these objects. This property allows you to give the bucket owner access to these objects. Valid values are `NONE`, `READ_ONLY`, and `FULL`. your CodeBuild service role must have the `s3:PutBucketAcl` permission. This permission allows CodeBuild to modify the access control list for the bucket. + * @param bucketOwnerAccess Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has access to these objects. This property allows you to give the bucket owner access to these objects. Valid values are `NONE`, `READ_ONLY`, and `FULL`. The CodeBuild service role must have the `s3:PutBucketAcl` permission. This permission allows CodeBuild to modify the access control list for the bucket. * * @return builder * @@ -263,7 +263,7 @@ public Builder encryptionDisabled(Boolean encryptionDisabled) { } /** - * @param location Information about the build output artifact location. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored. If `type` is set to `S3`, this is the name of the output bucket. If `path` is not also specified, then `location` can also specify the path of the output artifact in the output bucket. + * @param location Information about the build output artifact location. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, this is the name of the output bucket. If `path` is not specified, `location` can specify the path of the output artifact in the output bucket. * * @return builder * @@ -274,7 +274,7 @@ public Builder location(@Nullable Output location) { } /** - * @param location Information about the build output artifact location. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored. If `type` is set to `S3`, this is the name of the output bucket. If `path` is not also specified, then `location` can also specify the path of the output artifact in the output bucket. + * @param location Information about the build output artifact location. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, this is the name of the output bucket. If `path` is not specified, `location` can specify the path of the output artifact in the output bucket. * * @return builder * @@ -284,7 +284,7 @@ public Builder location(String location) { } /** - * @param name Name of the project. If `type` is set to `S3`, this is the name of the output artifact object + * @param name Name of the project. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, this is the name of the output artifact object. * * @return builder * @@ -295,7 +295,7 @@ public Builder name(@Nullable Output name) { } /** - * @param name Name of the project. If `type` is set to `S3`, this is the name of the output artifact object + * @param name Name of the project. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, this is the name of the output artifact object. * * @return builder * @@ -305,7 +305,7 @@ public Builder name(String name) { } /** - * @param namespaceType Namespace to use in storing build artifacts. If `type` is set to `S3`, then valid values are `BUILD_ID` or `NONE`. + * @param namespaceType Namespace to use in storing build artifacts. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, valid values are `BUILD_ID` or `NONE`. * * @return builder * @@ -316,7 +316,7 @@ public Builder namespaceType(@Nullable Output namespaceType) { } /** - * @param namespaceType Namespace to use in storing build artifacts. If `type` is set to `S3`, then valid values are `BUILD_ID` or `NONE`. + * @param namespaceType Namespace to use in storing build artifacts. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, valid values are `BUILD_ID` or `NONE`. * * @return builder * @@ -347,7 +347,7 @@ public Builder overrideArtifactName(Boolean overrideArtifactName) { } /** - * @param packaging Type of build output artifact to create. If `type` is set to `S3`, valid values are `NONE`, `ZIP` + * @param packaging Type of build output artifact to create. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, valid values are `NONE` or `ZIP`. * * @return builder * @@ -358,7 +358,7 @@ public Builder packaging(@Nullable Output packaging) { } /** - * @param packaging Type of build output artifact to create. If `type` is set to `S3`, valid values are `NONE`, `ZIP` + * @param packaging Type of build output artifact to create. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, valid values are `NONE` or `ZIP`. * * @return builder * @@ -368,7 +368,7 @@ public Builder packaging(String packaging) { } /** - * @param path If `type` is set to `S3`, this is the path to the output artifact. + * @param path Along with `namespace_type` and `name`, the pattern that AWS CodeBuild uses to name and store the output artifact. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, this is the path to the output artifact. * * @return builder * @@ -379,7 +379,7 @@ public Builder path(@Nullable Output path) { } /** - * @param path If `type` is set to `S3`, this is the path to the output artifact. + * @param path Along with `namespace_type` and `name`, the pattern that AWS CodeBuild uses to name and store the output artifact. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, this is the path to the output artifact. * * @return builder * @@ -389,7 +389,7 @@ public Builder path(String path) { } /** - * @param type Build output artifact's type. The only valid value is `S3`. + * @param type Build output artifact's type. Valid values `CODEPIPELINE`, `NO_ARTIFACTS`, and `S3`. * * @return builder * @@ -400,7 +400,7 @@ public Builder type(Output type) { } /** - * @param type Build output artifact's type. The only valid value is `S3`. + * @param type Build output artifact's type. Valid values `CODEPIPELINE`, `NO_ARTIFACTS`, and `S3`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/codebuild/outputs/ProjectSecondaryArtifact.java b/sdk/java/src/main/java/com/pulumi/aws/codebuild/outputs/ProjectSecondaryArtifact.java index 5e137af79eb..0771910e406 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codebuild/outputs/ProjectSecondaryArtifact.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codebuild/outputs/ProjectSecondaryArtifact.java @@ -18,7 +18,7 @@ public final class ProjectSecondaryArtifact { */ private String artifactIdentifier; /** - * @return Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has access to these objects. This property allows you to give the bucket owner access to these objects. Valid values are `NONE`, `READ_ONLY`, and `FULL`. your CodeBuild service role must have the `s3:PutBucketAcl` permission. This permission allows CodeBuild to modify the access control list for the bucket. + * @return Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has access to these objects. This property allows you to give the bucket owner access to these objects. Valid values are `NONE`, `READ_ONLY`, and `FULL`. The CodeBuild service role must have the `s3:PutBucketAcl` permission. This permission allows CodeBuild to modify the access control list for the bucket. * */ private @Nullable String bucketOwnerAccess; @@ -28,17 +28,17 @@ public final class ProjectSecondaryArtifact { */ private @Nullable Boolean encryptionDisabled; /** - * @return Information about the build output artifact location. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored. If `type` is set to `S3`, this is the name of the output bucket. If `path` is not also specified, then `location` can also specify the path of the output artifact in the output bucket. + * @return Information about the build output artifact location. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, this is the name of the output bucket. If `path` is not specified, `location` can specify the path of the output artifact in the output bucket. * */ private @Nullable String location; /** - * @return Name of the project. If `type` is set to `S3`, this is the name of the output artifact object + * @return Name of the project. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, this is the name of the output artifact object. * */ private @Nullable String name; /** - * @return Namespace to use in storing build artifacts. If `type` is set to `S3`, then valid values are `BUILD_ID` or `NONE`. + * @return Namespace to use in storing build artifacts. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, valid values are `BUILD_ID` or `NONE`. * */ private @Nullable String namespaceType; @@ -48,17 +48,17 @@ public final class ProjectSecondaryArtifact { */ private @Nullable Boolean overrideArtifactName; /** - * @return Type of build output artifact to create. If `type` is set to `S3`, valid values are `NONE`, `ZIP` + * @return Type of build output artifact to create. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, valid values are `NONE` or `ZIP`. * */ private @Nullable String packaging; /** - * @return If `type` is set to `S3`, this is the path to the output artifact. + * @return Along with `namespace_type` and `name`, the pattern that AWS CodeBuild uses to name and store the output artifact. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, this is the path to the output artifact. * */ private @Nullable String path; /** - * @return Build output artifact's type. The only valid value is `S3`. + * @return Build output artifact's type. Valid values `CODEPIPELINE`, `NO_ARTIFACTS`, and `S3`. * */ private String type; @@ -72,7 +72,7 @@ public String artifactIdentifier() { return this.artifactIdentifier; } /** - * @return Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has access to these objects. This property allows you to give the bucket owner access to these objects. Valid values are `NONE`, `READ_ONLY`, and `FULL`. your CodeBuild service role must have the `s3:PutBucketAcl` permission. This permission allows CodeBuild to modify the access control list for the bucket. + * @return Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has access to these objects. This property allows you to give the bucket owner access to these objects. Valid values are `NONE`, `READ_ONLY`, and `FULL`. The CodeBuild service role must have the `s3:PutBucketAcl` permission. This permission allows CodeBuild to modify the access control list for the bucket. * */ public Optional bucketOwnerAccess() { @@ -86,21 +86,21 @@ public Optional encryptionDisabled() { return Optional.ofNullable(this.encryptionDisabled); } /** - * @return Information about the build output artifact location. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored. If `type` is set to `S3`, this is the name of the output bucket. If `path` is not also specified, then `location` can also specify the path of the output artifact in the output bucket. + * @return Information about the build output artifact location. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, this is the name of the output bucket. If `path` is not specified, `location` can specify the path of the output artifact in the output bucket. * */ public Optional location() { return Optional.ofNullable(this.location); } /** - * @return Name of the project. If `type` is set to `S3`, this is the name of the output artifact object + * @return Name of the project. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, this is the name of the output artifact object. * */ public Optional name() { return Optional.ofNullable(this.name); } /** - * @return Namespace to use in storing build artifacts. If `type` is set to `S3`, then valid values are `BUILD_ID` or `NONE`. + * @return Namespace to use in storing build artifacts. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, valid values are `BUILD_ID` or `NONE`. * */ public Optional namespaceType() { @@ -114,21 +114,21 @@ public Optional overrideArtifactName() { return Optional.ofNullable(this.overrideArtifactName); } /** - * @return Type of build output artifact to create. If `type` is set to `S3`, valid values are `NONE`, `ZIP` + * @return Type of build output artifact to create. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, valid values are `NONE` or `ZIP`. * */ public Optional packaging() { return Optional.ofNullable(this.packaging); } /** - * @return If `type` is set to `S3`, this is the path to the output artifact. + * @return Along with `namespace_type` and `name`, the pattern that AWS CodeBuild uses to name and store the output artifact. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, this is the path to the output artifact. * */ public Optional path() { return Optional.ofNullable(this.path); } /** - * @return Build output artifact's type. The only valid value is `S3`. + * @return Build output artifact's type. Valid values `CODEPIPELINE`, `NO_ARTIFACTS`, and `S3`. * */ public String type() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/cognito/ResourceServer.java b/sdk/java/src/main/java/com/pulumi/aws/cognito/ResourceServer.java index 46acaba75bf..95884bcf7a8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cognito/ResourceServer.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cognito/ResourceServer.java @@ -97,7 +97,7 @@ * `aws_cognito_resource_server` can be imported using their User Pool ID and Identifier, e.g., * * ```sh - * $ pulumi import aws:cognito/resourceServer:ResourceServer example us-west-2_abc123:https://example.com + * $ pulumi import aws:cognito/resourceServer:ResourceServer example "us-west-2_abc123|https://example.com" * ``` * */ diff --git a/sdk/java/src/main/java/com/pulumi/aws/dynamodb/Table.java b/sdk/java/src/main/java/com/pulumi/aws/dynamodb/Table.java index 4654e94e9cd..ef447d3e177 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/dynamodb/Table.java +++ b/sdk/java/src/main/java/com/pulumi/aws/dynamodb/Table.java @@ -242,14 +242,14 @@ public Output hashKey() { return this.hashKey; } /** - * Describe an LSI on the table; these can only be allocated *at creation* so you cannot change this definition after you have created the resource. See below. + * Describe an LSI on the table; these can only be allocated _at creation_ so you cannot change this definition after you have created the resource. See below. * */ @Export(name="localSecondaryIndexes", refs={List.class,TableLocalSecondaryIndex.class}, tree="[0,1]") private Output> localSecondaryIndexes; /** - * @return Describe an LSI on the table; these can only be allocated *at creation* so you cannot change this definition after you have created the resource. See below. + * @return Describe an LSI on the table; these can only be allocated _at creation_ so you cannot change this definition after you have created the resource. See below. * */ public Output>> localSecondaryIndexes() { @@ -438,14 +438,18 @@ public Output streamViewType() { return this.streamViewType; } /** - * Storage class of the table. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + * Storage class of the table. + * Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + * Default value is `STANDARD`. * */ @Export(name="tableClass", refs={String.class}, tree="[0]") private Output tableClass; /** - * @return Storage class of the table. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + * @return Storage class of the table. + * Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + * Default value is `STANDARD`. * */ public Output> tableClass() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/dynamodb/TableArgs.java b/sdk/java/src/main/java/com/pulumi/aws/dynamodb/TableArgs.java index 929fa6041c3..10b1ce9254a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/dynamodb/TableArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/dynamodb/TableArgs.java @@ -87,14 +87,14 @@ public Optional> hashKey() { } /** - * Describe an LSI on the table; these can only be allocated *at creation* so you cannot change this definition after you have created the resource. See below. + * Describe an LSI on the table; these can only be allocated _at creation_ so you cannot change this definition after you have created the resource. See below. * */ @Import(name="localSecondaryIndexes") private @Nullable Output> localSecondaryIndexes; /** - * @return Describe an LSI on the table; these can only be allocated *at creation* so you cannot change this definition after you have created the resource. See below. + * @return Describe an LSI on the table; these can only be allocated _at creation_ so you cannot change this definition after you have created the resource. See below. * */ public Optional>> localSecondaryIndexes() { @@ -267,14 +267,18 @@ public Optional> streamViewType() { } /** - * Storage class of the table. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + * Storage class of the table. + * Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + * Default value is `STANDARD`. * */ @Import(name="tableClass") private @Nullable Output tableClass; /** - * @return Storage class of the table. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + * @return Storage class of the table. + * Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + * Default value is `STANDARD`. * */ public Optional> tableClass() { @@ -490,7 +494,7 @@ public Builder hashKey(String hashKey) { } /** - * @param localSecondaryIndexes Describe an LSI on the table; these can only be allocated *at creation* so you cannot change this definition after you have created the resource. See below. + * @param localSecondaryIndexes Describe an LSI on the table; these can only be allocated _at creation_ so you cannot change this definition after you have created the resource. See below. * * @return builder * @@ -501,7 +505,7 @@ public Builder localSecondaryIndexes(@Nullable Output localSec } /** - * @param localSecondaryIndexes Describe an LSI on the table; these can only be allocated *at creation* so you cannot change this definition after you have created the resource. See below. + * @param localSecondaryIndexes Describe an LSI on the table; these can only be allocated _at creation_ so you cannot change this definition after you have created the resource. See below. * * @return builder * @@ -762,7 +766,9 @@ public Builder streamViewType(String streamViewType) { } /** - * @param tableClass Storage class of the table. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + * @param tableClass Storage class of the table. + * Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + * Default value is `STANDARD`. * * @return builder * @@ -773,7 +779,9 @@ public Builder tableClass(@Nullable Output tableClass) { } /** - * @param tableClass Storage class of the table. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + * @param tableClass Storage class of the table. + * Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + * Default value is `STANDARD`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/dynamodb/inputs/TableState.java b/sdk/java/src/main/java/com/pulumi/aws/dynamodb/inputs/TableState.java index ff4182644ab..f01365ca2de 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/dynamodb/inputs/TableState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/dynamodb/inputs/TableState.java @@ -102,14 +102,14 @@ public Optional> hashKey() { } /** - * Describe an LSI on the table; these can only be allocated *at creation* so you cannot change this definition after you have created the resource. See below. + * Describe an LSI on the table; these can only be allocated _at creation_ so you cannot change this definition after you have created the resource. See below. * */ @Import(name="localSecondaryIndexes") private @Nullable Output> localSecondaryIndexes; /** - * @return Describe an LSI on the table; these can only be allocated *at creation* so you cannot change this definition after you have created the resource. See below. + * @return Describe an LSI on the table; these can only be allocated _at creation_ so you cannot change this definition after you have created the resource. See below. * */ public Optional>> localSecondaryIndexes() { @@ -312,14 +312,18 @@ public Optional> streamViewType() { } /** - * Storage class of the table. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + * Storage class of the table. + * Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + * Default value is `STANDARD`. * */ @Import(name="tableClass") private @Nullable Output tableClass; /** - * @return Storage class of the table. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + * @return Storage class of the table. + * Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + * Default value is `STANDARD`. * */ public Optional> tableClass() { @@ -559,7 +563,7 @@ public Builder hashKey(String hashKey) { } /** - * @param localSecondaryIndexes Describe an LSI on the table; these can only be allocated *at creation* so you cannot change this definition after you have created the resource. See below. + * @param localSecondaryIndexes Describe an LSI on the table; these can only be allocated _at creation_ so you cannot change this definition after you have created the resource. See below. * * @return builder * @@ -570,7 +574,7 @@ public Builder localSecondaryIndexes(@Nullable Output localSec } /** - * @param localSecondaryIndexes Describe an LSI on the table; these can only be allocated *at creation* so you cannot change this definition after you have created the resource. See below. + * @param localSecondaryIndexes Describe an LSI on the table; these can only be allocated _at creation_ so you cannot change this definition after you have created the resource. See below. * * @return builder * @@ -873,7 +877,9 @@ public Builder streamViewType(String streamViewType) { } /** - * @param tableClass Storage class of the table. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + * @param tableClass Storage class of the table. + * Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + * Default value is `STANDARD`. * * @return builder * @@ -884,7 +890,9 @@ public Builder tableClass(@Nullable Output tableClass) { } /** - * @param tableClass Storage class of the table. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + * @param tableClass Storage class of the table. + * Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + * Default value is `STANDARD`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/FlowLog.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/FlowLog.java index 7dcac74e18f..0dc2726fc72 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/FlowLog.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/FlowLog.java @@ -289,6 +289,20 @@ public class FlowLog extends com.pulumi.resources.CustomResource { public Output arn() { return this.arn; } + /** + * ARN of the IAM role that allows Amazon EC2 to publish flow logs across accounts. + * + */ + @Export(name="deliverCrossAccountRole", refs={String.class}, tree="[0]") + private Output deliverCrossAccountRole; + + /** + * @return ARN of the IAM role that allows Amazon EC2 to publish flow logs across accounts. + * + */ + public Output> deliverCrossAccountRole() { + return Codegen.optional(this.deliverCrossAccountRole); + } /** * Describes the destination options for a flow log. More details below. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/FlowLogArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/FlowLogArgs.java index 9f280ea46fc..164926759a1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/FlowLogArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/FlowLogArgs.java @@ -18,6 +18,21 @@ public final class FlowLogArgs extends com.pulumi.resources.ResourceArgs { public static final FlowLogArgs Empty = new FlowLogArgs(); + /** + * ARN of the IAM role that allows Amazon EC2 to publish flow logs across accounts. + * + */ + @Import(name="deliverCrossAccountRole") + private @Nullable Output deliverCrossAccountRole; + + /** + * @return ARN of the IAM role that allows Amazon EC2 to publish flow logs across accounts. + * + */ + public Optional> deliverCrossAccountRole() { + return Optional.ofNullable(this.deliverCrossAccountRole); + } + /** * Describes the destination options for a flow log. More details below. * @@ -245,6 +260,7 @@ public Optional> vpcId() { private FlowLogArgs() {} private FlowLogArgs(FlowLogArgs $) { + this.deliverCrossAccountRole = $.deliverCrossAccountRole; this.destinationOptions = $.destinationOptions; this.eniId = $.eniId; this.iamRoleArn = $.iamRoleArn; @@ -279,6 +295,27 @@ public Builder(FlowLogArgs defaults) { $ = new FlowLogArgs(Objects.requireNonNull(defaults)); } + /** + * @param deliverCrossAccountRole ARN of the IAM role that allows Amazon EC2 to publish flow logs across accounts. + * + * @return builder + * + */ + public Builder deliverCrossAccountRole(@Nullable Output deliverCrossAccountRole) { + $.deliverCrossAccountRole = deliverCrossAccountRole; + return this; + } + + /** + * @param deliverCrossAccountRole ARN of the IAM role that allows Amazon EC2 to publish flow logs across accounts. + * + * @return builder + * + */ + public Builder deliverCrossAccountRole(String deliverCrossAccountRole) { + return deliverCrossAccountRole(Output.of(deliverCrossAccountRole)); + } + /** * @param destinationOptions Describes the destination options for a flow log. More details below. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/LaunchConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/LaunchConfiguration.java index 3e172e2b5f4..30898089783 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/LaunchConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/LaunchConfiguration.java @@ -23,6 +23,8 @@ /** * Provides a resource to create a new launch configuration, used for autoscaling groups. * + * !> **WARNING:** The use of launch configurations is discouraged in favour of launch templates. Read more in the [AWS EC2 Documentation](https://docs.aws.amazon.com/autoscaling/ec2/userguide/launch-configurations.html). + * * > **Note** When using `aws.ec2.LaunchConfiguration` with `aws.autoscaling.Group`, it is recommended to use the `name_prefix` (Optional) instead of the `name` (Optional) attribute. * * ## Example Usage diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/FlowLogState.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/FlowLogState.java index ecd6c155ab8..b82e6e0788e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/FlowLogState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/FlowLogState.java @@ -33,6 +33,21 @@ public Optional> arn() { return Optional.ofNullable(this.arn); } + /** + * ARN of the IAM role that allows Amazon EC2 to publish flow logs across accounts. + * + */ + @Import(name="deliverCrossAccountRole") + private @Nullable Output deliverCrossAccountRole; + + /** + * @return ARN of the IAM role that allows Amazon EC2 to publish flow logs across accounts. + * + */ + public Optional> deliverCrossAccountRole() { + return Optional.ofNullable(this.deliverCrossAccountRole); + } + /** * Describes the destination options for a flow log. More details below. * @@ -276,6 +291,7 @@ private FlowLogState() {} private FlowLogState(FlowLogState $) { this.arn = $.arn; + this.deliverCrossAccountRole = $.deliverCrossAccountRole; this.destinationOptions = $.destinationOptions; this.eniId = $.eniId; this.iamRoleArn = $.iamRoleArn; @@ -332,6 +348,27 @@ public Builder arn(String arn) { return arn(Output.of(arn)); } + /** + * @param deliverCrossAccountRole ARN of the IAM role that allows Amazon EC2 to publish flow logs across accounts. + * + * @return builder + * + */ + public Builder deliverCrossAccountRole(@Nullable Output deliverCrossAccountRole) { + $.deliverCrossAccountRole = deliverCrossAccountRole; + return this; + } + + /** + * @param deliverCrossAccountRole ARN of the IAM role that allows Amazon EC2 to publish flow logs across accounts. + * + * @return builder + * + */ + public Builder deliverCrossAccountRole(String deliverCrossAccountRole) { + return deliverCrossAccountRole(Output.of(deliverCrossAccountRole)); + } + /** * @param destinationOptions Describes the destination options for a flow log. More details below. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/GetInstancesResult.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/GetInstancesResult.java index 92e314a64db..3ac86698d45 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/GetInstancesResult.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/GetInstancesResult.java @@ -26,6 +26,11 @@ public final class GetInstancesResult { private List ids; private @Nullable List instanceStateNames; private Map instanceTags; + /** + * @return IPv6 addresses of instances found through the filter + * + */ + private List ipv6Addresses; /** * @return Private IP addresses of instances found through the filter * @@ -61,6 +66,13 @@ public List instanceStateNames() { public Map instanceTags() { return this.instanceTags; } + /** + * @return IPv6 addresses of instances found through the filter + * + */ + public List ipv6Addresses() { + return this.ipv6Addresses; + } /** * @return Private IP addresses of instances found through the filter * @@ -90,6 +102,7 @@ public static final class Builder { private List ids; private @Nullable List instanceStateNames; private Map instanceTags; + private List ipv6Addresses; private List privateIps; private List publicIps; public Builder() {} @@ -100,6 +113,7 @@ public Builder(GetInstancesResult defaults) { this.ids = defaults.ids; this.instanceStateNames = defaults.instanceStateNames; this.instanceTags = defaults.instanceTags; + this.ipv6Addresses = defaults.ipv6Addresses; this.privateIps = defaults.privateIps; this.publicIps = defaults.publicIps; } @@ -139,6 +153,14 @@ public Builder instanceTags(Map instanceTags) { return this; } @CustomType.Setter + public Builder ipv6Addresses(List ipv6Addresses) { + this.ipv6Addresses = Objects.requireNonNull(ipv6Addresses); + return this; + } + public Builder ipv6Addresses(String... ipv6Addresses) { + return ipv6Addresses(List.of(ipv6Addresses)); + } + @CustomType.Setter public Builder privateIps(List privateIps) { this.privateIps = Objects.requireNonNull(privateIps); return this; @@ -161,6 +183,7 @@ public GetInstancesResult build() { o.ids = ids; o.instanceStateNames = instanceStateNames; o.instanceTags = instanceTags; + o.ipv6Addresses = ipv6Addresses; o.privateIps = privateIps; o.publicIps = publicIps; return o; diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/outputs/GetAttachmentResult.java b/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/outputs/GetAttachmentResult.java index 1c176c287e6..4fdc54af8e1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/outputs/GetAttachmentResult.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/outputs/GetAttachmentResult.java @@ -18,6 +18,16 @@ public final class GetAttachmentResult { * */ private String arn; + /** + * @return The state of the association (see [the underlying AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_TransitGatewayAttachmentAssociation.html) for valid values). + * + */ + private String associationState; + /** + * @return The ID of the route table for the transit gateway. + * + */ + private String associationTransitGatewayRouteTableId; private @Nullable List filters; /** * @return The provider-assigned unique ID for this managed resource. @@ -69,6 +79,20 @@ private GetAttachmentResult() {} public String arn() { return this.arn; } + /** + * @return The state of the association (see [the underlying AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_TransitGatewayAttachmentAssociation.html) for valid values). + * + */ + public String associationState() { + return this.associationState; + } + /** + * @return The ID of the route table for the transit gateway. + * + */ + public String associationTransitGatewayRouteTableId() { + return this.associationTransitGatewayRouteTableId; + } public List filters() { return this.filters == null ? List.of() : this.filters; } @@ -142,6 +166,8 @@ public static Builder builder(GetAttachmentResult defaults) { @CustomType.Builder public static final class Builder { private String arn; + private String associationState; + private String associationTransitGatewayRouteTableId; private @Nullable List filters; private String id; private String resourceId; @@ -156,6 +182,8 @@ public Builder() {} public Builder(GetAttachmentResult defaults) { Objects.requireNonNull(defaults); this.arn = defaults.arn; + this.associationState = defaults.associationState; + this.associationTransitGatewayRouteTableId = defaults.associationTransitGatewayRouteTableId; this.filters = defaults.filters; this.id = defaults.id; this.resourceId = defaults.resourceId; @@ -174,6 +202,16 @@ public Builder arn(String arn) { return this; } @CustomType.Setter + public Builder associationState(String associationState) { + this.associationState = Objects.requireNonNull(associationState); + return this; + } + @CustomType.Setter + public Builder associationTransitGatewayRouteTableId(String associationTransitGatewayRouteTableId) { + this.associationTransitGatewayRouteTableId = Objects.requireNonNull(associationTransitGatewayRouteTableId); + return this; + } + @CustomType.Setter public Builder filters(@Nullable List filters) { this.filters = filters; return this; @@ -229,6 +267,8 @@ public Builder transitGatewayOwnerId(String transitGatewayOwnerId) { public GetAttachmentResult build() { final var o = new GetAttachmentResult(); o.arn = arn; + o.associationState = associationState; + o.associationTransitGatewayRouteTableId = associationTransitGatewayRouteTableId; o.filters = filters; o.id = id; o.resourceId = resourceId; diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecs/EcsFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/ecs/EcsFunctions.java index 687f31fff23..dd5e9489091 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ecs/EcsFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ecs/EcsFunctions.java @@ -12,10 +12,13 @@ import com.pulumi.aws.ecs.inputs.GetServicePlainArgs; import com.pulumi.aws.ecs.inputs.GetTaskDefinitionArgs; import com.pulumi.aws.ecs.inputs.GetTaskDefinitionPlainArgs; +import com.pulumi.aws.ecs.inputs.GetTaskExecutionArgs; +import com.pulumi.aws.ecs.inputs.GetTaskExecutionPlainArgs; import com.pulumi.aws.ecs.outputs.GetClusterResult; import com.pulumi.aws.ecs.outputs.GetContainerDefinitionResult; import com.pulumi.aws.ecs.outputs.GetServiceResult; import com.pulumi.aws.ecs.outputs.GetTaskDefinitionResult; +import com.pulumi.aws.ecs.outputs.GetTaskExecutionResult; import com.pulumi.core.Output; import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; @@ -771,4 +774,48 @@ public static Output getTaskDefinition(GetTaskDefinitio public static CompletableFuture getTaskDefinitionPlain(GetTaskDefinitionPlainArgs args, InvokeOptions options) { return Deployment.getInstance().invokeAsync("aws:ecs/getTaskDefinition:getTaskDefinition", TypeShape.of(GetTaskDefinitionResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS ECS (Elastic Container) Task Execution. This data source calls the [RunTask](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html) API, allowing execution of one-time tasks that don't fit a standard resource lifecycle. See the feature request issue for additional context. + * + * > **NOTE on preview operations:** This data source calls the `RunTask` API on every read operation, which means new task(s) may be created from a `pulumi preview` command if all attributes are known. Placing this functionality behind a data source is an intentional trade off to enable use cases requiring a one-time task execution without relying on provisioners. Caution should be taken to ensure the data source is only executed once, or that the resulting tasks can safely run in parallel. + * + * ## Example Usage + * + */ + public static Output getTaskExecution(GetTaskExecutionArgs args) { + return getTaskExecution(args, InvokeOptions.Empty); + } + /** + * Data source for managing an AWS ECS (Elastic Container) Task Execution. This data source calls the [RunTask](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html) API, allowing execution of one-time tasks that don't fit a standard resource lifecycle. See the feature request issue for additional context. + * + * > **NOTE on preview operations:** This data source calls the `RunTask` API on every read operation, which means new task(s) may be created from a `pulumi preview` command if all attributes are known. Placing this functionality behind a data source is an intentional trade off to enable use cases requiring a one-time task execution without relying on provisioners. Caution should be taken to ensure the data source is only executed once, or that the resulting tasks can safely run in parallel. + * + * ## Example Usage + * + */ + public static CompletableFuture getTaskExecutionPlain(GetTaskExecutionPlainArgs args) { + return getTaskExecutionPlain(args, InvokeOptions.Empty); + } + /** + * Data source for managing an AWS ECS (Elastic Container) Task Execution. This data source calls the [RunTask](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html) API, allowing execution of one-time tasks that don't fit a standard resource lifecycle. See the feature request issue for additional context. + * + * > **NOTE on preview operations:** This data source calls the `RunTask` API on every read operation, which means new task(s) may be created from a `pulumi preview` command if all attributes are known. Placing this functionality behind a data source is an intentional trade off to enable use cases requiring a one-time task execution without relying on provisioners. Caution should be taken to ensure the data source is only executed once, or that the resulting tasks can safely run in parallel. + * + * ## Example Usage + * + */ + public static Output getTaskExecution(GetTaskExecutionArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("aws:ecs/getTaskExecution:getTaskExecution", TypeShape.of(GetTaskExecutionResult.class), args, Utilities.withVersion(options)); + } + /** + * Data source for managing an AWS ECS (Elastic Container) Task Execution. This data source calls the [RunTask](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html) API, allowing execution of one-time tasks that don't fit a standard resource lifecycle. See the feature request issue for additional context. + * + * > **NOTE on preview operations:** This data source calls the `RunTask` API on every read operation, which means new task(s) may be created from a `pulumi preview` command if all attributes are known. Placing this functionality behind a data source is an intentional trade off to enable use cases requiring a one-time task execution without relying on provisioners. Caution should be taken to ensure the data source is only executed once, or that the resulting tasks can safely run in parallel. + * + * ## Example Usage + * + */ + public static CompletableFuture getTaskExecutionPlain(GetTaskExecutionPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:ecs/getTaskExecution:getTaskExecution", TypeShape.of(GetTaskExecutionResult.class), args, Utilities.withVersion(options)); + } } diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionArgs.java new file mode 100644 index 00000000000..2e1122aee78 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionArgs.java @@ -0,0 +1,716 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ecs.inputs; + +import com.pulumi.aws.ecs.inputs.GetTaskExecutionCapacityProviderStrategyArgs; +import com.pulumi.aws.ecs.inputs.GetTaskExecutionNetworkConfigurationArgs; +import com.pulumi.aws.ecs.inputs.GetTaskExecutionOverridesArgs; +import com.pulumi.aws.ecs.inputs.GetTaskExecutionPlacementConstraintArgs; +import com.pulumi.aws.ecs.inputs.GetTaskExecutionPlacementStrategyArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetTaskExecutionArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetTaskExecutionArgs Empty = new GetTaskExecutionArgs(); + + /** + * Set of capacity provider strategies to use for the cluster. See below. + * + */ + @Import(name="capacityProviderStrategies") + private @Nullable Output> capacityProviderStrategies; + + /** + * @return Set of capacity provider strategies to use for the cluster. See below. + * + */ + public Optional>> capacityProviderStrategies() { + return Optional.ofNullable(this.capacityProviderStrategies); + } + + /** + * Short name or full Amazon Resource Name (ARN) of the cluster to run the task on. + * + */ + @Import(name="cluster", required=true) + private Output cluster; + + /** + * @return Short name or full Amazon Resource Name (ARN) of the cluster to run the task on. + * + */ + public Output cluster() { + return this.cluster; + } + + /** + * Number of instantiations of the specified task to place on your cluster. You can specify up to 10 tasks for each call. + * + */ + @Import(name="desiredCount") + private @Nullable Output desiredCount; + + /** + * @return Number of instantiations of the specified task to place on your cluster. You can specify up to 10 tasks for each call. + * + */ + public Optional> desiredCount() { + return Optional.ofNullable(this.desiredCount); + } + + /** + * Specifies whether to enable Amazon ECS managed tags for the tasks within the service. + * + */ + @Import(name="enableEcsManagedTags") + private @Nullable Output enableEcsManagedTags; + + /** + * @return Specifies whether to enable Amazon ECS managed tags for the tasks within the service. + * + */ + public Optional> enableEcsManagedTags() { + return Optional.ofNullable(this.enableEcsManagedTags); + } + + /** + * Specifies whether to enable Amazon ECS Exec for the tasks within the service. + * + */ + @Import(name="enableExecuteCommand") + private @Nullable Output enableExecuteCommand; + + /** + * @return Specifies whether to enable Amazon ECS Exec for the tasks within the service. + * + */ + public Optional> enableExecuteCommand() { + return Optional.ofNullable(this.enableExecuteCommand); + } + + /** + * Name of the task group to associate with the task. The default value is the family name of the task definition. + * + */ + @Import(name="group") + private @Nullable Output group; + + /** + * @return Name of the task group to associate with the task. The default value is the family name of the task definition. + * + */ + public Optional> group() { + return Optional.ofNullable(this.group); + } + + /** + * Launch type on which to run your service. Valid values are `EC2`, `FARGATE`, and `EXTERNAL`. + * + */ + @Import(name="launchType") + private @Nullable Output launchType; + + /** + * @return Launch type on which to run your service. Valid values are `EC2`, `FARGATE`, and `EXTERNAL`. + * + */ + public Optional> launchType() { + return Optional.ofNullable(this.launchType); + } + + /** + * Network configuration for the service. This parameter is required for task definitions that use the `awsvpc` network mode to receive their own Elastic Network Interface, and it is not supported for other network modes. See below. + * + */ + @Import(name="networkConfiguration") + private @Nullable Output networkConfiguration; + + /** + * @return Network configuration for the service. This parameter is required for task definitions that use the `awsvpc` network mode to receive their own Elastic Network Interface, and it is not supported for other network modes. See below. + * + */ + public Optional> networkConfiguration() { + return Optional.ofNullable(this.networkConfiguration); + } + + /** + * A list of container overrides that specify the name of a container in the specified task definition and the overrides it should receive. + * + */ + @Import(name="overrides") + private @Nullable Output overrides; + + /** + * @return A list of container overrides that specify the name of a container in the specified task definition and the overrides it should receive. + * + */ + public Optional> overrides() { + return Optional.ofNullable(this.overrides); + } + + /** + * An array of placement constraint objects to use for the task. You can specify up to 10 constraints for each task. See below. + * + */ + @Import(name="placementConstraints") + private @Nullable Output> placementConstraints; + + /** + * @return An array of placement constraint objects to use for the task. You can specify up to 10 constraints for each task. See below. + * + */ + public Optional>> placementConstraints() { + return Optional.ofNullable(this.placementConstraints); + } + + /** + * The placement strategy objects to use for the task. You can specify a maximum of 5 strategy rules for each task. See below. + * + */ + @Import(name="placementStrategies") + private @Nullable Output> placementStrategies; + + /** + * @return The placement strategy objects to use for the task. You can specify a maximum of 5 strategy rules for each task. See below. + * + */ + public Optional>> placementStrategies() { + return Optional.ofNullable(this.placementStrategies); + } + + /** + * The platform version the task uses. A platform version is only specified for tasks hosted on Fargate. If one isn't specified, the `LATEST` platform version is used. + * + */ + @Import(name="platformVersion") + private @Nullable Output platformVersion; + + /** + * @return The platform version the task uses. A platform version is only specified for tasks hosted on Fargate. If one isn't specified, the `LATEST` platform version is used. + * + */ + public Optional> platformVersion() { + return Optional.ofNullable(this.platformVersion); + } + + /** + * Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. An error will be received if you specify the `SERVICE` option when running a task. Valid values are `TASK_DEFINITION` or `NONE`. + * + */ + @Import(name="propagateTags") + private @Nullable Output propagateTags; + + /** + * @return Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. An error will be received if you specify the `SERVICE` option when running a task. Valid values are `TASK_DEFINITION` or `NONE`. + * + */ + public Optional> propagateTags() { + return Optional.ofNullable(this.propagateTags); + } + + /** + * The reference ID to use for the task. + * + */ + @Import(name="referenceId") + private @Nullable Output referenceId; + + /** + * @return The reference ID to use for the task. + * + */ + public Optional> referenceId() { + return Optional.ofNullable(this.referenceId); + } + + /** + * An optional tag specified when a task is started. + * + */ + @Import(name="startedBy") + private @Nullable Output startedBy; + + /** + * @return An optional tag specified when a task is started. + * + */ + public Optional> startedBy() { + return Optional.ofNullable(this.startedBy); + } + + /** + * 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. + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return 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 Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + /** + * The `family` and `revision` (`family:revision`) or full ARN of the task definition to run. If a revision isn't specified, the latest `ACTIVE` revision is used. + * + */ + @Import(name="taskDefinition", required=true) + private Output taskDefinition; + + /** + * @return The `family` and `revision` (`family:revision`) or full ARN of the task definition to run. If a revision isn't specified, the latest `ACTIVE` revision is used. + * + */ + public Output taskDefinition() { + return this.taskDefinition; + } + + private GetTaskExecutionArgs() {} + + private GetTaskExecutionArgs(GetTaskExecutionArgs $) { + this.capacityProviderStrategies = $.capacityProviderStrategies; + this.cluster = $.cluster; + this.desiredCount = $.desiredCount; + this.enableEcsManagedTags = $.enableEcsManagedTags; + this.enableExecuteCommand = $.enableExecuteCommand; + this.group = $.group; + this.launchType = $.launchType; + this.networkConfiguration = $.networkConfiguration; + this.overrides = $.overrides; + this.placementConstraints = $.placementConstraints; + this.placementStrategies = $.placementStrategies; + this.platformVersion = $.platformVersion; + this.propagateTags = $.propagateTags; + this.referenceId = $.referenceId; + this.startedBy = $.startedBy; + this.tags = $.tags; + this.taskDefinition = $.taskDefinition; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetTaskExecutionArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetTaskExecutionArgs $; + + public Builder() { + $ = new GetTaskExecutionArgs(); + } + + public Builder(GetTaskExecutionArgs defaults) { + $ = new GetTaskExecutionArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param capacityProviderStrategies Set of capacity provider strategies to use for the cluster. See below. + * + * @return builder + * + */ + public Builder capacityProviderStrategies(@Nullable Output> capacityProviderStrategies) { + $.capacityProviderStrategies = capacityProviderStrategies; + return this; + } + + /** + * @param capacityProviderStrategies Set of capacity provider strategies to use for the cluster. See below. + * + * @return builder + * + */ + public Builder capacityProviderStrategies(List capacityProviderStrategies) { + return capacityProviderStrategies(Output.of(capacityProviderStrategies)); + } + + /** + * @param capacityProviderStrategies Set of capacity provider strategies to use for the cluster. See below. + * + * @return builder + * + */ + public Builder capacityProviderStrategies(GetTaskExecutionCapacityProviderStrategyArgs... capacityProviderStrategies) { + return capacityProviderStrategies(List.of(capacityProviderStrategies)); + } + + /** + * @param cluster Short name or full Amazon Resource Name (ARN) of the cluster to run the task on. + * + * @return builder + * + */ + public Builder cluster(Output cluster) { + $.cluster = cluster; + return this; + } + + /** + * @param cluster Short name or full Amazon Resource Name (ARN) of the cluster to run the task on. + * + * @return builder + * + */ + public Builder cluster(String cluster) { + return cluster(Output.of(cluster)); + } + + /** + * @param desiredCount Number of instantiations of the specified task to place on your cluster. You can specify up to 10 tasks for each call. + * + * @return builder + * + */ + public Builder desiredCount(@Nullable Output desiredCount) { + $.desiredCount = desiredCount; + return this; + } + + /** + * @param desiredCount Number of instantiations of the specified task to place on your cluster. You can specify up to 10 tasks for each call. + * + * @return builder + * + */ + public Builder desiredCount(Integer desiredCount) { + return desiredCount(Output.of(desiredCount)); + } + + /** + * @param enableEcsManagedTags Specifies whether to enable Amazon ECS managed tags for the tasks within the service. + * + * @return builder + * + */ + public Builder enableEcsManagedTags(@Nullable Output enableEcsManagedTags) { + $.enableEcsManagedTags = enableEcsManagedTags; + return this; + } + + /** + * @param enableEcsManagedTags Specifies whether to enable Amazon ECS managed tags for the tasks within the service. + * + * @return builder + * + */ + public Builder enableEcsManagedTags(Boolean enableEcsManagedTags) { + return enableEcsManagedTags(Output.of(enableEcsManagedTags)); + } + + /** + * @param enableExecuteCommand Specifies whether to enable Amazon ECS Exec for the tasks within the service. + * + * @return builder + * + */ + public Builder enableExecuteCommand(@Nullable Output enableExecuteCommand) { + $.enableExecuteCommand = enableExecuteCommand; + return this; + } + + /** + * @param enableExecuteCommand Specifies whether to enable Amazon ECS Exec for the tasks within the service. + * + * @return builder + * + */ + public Builder enableExecuteCommand(Boolean enableExecuteCommand) { + return enableExecuteCommand(Output.of(enableExecuteCommand)); + } + + /** + * @param group Name of the task group to associate with the task. The default value is the family name of the task definition. + * + * @return builder + * + */ + public Builder group(@Nullable Output group) { + $.group = group; + return this; + } + + /** + * @param group Name of the task group to associate with the task. The default value is the family name of the task definition. + * + * @return builder + * + */ + public Builder group(String group) { + return group(Output.of(group)); + } + + /** + * @param launchType Launch type on which to run your service. Valid values are `EC2`, `FARGATE`, and `EXTERNAL`. + * + * @return builder + * + */ + public Builder launchType(@Nullable Output launchType) { + $.launchType = launchType; + return this; + } + + /** + * @param launchType Launch type on which to run your service. Valid values are `EC2`, `FARGATE`, and `EXTERNAL`. + * + * @return builder + * + */ + public Builder launchType(String launchType) { + return launchType(Output.of(launchType)); + } + + /** + * @param networkConfiguration Network configuration for the service. This parameter is required for task definitions that use the `awsvpc` network mode to receive their own Elastic Network Interface, and it is not supported for other network modes. See below. + * + * @return builder + * + */ + public Builder networkConfiguration(@Nullable Output networkConfiguration) { + $.networkConfiguration = networkConfiguration; + return this; + } + + /** + * @param networkConfiguration Network configuration for the service. This parameter is required for task definitions that use the `awsvpc` network mode to receive their own Elastic Network Interface, and it is not supported for other network modes. See below. + * + * @return builder + * + */ + public Builder networkConfiguration(GetTaskExecutionNetworkConfigurationArgs networkConfiguration) { + return networkConfiguration(Output.of(networkConfiguration)); + } + + /** + * @param overrides A list of container overrides that specify the name of a container in the specified task definition and the overrides it should receive. + * + * @return builder + * + */ + public Builder overrides(@Nullable Output overrides) { + $.overrides = overrides; + return this; + } + + /** + * @param overrides A list of container overrides that specify the name of a container in the specified task definition and the overrides it should receive. + * + * @return builder + * + */ + public Builder overrides(GetTaskExecutionOverridesArgs overrides) { + return overrides(Output.of(overrides)); + } + + /** + * @param placementConstraints An array of placement constraint objects to use for the task. You can specify up to 10 constraints for each task. See below. + * + * @return builder + * + */ + public Builder placementConstraints(@Nullable Output> placementConstraints) { + $.placementConstraints = placementConstraints; + return this; + } + + /** + * @param placementConstraints An array of placement constraint objects to use for the task. You can specify up to 10 constraints for each task. See below. + * + * @return builder + * + */ + public Builder placementConstraints(List placementConstraints) { + return placementConstraints(Output.of(placementConstraints)); + } + + /** + * @param placementConstraints An array of placement constraint objects to use for the task. You can specify up to 10 constraints for each task. See below. + * + * @return builder + * + */ + public Builder placementConstraints(GetTaskExecutionPlacementConstraintArgs... placementConstraints) { + return placementConstraints(List.of(placementConstraints)); + } + + /** + * @param placementStrategies The placement strategy objects to use for the task. You can specify a maximum of 5 strategy rules for each task. See below. + * + * @return builder + * + */ + public Builder placementStrategies(@Nullable Output> placementStrategies) { + $.placementStrategies = placementStrategies; + return this; + } + + /** + * @param placementStrategies The placement strategy objects to use for the task. You can specify a maximum of 5 strategy rules for each task. See below. + * + * @return builder + * + */ + public Builder placementStrategies(List placementStrategies) { + return placementStrategies(Output.of(placementStrategies)); + } + + /** + * @param placementStrategies The placement strategy objects to use for the task. You can specify a maximum of 5 strategy rules for each task. See below. + * + * @return builder + * + */ + public Builder placementStrategies(GetTaskExecutionPlacementStrategyArgs... placementStrategies) { + return placementStrategies(List.of(placementStrategies)); + } + + /** + * @param platformVersion The platform version the task uses. A platform version is only specified for tasks hosted on Fargate. If one isn't specified, the `LATEST` platform version is used. + * + * @return builder + * + */ + public Builder platformVersion(@Nullable Output platformVersion) { + $.platformVersion = platformVersion; + return this; + } + + /** + * @param platformVersion The platform version the task uses. A platform version is only specified for tasks hosted on Fargate. If one isn't specified, the `LATEST` platform version is used. + * + * @return builder + * + */ + public Builder platformVersion(String platformVersion) { + return platformVersion(Output.of(platformVersion)); + } + + /** + * @param propagateTags Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. An error will be received if you specify the `SERVICE` option when running a task. Valid values are `TASK_DEFINITION` or `NONE`. + * + * @return builder + * + */ + public Builder propagateTags(@Nullable Output propagateTags) { + $.propagateTags = propagateTags; + return this; + } + + /** + * @param propagateTags Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. An error will be received if you specify the `SERVICE` option when running a task. Valid values are `TASK_DEFINITION` or `NONE`. + * + * @return builder + * + */ + public Builder propagateTags(String propagateTags) { + return propagateTags(Output.of(propagateTags)); + } + + /** + * @param referenceId The reference ID to use for the task. + * + * @return builder + * + */ + public Builder referenceId(@Nullable Output referenceId) { + $.referenceId = referenceId; + return this; + } + + /** + * @param referenceId The reference ID to use for the task. + * + * @return builder + * + */ + public Builder referenceId(String referenceId) { + return referenceId(Output.of(referenceId)); + } + + /** + * @param startedBy An optional tag specified when a task is started. + * + * @return builder + * + */ + public Builder startedBy(@Nullable Output startedBy) { + $.startedBy = startedBy; + return this; + } + + /** + * @param startedBy An optional tag specified when a task is started. + * + * @return builder + * + */ + public Builder startedBy(String startedBy) { + return startedBy(Output.of(startedBy)); + } + + /** + * @param 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. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param 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. + * + * @return builder + * + */ + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + /** + * @param taskDefinition The `family` and `revision` (`family:revision`) or full ARN of the task definition to run. If a revision isn't specified, the latest `ACTIVE` revision is used. + * + * @return builder + * + */ + public Builder taskDefinition(Output taskDefinition) { + $.taskDefinition = taskDefinition; + return this; + } + + /** + * @param taskDefinition The `family` and `revision` (`family:revision`) or full ARN of the task definition to run. If a revision isn't specified, the latest `ACTIVE` revision is used. + * + * @return builder + * + */ + public Builder taskDefinition(String taskDefinition) { + return taskDefinition(Output.of(taskDefinition)); + } + + public GetTaskExecutionArgs build() { + $.cluster = Objects.requireNonNull($.cluster, "expected parameter 'cluster' to be non-null"); + $.taskDefinition = Objects.requireNonNull($.taskDefinition, "expected parameter 'taskDefinition' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionCapacityProviderStrategy.java b/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionCapacityProviderStrategy.java new file mode 100644 index 00000000000..5658dd5f0d5 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionCapacityProviderStrategy.java @@ -0,0 +1,128 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ecs.inputs; + +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetTaskExecutionCapacityProviderStrategy extends com.pulumi.resources.InvokeArgs { + + public static final GetTaskExecutionCapacityProviderStrategy Empty = new GetTaskExecutionCapacityProviderStrategy(); + + /** + * The number of tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a base defined. Defaults to `0`. + * + */ + @Import(name="base") + private @Nullable Integer base; + + /** + * @return The number of tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a base defined. Defaults to `0`. + * + */ + public Optional base() { + return Optional.ofNullable(this.base); + } + + /** + * Name of the capacity provider. + * + */ + @Import(name="capacityProvider", required=true) + private String capacityProvider; + + /** + * @return Name of the capacity provider. + * + */ + public String capacityProvider() { + return this.capacityProvider; + } + + /** + * The relative percentage of the total number of launched tasks that should use the specified capacity provider. The `weight` value is taken into consideration after the `base` count of tasks has been satisfied. Defaults to `0`. + * + */ + @Import(name="weight") + private @Nullable Integer weight; + + /** + * @return The relative percentage of the total number of launched tasks that should use the specified capacity provider. The `weight` value is taken into consideration after the `base` count of tasks has been satisfied. Defaults to `0`. + * + */ + public Optional weight() { + return Optional.ofNullable(this.weight); + } + + private GetTaskExecutionCapacityProviderStrategy() {} + + private GetTaskExecutionCapacityProviderStrategy(GetTaskExecutionCapacityProviderStrategy $) { + this.base = $.base; + this.capacityProvider = $.capacityProvider; + this.weight = $.weight; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetTaskExecutionCapacityProviderStrategy defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetTaskExecutionCapacityProviderStrategy $; + + public Builder() { + $ = new GetTaskExecutionCapacityProviderStrategy(); + } + + public Builder(GetTaskExecutionCapacityProviderStrategy defaults) { + $ = new GetTaskExecutionCapacityProviderStrategy(Objects.requireNonNull(defaults)); + } + + /** + * @param base The number of tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a base defined. Defaults to `0`. + * + * @return builder + * + */ + public Builder base(@Nullable Integer base) { + $.base = base; + return this; + } + + /** + * @param capacityProvider Name of the capacity provider. + * + * @return builder + * + */ + public Builder capacityProvider(String capacityProvider) { + $.capacityProvider = capacityProvider; + return this; + } + + /** + * @param weight The relative percentage of the total number of launched tasks that should use the specified capacity provider. The `weight` value is taken into consideration after the `base` count of tasks has been satisfied. Defaults to `0`. + * + * @return builder + * + */ + public Builder weight(@Nullable Integer weight) { + $.weight = weight; + return this; + } + + public GetTaskExecutionCapacityProviderStrategy build() { + $.capacityProvider = Objects.requireNonNull($.capacityProvider, "expected parameter 'capacityProvider' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionCapacityProviderStrategyArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionCapacityProviderStrategyArgs.java new file mode 100644 index 00000000000..3486ce4d9ce --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionCapacityProviderStrategyArgs.java @@ -0,0 +1,159 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ecs.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetTaskExecutionCapacityProviderStrategyArgs extends com.pulumi.resources.ResourceArgs { + + public static final GetTaskExecutionCapacityProviderStrategyArgs Empty = new GetTaskExecutionCapacityProviderStrategyArgs(); + + /** + * The number of tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a base defined. Defaults to `0`. + * + */ + @Import(name="base") + private @Nullable Output base; + + /** + * @return The number of tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a base defined. Defaults to `0`. + * + */ + public Optional> base() { + return Optional.ofNullable(this.base); + } + + /** + * Name of the capacity provider. + * + */ + @Import(name="capacityProvider", required=true) + private Output capacityProvider; + + /** + * @return Name of the capacity provider. + * + */ + public Output capacityProvider() { + return this.capacityProvider; + } + + /** + * The relative percentage of the total number of launched tasks that should use the specified capacity provider. The `weight` value is taken into consideration after the `base` count of tasks has been satisfied. Defaults to `0`. + * + */ + @Import(name="weight") + private @Nullable Output weight; + + /** + * @return The relative percentage of the total number of launched tasks that should use the specified capacity provider. The `weight` value is taken into consideration after the `base` count of tasks has been satisfied. Defaults to `0`. + * + */ + public Optional> weight() { + return Optional.ofNullable(this.weight); + } + + private GetTaskExecutionCapacityProviderStrategyArgs() {} + + private GetTaskExecutionCapacityProviderStrategyArgs(GetTaskExecutionCapacityProviderStrategyArgs $) { + this.base = $.base; + this.capacityProvider = $.capacityProvider; + this.weight = $.weight; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetTaskExecutionCapacityProviderStrategyArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetTaskExecutionCapacityProviderStrategyArgs $; + + public Builder() { + $ = new GetTaskExecutionCapacityProviderStrategyArgs(); + } + + public Builder(GetTaskExecutionCapacityProviderStrategyArgs defaults) { + $ = new GetTaskExecutionCapacityProviderStrategyArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param base The number of tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a base defined. Defaults to `0`. + * + * @return builder + * + */ + public Builder base(@Nullable Output base) { + $.base = base; + return this; + } + + /** + * @param base The number of tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a base defined. Defaults to `0`. + * + * @return builder + * + */ + public Builder base(Integer base) { + return base(Output.of(base)); + } + + /** + * @param capacityProvider Name of the capacity provider. + * + * @return builder + * + */ + public Builder capacityProvider(Output capacityProvider) { + $.capacityProvider = capacityProvider; + return this; + } + + /** + * @param capacityProvider Name of the capacity provider. + * + * @return builder + * + */ + public Builder capacityProvider(String capacityProvider) { + return capacityProvider(Output.of(capacityProvider)); + } + + /** + * @param weight The relative percentage of the total number of launched tasks that should use the specified capacity provider. The `weight` value is taken into consideration after the `base` count of tasks has been satisfied. Defaults to `0`. + * + * @return builder + * + */ + public Builder weight(@Nullable Output weight) { + $.weight = weight; + return this; + } + + /** + * @param weight The relative percentage of the total number of launched tasks that should use the specified capacity provider. The `weight` value is taken into consideration after the `base` count of tasks has been satisfied. Defaults to `0`. + * + * @return builder + * + */ + public Builder weight(Integer weight) { + return weight(Output.of(weight)); + } + + public GetTaskExecutionCapacityProviderStrategyArgs build() { + $.capacityProvider = Objects.requireNonNull($.capacityProvider, "expected parameter 'capacityProvider' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionNetworkConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionNetworkConfiguration.java new file mode 100644 index 00000000000..1b5761ebd61 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionNetworkConfiguration.java @@ -0,0 +1,149 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ecs.inputs; + +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetTaskExecutionNetworkConfiguration extends com.pulumi.resources.InvokeArgs { + + public static final GetTaskExecutionNetworkConfiguration Empty = new GetTaskExecutionNetworkConfiguration(); + + /** + * Assign a public IP address to the ENI (Fargate launch type only). Valid values are `true` or `false`. Default `false`. + * + */ + @Import(name="assignPublicIp") + private @Nullable Boolean assignPublicIp; + + /** + * @return Assign a public IP address to the ENI (Fargate launch type only). Valid values are `true` or `false`. Default `false`. + * + */ + public Optional assignPublicIp() { + return Optional.ofNullable(this.assignPublicIp); + } + + /** + * Security groups associated with the task or service. If you do not specify a security group, the default security group for the VPC is used. + * + */ + @Import(name="securityGroups") + private @Nullable List securityGroups; + + /** + * @return Security groups associated with the task or service. If you do not specify a security group, the default security group for the VPC is used. + * + */ + public Optional> securityGroups() { + return Optional.ofNullable(this.securityGroups); + } + + /** + * Subnets associated with the task or service. + * + */ + @Import(name="subnets", required=true) + private List subnets; + + /** + * @return Subnets associated with the task or service. + * + */ + public List subnets() { + return this.subnets; + } + + private GetTaskExecutionNetworkConfiguration() {} + + private GetTaskExecutionNetworkConfiguration(GetTaskExecutionNetworkConfiguration $) { + this.assignPublicIp = $.assignPublicIp; + this.securityGroups = $.securityGroups; + this.subnets = $.subnets; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetTaskExecutionNetworkConfiguration defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetTaskExecutionNetworkConfiguration $; + + public Builder() { + $ = new GetTaskExecutionNetworkConfiguration(); + } + + public Builder(GetTaskExecutionNetworkConfiguration defaults) { + $ = new GetTaskExecutionNetworkConfiguration(Objects.requireNonNull(defaults)); + } + + /** + * @param assignPublicIp Assign a public IP address to the ENI (Fargate launch type only). Valid values are `true` or `false`. Default `false`. + * + * @return builder + * + */ + public Builder assignPublicIp(@Nullable Boolean assignPublicIp) { + $.assignPublicIp = assignPublicIp; + return this; + } + + /** + * @param securityGroups Security groups associated with the task or service. If you do not specify a security group, the default security group for the VPC is used. + * + * @return builder + * + */ + public Builder securityGroups(@Nullable List securityGroups) { + $.securityGroups = securityGroups; + return this; + } + + /** + * @param securityGroups Security groups associated with the task or service. If you do not specify a security group, the default security group for the VPC is used. + * + * @return builder + * + */ + public Builder securityGroups(String... securityGroups) { + return securityGroups(List.of(securityGroups)); + } + + /** + * @param subnets Subnets associated with the task or service. + * + * @return builder + * + */ + public Builder subnets(List subnets) { + $.subnets = subnets; + return this; + } + + /** + * @param subnets Subnets associated with the task or service. + * + * @return builder + * + */ + public Builder subnets(String... subnets) { + return subnets(List.of(subnets)); + } + + public GetTaskExecutionNetworkConfiguration build() { + $.subnets = Objects.requireNonNull($.subnets, "expected parameter 'subnets' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionNetworkConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionNetworkConfigurationArgs.java new file mode 100644 index 00000000000..ff4257ba25b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionNetworkConfigurationArgs.java @@ -0,0 +1,180 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ecs.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetTaskExecutionNetworkConfigurationArgs extends com.pulumi.resources.ResourceArgs { + + public static final GetTaskExecutionNetworkConfigurationArgs Empty = new GetTaskExecutionNetworkConfigurationArgs(); + + /** + * Assign a public IP address to the ENI (Fargate launch type only). Valid values are `true` or `false`. Default `false`. + * + */ + @Import(name="assignPublicIp") + private @Nullable Output assignPublicIp; + + /** + * @return Assign a public IP address to the ENI (Fargate launch type only). Valid values are `true` or `false`. Default `false`. + * + */ + public Optional> assignPublicIp() { + return Optional.ofNullable(this.assignPublicIp); + } + + /** + * Security groups associated with the task or service. If you do not specify a security group, the default security group for the VPC is used. + * + */ + @Import(name="securityGroups") + private @Nullable Output> securityGroups; + + /** + * @return Security groups associated with the task or service. If you do not specify a security group, the default security group for the VPC is used. + * + */ + public Optional>> securityGroups() { + return Optional.ofNullable(this.securityGroups); + } + + /** + * Subnets associated with the task or service. + * + */ + @Import(name="subnets", required=true) + private Output> subnets; + + /** + * @return Subnets associated with the task or service. + * + */ + public Output> subnets() { + return this.subnets; + } + + private GetTaskExecutionNetworkConfigurationArgs() {} + + private GetTaskExecutionNetworkConfigurationArgs(GetTaskExecutionNetworkConfigurationArgs $) { + this.assignPublicIp = $.assignPublicIp; + this.securityGroups = $.securityGroups; + this.subnets = $.subnets; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetTaskExecutionNetworkConfigurationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetTaskExecutionNetworkConfigurationArgs $; + + public Builder() { + $ = new GetTaskExecutionNetworkConfigurationArgs(); + } + + public Builder(GetTaskExecutionNetworkConfigurationArgs defaults) { + $ = new GetTaskExecutionNetworkConfigurationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param assignPublicIp Assign a public IP address to the ENI (Fargate launch type only). Valid values are `true` or `false`. Default `false`. + * + * @return builder + * + */ + public Builder assignPublicIp(@Nullable Output assignPublicIp) { + $.assignPublicIp = assignPublicIp; + return this; + } + + /** + * @param assignPublicIp Assign a public IP address to the ENI (Fargate launch type only). Valid values are `true` or `false`. Default `false`. + * + * @return builder + * + */ + public Builder assignPublicIp(Boolean assignPublicIp) { + return assignPublicIp(Output.of(assignPublicIp)); + } + + /** + * @param securityGroups Security groups associated with the task or service. If you do not specify a security group, the default security group for the VPC is used. + * + * @return builder + * + */ + public Builder securityGroups(@Nullable Output> securityGroups) { + $.securityGroups = securityGroups; + return this; + } + + /** + * @param securityGroups Security groups associated with the task or service. If you do not specify a security group, the default security group for the VPC is used. + * + * @return builder + * + */ + public Builder securityGroups(List securityGroups) { + return securityGroups(Output.of(securityGroups)); + } + + /** + * @param securityGroups Security groups associated with the task or service. If you do not specify a security group, the default security group for the VPC is used. + * + * @return builder + * + */ + public Builder securityGroups(String... securityGroups) { + return securityGroups(List.of(securityGroups)); + } + + /** + * @param subnets Subnets associated with the task or service. + * + * @return builder + * + */ + public Builder subnets(Output> subnets) { + $.subnets = subnets; + return this; + } + + /** + * @param subnets Subnets associated with the task or service. + * + * @return builder + * + */ + public Builder subnets(List subnets) { + return subnets(Output.of(subnets)); + } + + /** + * @param subnets Subnets associated with the task or service. + * + * @return builder + * + */ + public Builder subnets(String... subnets) { + return subnets(List.of(subnets)); + } + + public GetTaskExecutionNetworkConfigurationArgs build() { + $.subnets = Objects.requireNonNull($.subnets, "expected parameter 'subnets' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionOverrides.java b/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionOverrides.java new file mode 100644 index 00000000000..55773e70b52 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionOverrides.java @@ -0,0 +1,230 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ecs.inputs; + +import com.pulumi.aws.ecs.inputs.GetTaskExecutionOverridesContainerOverride; +import com.pulumi.aws.ecs.inputs.GetTaskExecutionOverridesInferenceAcceleratorOverride; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetTaskExecutionOverrides extends com.pulumi.resources.InvokeArgs { + + public static final GetTaskExecutionOverrides Empty = new GetTaskExecutionOverrides(); + + /** + * One or more container overrides that are sent to a task. See below. + * + */ + @Import(name="containerOverrides") + private @Nullable List containerOverrides; + + /** + * @return One or more container overrides that are sent to a task. See below. + * + */ + public Optional> containerOverrides() { + return Optional.ofNullable(this.containerOverrides); + } + + /** + * The CPU override for the task. + * + */ + @Import(name="cpu") + private @Nullable String cpu; + + /** + * @return The CPU override for the task. + * + */ + public Optional cpu() { + return Optional.ofNullable(this.cpu); + } + + /** + * Amazon Resource Name (ARN) of the task execution role override for the task. + * + */ + @Import(name="executionRoleArn") + private @Nullable String executionRoleArn; + + /** + * @return Amazon Resource Name (ARN) of the task execution role override for the task. + * + */ + public Optional executionRoleArn() { + return Optional.ofNullable(this.executionRoleArn); + } + + /** + * Elastic Inference accelerator override for the task. See below. + * + */ + @Import(name="inferenceAcceleratorOverrides") + private @Nullable List inferenceAcceleratorOverrides; + + /** + * @return Elastic Inference accelerator override for the task. See below. + * + */ + public Optional> inferenceAcceleratorOverrides() { + return Optional.ofNullable(this.inferenceAcceleratorOverrides); + } + + /** + * The memory override for the task. + * + */ + @Import(name="memory") + private @Nullable String memory; + + /** + * @return The memory override for the task. + * + */ + public Optional memory() { + return Optional.ofNullable(this.memory); + } + + /** + * Amazon Resource Name (ARN) of the role that containers in this task can assume. + * + */ + @Import(name="taskRoleArn") + private @Nullable String taskRoleArn; + + /** + * @return Amazon Resource Name (ARN) of the role that containers in this task can assume. + * + */ + public Optional taskRoleArn() { + return Optional.ofNullable(this.taskRoleArn); + } + + private GetTaskExecutionOverrides() {} + + private GetTaskExecutionOverrides(GetTaskExecutionOverrides $) { + this.containerOverrides = $.containerOverrides; + this.cpu = $.cpu; + this.executionRoleArn = $.executionRoleArn; + this.inferenceAcceleratorOverrides = $.inferenceAcceleratorOverrides; + this.memory = $.memory; + this.taskRoleArn = $.taskRoleArn; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetTaskExecutionOverrides defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetTaskExecutionOverrides $; + + public Builder() { + $ = new GetTaskExecutionOverrides(); + } + + public Builder(GetTaskExecutionOverrides defaults) { + $ = new GetTaskExecutionOverrides(Objects.requireNonNull(defaults)); + } + + /** + * @param containerOverrides One or more container overrides that are sent to a task. See below. + * + * @return builder + * + */ + public Builder containerOverrides(@Nullable List containerOverrides) { + $.containerOverrides = containerOverrides; + return this; + } + + /** + * @param containerOverrides One or more container overrides that are sent to a task. See below. + * + * @return builder + * + */ + public Builder containerOverrides(GetTaskExecutionOverridesContainerOverride... containerOverrides) { + return containerOverrides(List.of(containerOverrides)); + } + + /** + * @param cpu The CPU override for the task. + * + * @return builder + * + */ + public Builder cpu(@Nullable String cpu) { + $.cpu = cpu; + return this; + } + + /** + * @param executionRoleArn Amazon Resource Name (ARN) of the task execution role override for the task. + * + * @return builder + * + */ + public Builder executionRoleArn(@Nullable String executionRoleArn) { + $.executionRoleArn = executionRoleArn; + return this; + } + + /** + * @param inferenceAcceleratorOverrides Elastic Inference accelerator override for the task. See below. + * + * @return builder + * + */ + public Builder inferenceAcceleratorOverrides(@Nullable List inferenceAcceleratorOverrides) { + $.inferenceAcceleratorOverrides = inferenceAcceleratorOverrides; + return this; + } + + /** + * @param inferenceAcceleratorOverrides Elastic Inference accelerator override for the task. See below. + * + * @return builder + * + */ + public Builder inferenceAcceleratorOverrides(GetTaskExecutionOverridesInferenceAcceleratorOverride... inferenceAcceleratorOverrides) { + return inferenceAcceleratorOverrides(List.of(inferenceAcceleratorOverrides)); + } + + /** + * @param memory The memory override for the task. + * + * @return builder + * + */ + public Builder memory(@Nullable String memory) { + $.memory = memory; + return this; + } + + /** + * @param taskRoleArn Amazon Resource Name (ARN) of the role that containers in this task can assume. + * + * @return builder + * + */ + public Builder taskRoleArn(@Nullable String taskRoleArn) { + $.taskRoleArn = taskRoleArn; + return this; + } + + public GetTaskExecutionOverrides build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionOverridesArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionOverridesArgs.java new file mode 100644 index 00000000000..82196463ca4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionOverridesArgs.java @@ -0,0 +1,291 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ecs.inputs; + +import com.pulumi.aws.ecs.inputs.GetTaskExecutionOverridesContainerOverrideArgs; +import com.pulumi.aws.ecs.inputs.GetTaskExecutionOverridesInferenceAcceleratorOverrideArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetTaskExecutionOverridesArgs extends com.pulumi.resources.ResourceArgs { + + public static final GetTaskExecutionOverridesArgs Empty = new GetTaskExecutionOverridesArgs(); + + /** + * One or more container overrides that are sent to a task. See below. + * + */ + @Import(name="containerOverrides") + private @Nullable Output> containerOverrides; + + /** + * @return One or more container overrides that are sent to a task. See below. + * + */ + public Optional>> containerOverrides() { + return Optional.ofNullable(this.containerOverrides); + } + + /** + * The CPU override for the task. + * + */ + @Import(name="cpu") + private @Nullable Output cpu; + + /** + * @return The CPU override for the task. + * + */ + public Optional> cpu() { + return Optional.ofNullable(this.cpu); + } + + /** + * Amazon Resource Name (ARN) of the task execution role override for the task. + * + */ + @Import(name="executionRoleArn") + private @Nullable Output executionRoleArn; + + /** + * @return Amazon Resource Name (ARN) of the task execution role override for the task. + * + */ + public Optional> executionRoleArn() { + return Optional.ofNullable(this.executionRoleArn); + } + + /** + * Elastic Inference accelerator override for the task. See below. + * + */ + @Import(name="inferenceAcceleratorOverrides") + private @Nullable Output> inferenceAcceleratorOverrides; + + /** + * @return Elastic Inference accelerator override for the task. See below. + * + */ + public Optional>> inferenceAcceleratorOverrides() { + return Optional.ofNullable(this.inferenceAcceleratorOverrides); + } + + /** + * The memory override for the task. + * + */ + @Import(name="memory") + private @Nullable Output memory; + + /** + * @return The memory override for the task. + * + */ + public Optional> memory() { + return Optional.ofNullable(this.memory); + } + + /** + * Amazon Resource Name (ARN) of the role that containers in this task can assume. + * + */ + @Import(name="taskRoleArn") + private @Nullable Output taskRoleArn; + + /** + * @return Amazon Resource Name (ARN) of the role that containers in this task can assume. + * + */ + public Optional> taskRoleArn() { + return Optional.ofNullable(this.taskRoleArn); + } + + private GetTaskExecutionOverridesArgs() {} + + private GetTaskExecutionOverridesArgs(GetTaskExecutionOverridesArgs $) { + this.containerOverrides = $.containerOverrides; + this.cpu = $.cpu; + this.executionRoleArn = $.executionRoleArn; + this.inferenceAcceleratorOverrides = $.inferenceAcceleratorOverrides; + this.memory = $.memory; + this.taskRoleArn = $.taskRoleArn; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetTaskExecutionOverridesArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetTaskExecutionOverridesArgs $; + + public Builder() { + $ = new GetTaskExecutionOverridesArgs(); + } + + public Builder(GetTaskExecutionOverridesArgs defaults) { + $ = new GetTaskExecutionOverridesArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param containerOverrides One or more container overrides that are sent to a task. See below. + * + * @return builder + * + */ + public Builder containerOverrides(@Nullable Output> containerOverrides) { + $.containerOverrides = containerOverrides; + return this; + } + + /** + * @param containerOverrides One or more container overrides that are sent to a task. See below. + * + * @return builder + * + */ + public Builder containerOverrides(List containerOverrides) { + return containerOverrides(Output.of(containerOverrides)); + } + + /** + * @param containerOverrides One or more container overrides that are sent to a task. See below. + * + * @return builder + * + */ + public Builder containerOverrides(GetTaskExecutionOverridesContainerOverrideArgs... containerOverrides) { + return containerOverrides(List.of(containerOverrides)); + } + + /** + * @param cpu The CPU override for the task. + * + * @return builder + * + */ + public Builder cpu(@Nullable Output cpu) { + $.cpu = cpu; + return this; + } + + /** + * @param cpu The CPU override for the task. + * + * @return builder + * + */ + public Builder cpu(String cpu) { + return cpu(Output.of(cpu)); + } + + /** + * @param executionRoleArn Amazon Resource Name (ARN) of the task execution role override for the task. + * + * @return builder + * + */ + public Builder executionRoleArn(@Nullable Output executionRoleArn) { + $.executionRoleArn = executionRoleArn; + return this; + } + + /** + * @param executionRoleArn Amazon Resource Name (ARN) of the task execution role override for the task. + * + * @return builder + * + */ + public Builder executionRoleArn(String executionRoleArn) { + return executionRoleArn(Output.of(executionRoleArn)); + } + + /** + * @param inferenceAcceleratorOverrides Elastic Inference accelerator override for the task. See below. + * + * @return builder + * + */ + public Builder inferenceAcceleratorOverrides(@Nullable Output> inferenceAcceleratorOverrides) { + $.inferenceAcceleratorOverrides = inferenceAcceleratorOverrides; + return this; + } + + /** + * @param inferenceAcceleratorOverrides Elastic Inference accelerator override for the task. See below. + * + * @return builder + * + */ + public Builder inferenceAcceleratorOverrides(List inferenceAcceleratorOverrides) { + return inferenceAcceleratorOverrides(Output.of(inferenceAcceleratorOverrides)); + } + + /** + * @param inferenceAcceleratorOverrides Elastic Inference accelerator override for the task. See below. + * + * @return builder + * + */ + public Builder inferenceAcceleratorOverrides(GetTaskExecutionOverridesInferenceAcceleratorOverrideArgs... inferenceAcceleratorOverrides) { + return inferenceAcceleratorOverrides(List.of(inferenceAcceleratorOverrides)); + } + + /** + * @param memory The memory override for the task. + * + * @return builder + * + */ + public Builder memory(@Nullable Output memory) { + $.memory = memory; + return this; + } + + /** + * @param memory The memory override for the task. + * + * @return builder + * + */ + public Builder memory(String memory) { + return memory(Output.of(memory)); + } + + /** + * @param taskRoleArn Amazon Resource Name (ARN) of the role that containers in this task can assume. + * + * @return builder + * + */ + public Builder taskRoleArn(@Nullable Output taskRoleArn) { + $.taskRoleArn = taskRoleArn; + return this; + } + + /** + * @param taskRoleArn Amazon Resource Name (ARN) of the role that containers in this task can assume. + * + * @return builder + * + */ + public Builder taskRoleArn(String taskRoleArn) { + return taskRoleArn(Output.of(taskRoleArn)); + } + + public GetTaskExecutionOverridesArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionOverridesContainerOverride.java b/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionOverridesContainerOverride.java new file mode 100644 index 00000000000..e9729f4daa7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionOverridesContainerOverride.java @@ -0,0 +1,269 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ecs.inputs; + +import com.pulumi.aws.ecs.inputs.GetTaskExecutionOverridesContainerOverrideEnvironment; +import com.pulumi.aws.ecs.inputs.GetTaskExecutionOverridesContainerOverrideResourceRequirement; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetTaskExecutionOverridesContainerOverride extends com.pulumi.resources.InvokeArgs { + + public static final GetTaskExecutionOverridesContainerOverride Empty = new GetTaskExecutionOverridesContainerOverride(); + + /** + * The command to send to the container that overrides the default command from the Docker image or the task definition. + * + */ + @Import(name="commands") + private @Nullable List commands; + + /** + * @return The command to send to the container that overrides the default command from the Docker image or the task definition. + * + */ + public Optional> commands() { + return Optional.ofNullable(this.commands); + } + + /** + * The number of cpu units reserved for the container, instead of the default value from the task definition. + * + */ + @Import(name="cpu") + private @Nullable Integer cpu; + + /** + * @return The number of cpu units reserved for the container, instead of the default value from the task definition. + * + */ + public Optional cpu() { + return Optional.ofNullable(this.cpu); + } + + /** + * The environment variables to send to the container. You can add new environment variables, which are added to the container at launch, or you can override the existing environment variables from the Docker image or the task definition. See below. + * + */ + @Import(name="environments") + private @Nullable List environments; + + /** + * @return The environment variables to send to the container. You can add new environment variables, which are added to the container at launch, or you can override the existing environment variables from the Docker image or the task definition. See below. + * + */ + public Optional> environments() { + return Optional.ofNullable(this.environments); + } + + /** + * The hard limit (in MiB) of memory to present to the container, instead of the default value from the task definition. If your container attempts to exceed the memory specified here, the container is killed. + * + */ + @Import(name="memory") + private @Nullable Integer memory; + + /** + * @return The hard limit (in MiB) of memory to present to the container, instead of the default value from the task definition. If your container attempts to exceed the memory specified here, the container is killed. + * + */ + public Optional memory() { + return Optional.ofNullable(this.memory); + } + + /** + * The soft limit (in MiB) of memory to reserve for the container, instead of the default value from the task definition. + * + */ + @Import(name="memoryReservation") + private @Nullable Integer memoryReservation; + + /** + * @return The soft limit (in MiB) of memory to reserve for the container, instead of the default value from the task definition. + * + */ + public Optional memoryReservation() { + return Optional.ofNullable(this.memoryReservation); + } + + /** + * The name of the container that receives the override. This parameter is required if any override is specified. + * + */ + @Import(name="name", required=true) + private String name; + + /** + * @return The name of the container that receives the override. This parameter is required if any override is specified. + * + */ + public String name() { + return this.name; + } + + /** + * The type and amount of a resource to assign to a container, instead of the default value from the task definition. The only supported resource is a GPU. See below. + * + */ + @Import(name="resourceRequirements") + private @Nullable List resourceRequirements; + + /** + * @return The type and amount of a resource to assign to a container, instead of the default value from the task definition. The only supported resource is a GPU. See below. + * + */ + public Optional> resourceRequirements() { + return Optional.ofNullable(this.resourceRequirements); + } + + private GetTaskExecutionOverridesContainerOverride() {} + + private GetTaskExecutionOverridesContainerOverride(GetTaskExecutionOverridesContainerOverride $) { + this.commands = $.commands; + this.cpu = $.cpu; + this.environments = $.environments; + this.memory = $.memory; + this.memoryReservation = $.memoryReservation; + this.name = $.name; + this.resourceRequirements = $.resourceRequirements; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetTaskExecutionOverridesContainerOverride defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetTaskExecutionOverridesContainerOverride $; + + public Builder() { + $ = new GetTaskExecutionOverridesContainerOverride(); + } + + public Builder(GetTaskExecutionOverridesContainerOverride defaults) { + $ = new GetTaskExecutionOverridesContainerOverride(Objects.requireNonNull(defaults)); + } + + /** + * @param commands The command to send to the container that overrides the default command from the Docker image or the task definition. + * + * @return builder + * + */ + public Builder commands(@Nullable List commands) { + $.commands = commands; + return this; + } + + /** + * @param commands The command to send to the container that overrides the default command from the Docker image or the task definition. + * + * @return builder + * + */ + public Builder commands(String... commands) { + return commands(List.of(commands)); + } + + /** + * @param cpu The number of cpu units reserved for the container, instead of the default value from the task definition. + * + * @return builder + * + */ + public Builder cpu(@Nullable Integer cpu) { + $.cpu = cpu; + return this; + } + + /** + * @param environments The environment variables to send to the container. You can add new environment variables, which are added to the container at launch, or you can override the existing environment variables from the Docker image or the task definition. See below. + * + * @return builder + * + */ + public Builder environments(@Nullable List environments) { + $.environments = environments; + return this; + } + + /** + * @param environments The environment variables to send to the container. You can add new environment variables, which are added to the container at launch, or you can override the existing environment variables from the Docker image or the task definition. See below. + * + * @return builder + * + */ + public Builder environments(GetTaskExecutionOverridesContainerOverrideEnvironment... environments) { + return environments(List.of(environments)); + } + + /** + * @param memory The hard limit (in MiB) of memory to present to the container, instead of the default value from the task definition. If your container attempts to exceed the memory specified here, the container is killed. + * + * @return builder + * + */ + public Builder memory(@Nullable Integer memory) { + $.memory = memory; + return this; + } + + /** + * @param memoryReservation The soft limit (in MiB) of memory to reserve for the container, instead of the default value from the task definition. + * + * @return builder + * + */ + public Builder memoryReservation(@Nullable Integer memoryReservation) { + $.memoryReservation = memoryReservation; + return this; + } + + /** + * @param name The name of the container that receives the override. This parameter is required if any override is specified. + * + * @return builder + * + */ + public Builder name(String name) { + $.name = name; + return this; + } + + /** + * @param resourceRequirements The type and amount of a resource to assign to a container, instead of the default value from the task definition. The only supported resource is a GPU. See below. + * + * @return builder + * + */ + public Builder resourceRequirements(@Nullable List resourceRequirements) { + $.resourceRequirements = resourceRequirements; + return this; + } + + /** + * @param resourceRequirements The type and amount of a resource to assign to a container, instead of the default value from the task definition. The only supported resource is a GPU. See below. + * + * @return builder + * + */ + public Builder resourceRequirements(GetTaskExecutionOverridesContainerOverrideResourceRequirement... resourceRequirements) { + return resourceRequirements(List.of(resourceRequirements)); + } + + public GetTaskExecutionOverridesContainerOverride build() { + $.name = Objects.requireNonNull($.name, "expected parameter 'name' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionOverridesContainerOverrideArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionOverridesContainerOverrideArgs.java new file mode 100644 index 00000000000..06399e9c275 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionOverridesContainerOverrideArgs.java @@ -0,0 +1,340 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ecs.inputs; + +import com.pulumi.aws.ecs.inputs.GetTaskExecutionOverridesContainerOverrideEnvironmentArgs; +import com.pulumi.aws.ecs.inputs.GetTaskExecutionOverridesContainerOverrideResourceRequirementArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetTaskExecutionOverridesContainerOverrideArgs extends com.pulumi.resources.ResourceArgs { + + public static final GetTaskExecutionOverridesContainerOverrideArgs Empty = new GetTaskExecutionOverridesContainerOverrideArgs(); + + /** + * The command to send to the container that overrides the default command from the Docker image or the task definition. + * + */ + @Import(name="commands") + private @Nullable Output> commands; + + /** + * @return The command to send to the container that overrides the default command from the Docker image or the task definition. + * + */ + public Optional>> commands() { + return Optional.ofNullable(this.commands); + } + + /** + * The number of cpu units reserved for the container, instead of the default value from the task definition. + * + */ + @Import(name="cpu") + private @Nullable Output cpu; + + /** + * @return The number of cpu units reserved for the container, instead of the default value from the task definition. + * + */ + public Optional> cpu() { + return Optional.ofNullable(this.cpu); + } + + /** + * The environment variables to send to the container. You can add new environment variables, which are added to the container at launch, or you can override the existing environment variables from the Docker image or the task definition. See below. + * + */ + @Import(name="environments") + private @Nullable Output> environments; + + /** + * @return The environment variables to send to the container. You can add new environment variables, which are added to the container at launch, or you can override the existing environment variables from the Docker image or the task definition. See below. + * + */ + public Optional>> environments() { + return Optional.ofNullable(this.environments); + } + + /** + * The hard limit (in MiB) of memory to present to the container, instead of the default value from the task definition. If your container attempts to exceed the memory specified here, the container is killed. + * + */ + @Import(name="memory") + private @Nullable Output memory; + + /** + * @return The hard limit (in MiB) of memory to present to the container, instead of the default value from the task definition. If your container attempts to exceed the memory specified here, the container is killed. + * + */ + public Optional> memory() { + return Optional.ofNullable(this.memory); + } + + /** + * The soft limit (in MiB) of memory to reserve for the container, instead of the default value from the task definition. + * + */ + @Import(name="memoryReservation") + private @Nullable Output memoryReservation; + + /** + * @return The soft limit (in MiB) of memory to reserve for the container, instead of the default value from the task definition. + * + */ + public Optional> memoryReservation() { + return Optional.ofNullable(this.memoryReservation); + } + + /** + * The name of the container that receives the override. This parameter is required if any override is specified. + * + */ + @Import(name="name", required=true) + private Output name; + + /** + * @return The name of the container that receives the override. This parameter is required if any override is specified. + * + */ + public Output name() { + return this.name; + } + + /** + * The type and amount of a resource to assign to a container, instead of the default value from the task definition. The only supported resource is a GPU. See below. + * + */ + @Import(name="resourceRequirements") + private @Nullable Output> resourceRequirements; + + /** + * @return The type and amount of a resource to assign to a container, instead of the default value from the task definition. The only supported resource is a GPU. See below. + * + */ + public Optional>> resourceRequirements() { + return Optional.ofNullable(this.resourceRequirements); + } + + private GetTaskExecutionOverridesContainerOverrideArgs() {} + + private GetTaskExecutionOverridesContainerOverrideArgs(GetTaskExecutionOverridesContainerOverrideArgs $) { + this.commands = $.commands; + this.cpu = $.cpu; + this.environments = $.environments; + this.memory = $.memory; + this.memoryReservation = $.memoryReservation; + this.name = $.name; + this.resourceRequirements = $.resourceRequirements; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetTaskExecutionOverridesContainerOverrideArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetTaskExecutionOverridesContainerOverrideArgs $; + + public Builder() { + $ = new GetTaskExecutionOverridesContainerOverrideArgs(); + } + + public Builder(GetTaskExecutionOverridesContainerOverrideArgs defaults) { + $ = new GetTaskExecutionOverridesContainerOverrideArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param commands The command to send to the container that overrides the default command from the Docker image or the task definition. + * + * @return builder + * + */ + public Builder commands(@Nullable Output> commands) { + $.commands = commands; + return this; + } + + /** + * @param commands The command to send to the container that overrides the default command from the Docker image or the task definition. + * + * @return builder + * + */ + public Builder commands(List commands) { + return commands(Output.of(commands)); + } + + /** + * @param commands The command to send to the container that overrides the default command from the Docker image or the task definition. + * + * @return builder + * + */ + public Builder commands(String... commands) { + return commands(List.of(commands)); + } + + /** + * @param cpu The number of cpu units reserved for the container, instead of the default value from the task definition. + * + * @return builder + * + */ + public Builder cpu(@Nullable Output cpu) { + $.cpu = cpu; + return this; + } + + /** + * @param cpu The number of cpu units reserved for the container, instead of the default value from the task definition. + * + * @return builder + * + */ + public Builder cpu(Integer cpu) { + return cpu(Output.of(cpu)); + } + + /** + * @param environments The environment variables to send to the container. You can add new environment variables, which are added to the container at launch, or you can override the existing environment variables from the Docker image or the task definition. See below. + * + * @return builder + * + */ + public Builder environments(@Nullable Output> environments) { + $.environments = environments; + return this; + } + + /** + * @param environments The environment variables to send to the container. You can add new environment variables, which are added to the container at launch, or you can override the existing environment variables from the Docker image or the task definition. See below. + * + * @return builder + * + */ + public Builder environments(List environments) { + return environments(Output.of(environments)); + } + + /** + * @param environments The environment variables to send to the container. You can add new environment variables, which are added to the container at launch, or you can override the existing environment variables from the Docker image or the task definition. See below. + * + * @return builder + * + */ + public Builder environments(GetTaskExecutionOverridesContainerOverrideEnvironmentArgs... environments) { + return environments(List.of(environments)); + } + + /** + * @param memory The hard limit (in MiB) of memory to present to the container, instead of the default value from the task definition. If your container attempts to exceed the memory specified here, the container is killed. + * + * @return builder + * + */ + public Builder memory(@Nullable Output memory) { + $.memory = memory; + return this; + } + + /** + * @param memory The hard limit (in MiB) of memory to present to the container, instead of the default value from the task definition. If your container attempts to exceed the memory specified here, the container is killed. + * + * @return builder + * + */ + public Builder memory(Integer memory) { + return memory(Output.of(memory)); + } + + /** + * @param memoryReservation The soft limit (in MiB) of memory to reserve for the container, instead of the default value from the task definition. + * + * @return builder + * + */ + public Builder memoryReservation(@Nullable Output memoryReservation) { + $.memoryReservation = memoryReservation; + return this; + } + + /** + * @param memoryReservation The soft limit (in MiB) of memory to reserve for the container, instead of the default value from the task definition. + * + * @return builder + * + */ + public Builder memoryReservation(Integer memoryReservation) { + return memoryReservation(Output.of(memoryReservation)); + } + + /** + * @param name The name of the container that receives the override. This parameter is required if any override is specified. + * + * @return builder + * + */ + public Builder name(Output name) { + $.name = name; + return this; + } + + /** + * @param name The name of the container that receives the override. This parameter is required if any override is specified. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param resourceRequirements The type and amount of a resource to assign to a container, instead of the default value from the task definition. The only supported resource is a GPU. See below. + * + * @return builder + * + */ + public Builder resourceRequirements(@Nullable Output> resourceRequirements) { + $.resourceRequirements = resourceRequirements; + return this; + } + + /** + * @param resourceRequirements The type and amount of a resource to assign to a container, instead of the default value from the task definition. The only supported resource is a GPU. See below. + * + * @return builder + * + */ + public Builder resourceRequirements(List resourceRequirements) { + return resourceRequirements(Output.of(resourceRequirements)); + } + + /** + * @param resourceRequirements The type and amount of a resource to assign to a container, instead of the default value from the task definition. The only supported resource is a GPU. See below. + * + * @return builder + * + */ + public Builder resourceRequirements(GetTaskExecutionOverridesContainerOverrideResourceRequirementArgs... resourceRequirements) { + return resourceRequirements(List.of(resourceRequirements)); + } + + public GetTaskExecutionOverridesContainerOverrideArgs build() { + $.name = Objects.requireNonNull($.name, "expected parameter 'name' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionOverridesContainerOverrideEnvironment.java b/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionOverridesContainerOverrideEnvironment.java new file mode 100644 index 00000000000..3390ac577aa --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionOverridesContainerOverrideEnvironment.java @@ -0,0 +1,99 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ecs.inputs; + +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class GetTaskExecutionOverridesContainerOverrideEnvironment extends com.pulumi.resources.InvokeArgs { + + public static final GetTaskExecutionOverridesContainerOverrideEnvironment Empty = new GetTaskExecutionOverridesContainerOverrideEnvironment(); + + /** + * The name of the key-value pair. For environment variables, this is the name of the environment variable. + * + */ + @Import(name="key", required=true) + private String key; + + /** + * @return The name of the key-value pair. For environment variables, this is the name of the environment variable. + * + */ + public String key() { + return this.key; + } + + /** + * The value of the key-value pair. For environment variables, this is the value of the environment variable. + * + */ + @Import(name="value", required=true) + private String value; + + /** + * @return The value of the key-value pair. For environment variables, this is the value of the environment variable. + * + */ + public String value() { + return this.value; + } + + private GetTaskExecutionOverridesContainerOverrideEnvironment() {} + + private GetTaskExecutionOverridesContainerOverrideEnvironment(GetTaskExecutionOverridesContainerOverrideEnvironment $) { + this.key = $.key; + this.value = $.value; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetTaskExecutionOverridesContainerOverrideEnvironment defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetTaskExecutionOverridesContainerOverrideEnvironment $; + + public Builder() { + $ = new GetTaskExecutionOverridesContainerOverrideEnvironment(); + } + + public Builder(GetTaskExecutionOverridesContainerOverrideEnvironment defaults) { + $ = new GetTaskExecutionOverridesContainerOverrideEnvironment(Objects.requireNonNull(defaults)); + } + + /** + * @param key The name of the key-value pair. For environment variables, this is the name of the environment variable. + * + * @return builder + * + */ + public Builder key(String key) { + $.key = key; + return this; + } + + /** + * @param value The value of the key-value pair. For environment variables, this is the value of the environment variable. + * + * @return builder + * + */ + public Builder value(String value) { + $.value = value; + return this; + } + + public GetTaskExecutionOverridesContainerOverrideEnvironment build() { + $.key = Objects.requireNonNull($.key, "expected parameter 'key' to be non-null"); + $.value = Objects.requireNonNull($.value, "expected parameter 'value' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionOverridesContainerOverrideEnvironmentArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionOverridesContainerOverrideEnvironmentArgs.java new file mode 100644 index 00000000000..b5bfad9bbc2 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionOverridesContainerOverrideEnvironmentArgs.java @@ -0,0 +1,120 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ecs.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class GetTaskExecutionOverridesContainerOverrideEnvironmentArgs extends com.pulumi.resources.ResourceArgs { + + public static final GetTaskExecutionOverridesContainerOverrideEnvironmentArgs Empty = new GetTaskExecutionOverridesContainerOverrideEnvironmentArgs(); + + /** + * The name of the key-value pair. For environment variables, this is the name of the environment variable. + * + */ + @Import(name="key", required=true) + private Output key; + + /** + * @return The name of the key-value pair. For environment variables, this is the name of the environment variable. + * + */ + public Output key() { + return this.key; + } + + /** + * The value of the key-value pair. For environment variables, this is the value of the environment variable. + * + */ + @Import(name="value", required=true) + private Output value; + + /** + * @return The value of the key-value pair. For environment variables, this is the value of the environment variable. + * + */ + public Output value() { + return this.value; + } + + private GetTaskExecutionOverridesContainerOverrideEnvironmentArgs() {} + + private GetTaskExecutionOverridesContainerOverrideEnvironmentArgs(GetTaskExecutionOverridesContainerOverrideEnvironmentArgs $) { + this.key = $.key; + this.value = $.value; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetTaskExecutionOverridesContainerOverrideEnvironmentArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetTaskExecutionOverridesContainerOverrideEnvironmentArgs $; + + public Builder() { + $ = new GetTaskExecutionOverridesContainerOverrideEnvironmentArgs(); + } + + public Builder(GetTaskExecutionOverridesContainerOverrideEnvironmentArgs defaults) { + $ = new GetTaskExecutionOverridesContainerOverrideEnvironmentArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param key The name of the key-value pair. For environment variables, this is the name of the environment variable. + * + * @return builder + * + */ + public Builder key(Output key) { + $.key = key; + return this; + } + + /** + * @param key The name of the key-value pair. For environment variables, this is the name of the environment variable. + * + * @return builder + * + */ + public Builder key(String key) { + return key(Output.of(key)); + } + + /** + * @param value The value of the key-value pair. For environment variables, this is the value of the environment variable. + * + * @return builder + * + */ + public Builder value(Output value) { + $.value = value; + return this; + } + + /** + * @param value The value of the key-value pair. For environment variables, this is the value of the environment variable. + * + * @return builder + * + */ + public Builder value(String value) { + return value(Output.of(value)); + } + + public GetTaskExecutionOverridesContainerOverrideEnvironmentArgs build() { + $.key = Objects.requireNonNull($.key, "expected parameter 'key' to be non-null"); + $.value = Objects.requireNonNull($.value, "expected parameter 'value' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionOverridesContainerOverrideResourceRequirement.java b/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionOverridesContainerOverrideResourceRequirement.java new file mode 100644 index 00000000000..fcc156247bb --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionOverridesContainerOverrideResourceRequirement.java @@ -0,0 +1,99 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ecs.inputs; + +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class GetTaskExecutionOverridesContainerOverrideResourceRequirement extends com.pulumi.resources.InvokeArgs { + + public static final GetTaskExecutionOverridesContainerOverrideResourceRequirement Empty = new GetTaskExecutionOverridesContainerOverrideResourceRequirement(); + + /** + * The type of resource to assign to a container. Valid values are `GPU` or `InferenceAccelerator`. + * + */ + @Import(name="type", required=true) + private String type; + + /** + * @return The type of resource to assign to a container. Valid values are `GPU` or `InferenceAccelerator`. + * + */ + public String type() { + return this.type; + } + + /** + * The value for the specified resource type. If the `GPU` type is used, the value is the number of physical GPUs the Amazon ECS container agent reserves for the container. The number of GPUs that's reserved for all containers in a task can't exceed the number of available GPUs on the container instance that the task is launched on. If the `InferenceAccelerator` type is used, the value matches the `deviceName` for an InferenceAccelerator specified in a task definition. + * + */ + @Import(name="value", required=true) + private String value; + + /** + * @return The value for the specified resource type. If the `GPU` type is used, the value is the number of physical GPUs the Amazon ECS container agent reserves for the container. The number of GPUs that's reserved for all containers in a task can't exceed the number of available GPUs on the container instance that the task is launched on. If the `InferenceAccelerator` type is used, the value matches the `deviceName` for an InferenceAccelerator specified in a task definition. + * + */ + public String value() { + return this.value; + } + + private GetTaskExecutionOverridesContainerOverrideResourceRequirement() {} + + private GetTaskExecutionOverridesContainerOverrideResourceRequirement(GetTaskExecutionOverridesContainerOverrideResourceRequirement $) { + this.type = $.type; + this.value = $.value; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetTaskExecutionOverridesContainerOverrideResourceRequirement defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetTaskExecutionOverridesContainerOverrideResourceRequirement $; + + public Builder() { + $ = new GetTaskExecutionOverridesContainerOverrideResourceRequirement(); + } + + public Builder(GetTaskExecutionOverridesContainerOverrideResourceRequirement defaults) { + $ = new GetTaskExecutionOverridesContainerOverrideResourceRequirement(Objects.requireNonNull(defaults)); + } + + /** + * @param type The type of resource to assign to a container. Valid values are `GPU` or `InferenceAccelerator`. + * + * @return builder + * + */ + public Builder type(String type) { + $.type = type; + return this; + } + + /** + * @param value The value for the specified resource type. If the `GPU` type is used, the value is the number of physical GPUs the Amazon ECS container agent reserves for the container. The number of GPUs that's reserved for all containers in a task can't exceed the number of available GPUs on the container instance that the task is launched on. If the `InferenceAccelerator` type is used, the value matches the `deviceName` for an InferenceAccelerator specified in a task definition. + * + * @return builder + * + */ + public Builder value(String value) { + $.value = value; + return this; + } + + public GetTaskExecutionOverridesContainerOverrideResourceRequirement build() { + $.type = Objects.requireNonNull($.type, "expected parameter 'type' to be non-null"); + $.value = Objects.requireNonNull($.value, "expected parameter 'value' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionOverridesContainerOverrideResourceRequirementArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionOverridesContainerOverrideResourceRequirementArgs.java new file mode 100644 index 00000000000..e9fe087f708 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionOverridesContainerOverrideResourceRequirementArgs.java @@ -0,0 +1,120 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ecs.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class GetTaskExecutionOverridesContainerOverrideResourceRequirementArgs extends com.pulumi.resources.ResourceArgs { + + public static final GetTaskExecutionOverridesContainerOverrideResourceRequirementArgs Empty = new GetTaskExecutionOverridesContainerOverrideResourceRequirementArgs(); + + /** + * The type of resource to assign to a container. Valid values are `GPU` or `InferenceAccelerator`. + * + */ + @Import(name="type", required=true) + private Output type; + + /** + * @return The type of resource to assign to a container. Valid values are `GPU` or `InferenceAccelerator`. + * + */ + public Output type() { + return this.type; + } + + /** + * The value for the specified resource type. If the `GPU` type is used, the value is the number of physical GPUs the Amazon ECS container agent reserves for the container. The number of GPUs that's reserved for all containers in a task can't exceed the number of available GPUs on the container instance that the task is launched on. If the `InferenceAccelerator` type is used, the value matches the `deviceName` for an InferenceAccelerator specified in a task definition. + * + */ + @Import(name="value", required=true) + private Output value; + + /** + * @return The value for the specified resource type. If the `GPU` type is used, the value is the number of physical GPUs the Amazon ECS container agent reserves for the container. The number of GPUs that's reserved for all containers in a task can't exceed the number of available GPUs on the container instance that the task is launched on. If the `InferenceAccelerator` type is used, the value matches the `deviceName` for an InferenceAccelerator specified in a task definition. + * + */ + public Output value() { + return this.value; + } + + private GetTaskExecutionOverridesContainerOverrideResourceRequirementArgs() {} + + private GetTaskExecutionOverridesContainerOverrideResourceRequirementArgs(GetTaskExecutionOverridesContainerOverrideResourceRequirementArgs $) { + this.type = $.type; + this.value = $.value; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetTaskExecutionOverridesContainerOverrideResourceRequirementArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetTaskExecutionOverridesContainerOverrideResourceRequirementArgs $; + + public Builder() { + $ = new GetTaskExecutionOverridesContainerOverrideResourceRequirementArgs(); + } + + public Builder(GetTaskExecutionOverridesContainerOverrideResourceRequirementArgs defaults) { + $ = new GetTaskExecutionOverridesContainerOverrideResourceRequirementArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param type The type of resource to assign to a container. Valid values are `GPU` or `InferenceAccelerator`. + * + * @return builder + * + */ + public Builder type(Output type) { + $.type = type; + return this; + } + + /** + * @param type The type of resource to assign to a container. Valid values are `GPU` or `InferenceAccelerator`. + * + * @return builder + * + */ + public Builder type(String type) { + return type(Output.of(type)); + } + + /** + * @param value The value for the specified resource type. If the `GPU` type is used, the value is the number of physical GPUs the Amazon ECS container agent reserves for the container. The number of GPUs that's reserved for all containers in a task can't exceed the number of available GPUs on the container instance that the task is launched on. If the `InferenceAccelerator` type is used, the value matches the `deviceName` for an InferenceAccelerator specified in a task definition. + * + * @return builder + * + */ + public Builder value(Output value) { + $.value = value; + return this; + } + + /** + * @param value The value for the specified resource type. If the `GPU` type is used, the value is the number of physical GPUs the Amazon ECS container agent reserves for the container. The number of GPUs that's reserved for all containers in a task can't exceed the number of available GPUs on the container instance that the task is launched on. If the `InferenceAccelerator` type is used, the value matches the `deviceName` for an InferenceAccelerator specified in a task definition. + * + * @return builder + * + */ + public Builder value(String value) { + return value(Output.of(value)); + } + + public GetTaskExecutionOverridesContainerOverrideResourceRequirementArgs build() { + $.type = Objects.requireNonNull($.type, "expected parameter 'type' to be non-null"); + $.value = Objects.requireNonNull($.value, "expected parameter 'value' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionOverridesInferenceAcceleratorOverride.java b/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionOverridesInferenceAcceleratorOverride.java new file mode 100644 index 00000000000..81f4d865cc2 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionOverridesInferenceAcceleratorOverride.java @@ -0,0 +1,99 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ecs.inputs; + +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetTaskExecutionOverridesInferenceAcceleratorOverride extends com.pulumi.resources.InvokeArgs { + + public static final GetTaskExecutionOverridesInferenceAcceleratorOverride Empty = new GetTaskExecutionOverridesInferenceAcceleratorOverride(); + + /** + * The Elastic Inference accelerator device name to override for the task. This parameter must match a deviceName specified in the task definition. + * + */ + @Import(name="deviceName") + private @Nullable String deviceName; + + /** + * @return The Elastic Inference accelerator device name to override for the task. This parameter must match a deviceName specified in the task definition. + * + */ + public Optional deviceName() { + return Optional.ofNullable(this.deviceName); + } + + /** + * The Elastic Inference accelerator type to use. + * + */ + @Import(name="deviceType") + private @Nullable String deviceType; + + /** + * @return The Elastic Inference accelerator type to use. + * + */ + public Optional deviceType() { + return Optional.ofNullable(this.deviceType); + } + + private GetTaskExecutionOverridesInferenceAcceleratorOverride() {} + + private GetTaskExecutionOverridesInferenceAcceleratorOverride(GetTaskExecutionOverridesInferenceAcceleratorOverride $) { + this.deviceName = $.deviceName; + this.deviceType = $.deviceType; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetTaskExecutionOverridesInferenceAcceleratorOverride defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetTaskExecutionOverridesInferenceAcceleratorOverride $; + + public Builder() { + $ = new GetTaskExecutionOverridesInferenceAcceleratorOverride(); + } + + public Builder(GetTaskExecutionOverridesInferenceAcceleratorOverride defaults) { + $ = new GetTaskExecutionOverridesInferenceAcceleratorOverride(Objects.requireNonNull(defaults)); + } + + /** + * @param deviceName The Elastic Inference accelerator device name to override for the task. This parameter must match a deviceName specified in the task definition. + * + * @return builder + * + */ + public Builder deviceName(@Nullable String deviceName) { + $.deviceName = deviceName; + return this; + } + + /** + * @param deviceType The Elastic Inference accelerator type to use. + * + * @return builder + * + */ + public Builder deviceType(@Nullable String deviceType) { + $.deviceType = deviceType; + return this; + } + + public GetTaskExecutionOverridesInferenceAcceleratorOverride build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionOverridesInferenceAcceleratorOverrideArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionOverridesInferenceAcceleratorOverrideArgs.java new file mode 100644 index 00000000000..b29d8975918 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionOverridesInferenceAcceleratorOverrideArgs.java @@ -0,0 +1,120 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ecs.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetTaskExecutionOverridesInferenceAcceleratorOverrideArgs extends com.pulumi.resources.ResourceArgs { + + public static final GetTaskExecutionOverridesInferenceAcceleratorOverrideArgs Empty = new GetTaskExecutionOverridesInferenceAcceleratorOverrideArgs(); + + /** + * The Elastic Inference accelerator device name to override for the task. This parameter must match a deviceName specified in the task definition. + * + */ + @Import(name="deviceName") + private @Nullable Output deviceName; + + /** + * @return The Elastic Inference accelerator device name to override for the task. This parameter must match a deviceName specified in the task definition. + * + */ + public Optional> deviceName() { + return Optional.ofNullable(this.deviceName); + } + + /** + * The Elastic Inference accelerator type to use. + * + */ + @Import(name="deviceType") + private @Nullable Output deviceType; + + /** + * @return The Elastic Inference accelerator type to use. + * + */ + public Optional> deviceType() { + return Optional.ofNullable(this.deviceType); + } + + private GetTaskExecutionOverridesInferenceAcceleratorOverrideArgs() {} + + private GetTaskExecutionOverridesInferenceAcceleratorOverrideArgs(GetTaskExecutionOverridesInferenceAcceleratorOverrideArgs $) { + this.deviceName = $.deviceName; + this.deviceType = $.deviceType; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetTaskExecutionOverridesInferenceAcceleratorOverrideArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetTaskExecutionOverridesInferenceAcceleratorOverrideArgs $; + + public Builder() { + $ = new GetTaskExecutionOverridesInferenceAcceleratorOverrideArgs(); + } + + public Builder(GetTaskExecutionOverridesInferenceAcceleratorOverrideArgs defaults) { + $ = new GetTaskExecutionOverridesInferenceAcceleratorOverrideArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param deviceName The Elastic Inference accelerator device name to override for the task. This parameter must match a deviceName specified in the task definition. + * + * @return builder + * + */ + public Builder deviceName(@Nullable Output deviceName) { + $.deviceName = deviceName; + return this; + } + + /** + * @param deviceName The Elastic Inference accelerator device name to override for the task. This parameter must match a deviceName specified in the task definition. + * + * @return builder + * + */ + public Builder deviceName(String deviceName) { + return deviceName(Output.of(deviceName)); + } + + /** + * @param deviceType The Elastic Inference accelerator type to use. + * + * @return builder + * + */ + public Builder deviceType(@Nullable Output deviceType) { + $.deviceType = deviceType; + return this; + } + + /** + * @param deviceType The Elastic Inference accelerator type to use. + * + * @return builder + * + */ + public Builder deviceType(String deviceType) { + return deviceType(Output.of(deviceType)); + } + + public GetTaskExecutionOverridesInferenceAcceleratorOverrideArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionPlacementConstraint.java b/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionPlacementConstraint.java new file mode 100644 index 00000000000..2b215e6ce7b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionPlacementConstraint.java @@ -0,0 +1,100 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ecs.inputs; + +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetTaskExecutionPlacementConstraint extends com.pulumi.resources.InvokeArgs { + + public static final GetTaskExecutionPlacementConstraint Empty = new GetTaskExecutionPlacementConstraint(); + + /** + * A cluster query language expression to apply to the constraint. The expression can have a maximum length of 2000 characters. You can't specify an expression if the constraint type is `distinctInstance`. + * + */ + @Import(name="expression") + private @Nullable String expression; + + /** + * @return A cluster query language expression to apply to the constraint. The expression can have a maximum length of 2000 characters. You can't specify an expression if the constraint type is `distinctInstance`. + * + */ + public Optional expression() { + return Optional.ofNullable(this.expression); + } + + /** + * The type of constraint. Valid values are `distinctInstance` or `memberOf`. Use `distinctInstance` to ensure that each task in a particular group is running on a different container instance. Use `memberOf` to restrict the selection to a group of valid candidates. + * + */ + @Import(name="type", required=true) + private String type; + + /** + * @return The type of constraint. Valid values are `distinctInstance` or `memberOf`. Use `distinctInstance` to ensure that each task in a particular group is running on a different container instance. Use `memberOf` to restrict the selection to a group of valid candidates. + * + */ + public String type() { + return this.type; + } + + private GetTaskExecutionPlacementConstraint() {} + + private GetTaskExecutionPlacementConstraint(GetTaskExecutionPlacementConstraint $) { + this.expression = $.expression; + this.type = $.type; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetTaskExecutionPlacementConstraint defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetTaskExecutionPlacementConstraint $; + + public Builder() { + $ = new GetTaskExecutionPlacementConstraint(); + } + + public Builder(GetTaskExecutionPlacementConstraint defaults) { + $ = new GetTaskExecutionPlacementConstraint(Objects.requireNonNull(defaults)); + } + + /** + * @param expression A cluster query language expression to apply to the constraint. The expression can have a maximum length of 2000 characters. You can't specify an expression if the constraint type is `distinctInstance`. + * + * @return builder + * + */ + public Builder expression(@Nullable String expression) { + $.expression = expression; + return this; + } + + /** + * @param type The type of constraint. Valid values are `distinctInstance` or `memberOf`. Use `distinctInstance` to ensure that each task in a particular group is running on a different container instance. Use `memberOf` to restrict the selection to a group of valid candidates. + * + * @return builder + * + */ + public Builder type(String type) { + $.type = type; + return this; + } + + public GetTaskExecutionPlacementConstraint build() { + $.type = Objects.requireNonNull($.type, "expected parameter 'type' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionPlacementConstraintArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionPlacementConstraintArgs.java new file mode 100644 index 00000000000..cc4eae92452 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionPlacementConstraintArgs.java @@ -0,0 +1,121 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ecs.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetTaskExecutionPlacementConstraintArgs extends com.pulumi.resources.ResourceArgs { + + public static final GetTaskExecutionPlacementConstraintArgs Empty = new GetTaskExecutionPlacementConstraintArgs(); + + /** + * A cluster query language expression to apply to the constraint. The expression can have a maximum length of 2000 characters. You can't specify an expression if the constraint type is `distinctInstance`. + * + */ + @Import(name="expression") + private @Nullable Output expression; + + /** + * @return A cluster query language expression to apply to the constraint. The expression can have a maximum length of 2000 characters. You can't specify an expression if the constraint type is `distinctInstance`. + * + */ + public Optional> expression() { + return Optional.ofNullable(this.expression); + } + + /** + * The type of constraint. Valid values are `distinctInstance` or `memberOf`. Use `distinctInstance` to ensure that each task in a particular group is running on a different container instance. Use `memberOf` to restrict the selection to a group of valid candidates. + * + */ + @Import(name="type", required=true) + private Output type; + + /** + * @return The type of constraint. Valid values are `distinctInstance` or `memberOf`. Use `distinctInstance` to ensure that each task in a particular group is running on a different container instance. Use `memberOf` to restrict the selection to a group of valid candidates. + * + */ + public Output type() { + return this.type; + } + + private GetTaskExecutionPlacementConstraintArgs() {} + + private GetTaskExecutionPlacementConstraintArgs(GetTaskExecutionPlacementConstraintArgs $) { + this.expression = $.expression; + this.type = $.type; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetTaskExecutionPlacementConstraintArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetTaskExecutionPlacementConstraintArgs $; + + public Builder() { + $ = new GetTaskExecutionPlacementConstraintArgs(); + } + + public Builder(GetTaskExecutionPlacementConstraintArgs defaults) { + $ = new GetTaskExecutionPlacementConstraintArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param expression A cluster query language expression to apply to the constraint. The expression can have a maximum length of 2000 characters. You can't specify an expression if the constraint type is `distinctInstance`. + * + * @return builder + * + */ + public Builder expression(@Nullable Output expression) { + $.expression = expression; + return this; + } + + /** + * @param expression A cluster query language expression to apply to the constraint. The expression can have a maximum length of 2000 characters. You can't specify an expression if the constraint type is `distinctInstance`. + * + * @return builder + * + */ + public Builder expression(String expression) { + return expression(Output.of(expression)); + } + + /** + * @param type The type of constraint. Valid values are `distinctInstance` or `memberOf`. Use `distinctInstance` to ensure that each task in a particular group is running on a different container instance. Use `memberOf` to restrict the selection to a group of valid candidates. + * + * @return builder + * + */ + public Builder type(Output type) { + $.type = type; + return this; + } + + /** + * @param type The type of constraint. Valid values are `distinctInstance` or `memberOf`. Use `distinctInstance` to ensure that each task in a particular group is running on a different container instance. Use `memberOf` to restrict the selection to a group of valid candidates. + * + * @return builder + * + */ + public Builder type(String type) { + return type(Output.of(type)); + } + + public GetTaskExecutionPlacementConstraintArgs build() { + $.type = Objects.requireNonNull($.type, "expected parameter 'type' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionPlacementStrategy.java b/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionPlacementStrategy.java new file mode 100644 index 00000000000..bdbcf1b308a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionPlacementStrategy.java @@ -0,0 +1,100 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ecs.inputs; + +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetTaskExecutionPlacementStrategy extends com.pulumi.resources.InvokeArgs { + + public static final GetTaskExecutionPlacementStrategy Empty = new GetTaskExecutionPlacementStrategy(); + + /** + * The field to apply the placement strategy against. + * + */ + @Import(name="field") + private @Nullable String field; + + /** + * @return The field to apply the placement strategy against. + * + */ + public Optional field() { + return Optional.ofNullable(this.field); + } + + /** + * The type of placement strategy. Valid values are `random`, `spread`, and `binpack`. + * + */ + @Import(name="type", required=true) + private String type; + + /** + * @return The type of placement strategy. Valid values are `random`, `spread`, and `binpack`. + * + */ + public String type() { + return this.type; + } + + private GetTaskExecutionPlacementStrategy() {} + + private GetTaskExecutionPlacementStrategy(GetTaskExecutionPlacementStrategy $) { + this.field = $.field; + this.type = $.type; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetTaskExecutionPlacementStrategy defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetTaskExecutionPlacementStrategy $; + + public Builder() { + $ = new GetTaskExecutionPlacementStrategy(); + } + + public Builder(GetTaskExecutionPlacementStrategy defaults) { + $ = new GetTaskExecutionPlacementStrategy(Objects.requireNonNull(defaults)); + } + + /** + * @param field The field to apply the placement strategy against. + * + * @return builder + * + */ + public Builder field(@Nullable String field) { + $.field = field; + return this; + } + + /** + * @param type The type of placement strategy. Valid values are `random`, `spread`, and `binpack`. + * + * @return builder + * + */ + public Builder type(String type) { + $.type = type; + return this; + } + + public GetTaskExecutionPlacementStrategy build() { + $.type = Objects.requireNonNull($.type, "expected parameter 'type' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionPlacementStrategyArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionPlacementStrategyArgs.java new file mode 100644 index 00000000000..048c06ec54f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionPlacementStrategyArgs.java @@ -0,0 +1,121 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ecs.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetTaskExecutionPlacementStrategyArgs extends com.pulumi.resources.ResourceArgs { + + public static final GetTaskExecutionPlacementStrategyArgs Empty = new GetTaskExecutionPlacementStrategyArgs(); + + /** + * The field to apply the placement strategy against. + * + */ + @Import(name="field") + private @Nullable Output field; + + /** + * @return The field to apply the placement strategy against. + * + */ + public Optional> field() { + return Optional.ofNullable(this.field); + } + + /** + * The type of placement strategy. Valid values are `random`, `spread`, and `binpack`. + * + */ + @Import(name="type", required=true) + private Output type; + + /** + * @return The type of placement strategy. Valid values are `random`, `spread`, and `binpack`. + * + */ + public Output type() { + return this.type; + } + + private GetTaskExecutionPlacementStrategyArgs() {} + + private GetTaskExecutionPlacementStrategyArgs(GetTaskExecutionPlacementStrategyArgs $) { + this.field = $.field; + this.type = $.type; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetTaskExecutionPlacementStrategyArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetTaskExecutionPlacementStrategyArgs $; + + public Builder() { + $ = new GetTaskExecutionPlacementStrategyArgs(); + } + + public Builder(GetTaskExecutionPlacementStrategyArgs defaults) { + $ = new GetTaskExecutionPlacementStrategyArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param field The field to apply the placement strategy against. + * + * @return builder + * + */ + public Builder field(@Nullable Output field) { + $.field = field; + return this; + } + + /** + * @param field The field to apply the placement strategy against. + * + * @return builder + * + */ + public Builder field(String field) { + return field(Output.of(field)); + } + + /** + * @param type The type of placement strategy. Valid values are `random`, `spread`, and `binpack`. + * + * @return builder + * + */ + public Builder type(Output type) { + $.type = type; + return this; + } + + /** + * @param type The type of placement strategy. Valid values are `random`, `spread`, and `binpack`. + * + * @return builder + * + */ + public Builder type(String type) { + return type(Output.of(type)); + } + + public GetTaskExecutionPlacementStrategyArgs build() { + $.type = Objects.requireNonNull($.type, "expected parameter 'type' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionPlainArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionPlainArgs.java new file mode 100644 index 00000000000..44ef95ca4f4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/GetTaskExecutionPlainArgs.java @@ -0,0 +1,545 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ecs.inputs; + +import com.pulumi.aws.ecs.inputs.GetTaskExecutionCapacityProviderStrategy; +import com.pulumi.aws.ecs.inputs.GetTaskExecutionNetworkConfiguration; +import com.pulumi.aws.ecs.inputs.GetTaskExecutionOverrides; +import com.pulumi.aws.ecs.inputs.GetTaskExecutionPlacementConstraint; +import com.pulumi.aws.ecs.inputs.GetTaskExecutionPlacementStrategy; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetTaskExecutionPlainArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetTaskExecutionPlainArgs Empty = new GetTaskExecutionPlainArgs(); + + /** + * Set of capacity provider strategies to use for the cluster. See below. + * + */ + @Import(name="capacityProviderStrategies") + private @Nullable List capacityProviderStrategies; + + /** + * @return Set of capacity provider strategies to use for the cluster. See below. + * + */ + public Optional> capacityProviderStrategies() { + return Optional.ofNullable(this.capacityProviderStrategies); + } + + /** + * Short name or full Amazon Resource Name (ARN) of the cluster to run the task on. + * + */ + @Import(name="cluster", required=true) + private String cluster; + + /** + * @return Short name or full Amazon Resource Name (ARN) of the cluster to run the task on. + * + */ + public String cluster() { + return this.cluster; + } + + /** + * Number of instantiations of the specified task to place on your cluster. You can specify up to 10 tasks for each call. + * + */ + @Import(name="desiredCount") + private @Nullable Integer desiredCount; + + /** + * @return Number of instantiations of the specified task to place on your cluster. You can specify up to 10 tasks for each call. + * + */ + public Optional desiredCount() { + return Optional.ofNullable(this.desiredCount); + } + + /** + * Specifies whether to enable Amazon ECS managed tags for the tasks within the service. + * + */ + @Import(name="enableEcsManagedTags") + private @Nullable Boolean enableEcsManagedTags; + + /** + * @return Specifies whether to enable Amazon ECS managed tags for the tasks within the service. + * + */ + public Optional enableEcsManagedTags() { + return Optional.ofNullable(this.enableEcsManagedTags); + } + + /** + * Specifies whether to enable Amazon ECS Exec for the tasks within the service. + * + */ + @Import(name="enableExecuteCommand") + private @Nullable Boolean enableExecuteCommand; + + /** + * @return Specifies whether to enable Amazon ECS Exec for the tasks within the service. + * + */ + public Optional enableExecuteCommand() { + return Optional.ofNullable(this.enableExecuteCommand); + } + + /** + * Name of the task group to associate with the task. The default value is the family name of the task definition. + * + */ + @Import(name="group") + private @Nullable String group; + + /** + * @return Name of the task group to associate with the task. The default value is the family name of the task definition. + * + */ + public Optional group() { + return Optional.ofNullable(this.group); + } + + /** + * Launch type on which to run your service. Valid values are `EC2`, `FARGATE`, and `EXTERNAL`. + * + */ + @Import(name="launchType") + private @Nullable String launchType; + + /** + * @return Launch type on which to run your service. Valid values are `EC2`, `FARGATE`, and `EXTERNAL`. + * + */ + public Optional launchType() { + return Optional.ofNullable(this.launchType); + } + + /** + * Network configuration for the service. This parameter is required for task definitions that use the `awsvpc` network mode to receive their own Elastic Network Interface, and it is not supported for other network modes. See below. + * + */ + @Import(name="networkConfiguration") + private @Nullable GetTaskExecutionNetworkConfiguration networkConfiguration; + + /** + * @return Network configuration for the service. This parameter is required for task definitions that use the `awsvpc` network mode to receive their own Elastic Network Interface, and it is not supported for other network modes. See below. + * + */ + public Optional networkConfiguration() { + return Optional.ofNullable(this.networkConfiguration); + } + + /** + * A list of container overrides that specify the name of a container in the specified task definition and the overrides it should receive. + * + */ + @Import(name="overrides") + private @Nullable GetTaskExecutionOverrides overrides; + + /** + * @return A list of container overrides that specify the name of a container in the specified task definition and the overrides it should receive. + * + */ + public Optional overrides() { + return Optional.ofNullable(this.overrides); + } + + /** + * An array of placement constraint objects to use for the task. You can specify up to 10 constraints for each task. See below. + * + */ + @Import(name="placementConstraints") + private @Nullable List placementConstraints; + + /** + * @return An array of placement constraint objects to use for the task. You can specify up to 10 constraints for each task. See below. + * + */ + public Optional> placementConstraints() { + return Optional.ofNullable(this.placementConstraints); + } + + /** + * The placement strategy objects to use for the task. You can specify a maximum of 5 strategy rules for each task. See below. + * + */ + @Import(name="placementStrategies") + private @Nullable List placementStrategies; + + /** + * @return The placement strategy objects to use for the task. You can specify a maximum of 5 strategy rules for each task. See below. + * + */ + public Optional> placementStrategies() { + return Optional.ofNullable(this.placementStrategies); + } + + /** + * The platform version the task uses. A platform version is only specified for tasks hosted on Fargate. If one isn't specified, the `LATEST` platform version is used. + * + */ + @Import(name="platformVersion") + private @Nullable String platformVersion; + + /** + * @return The platform version the task uses. A platform version is only specified for tasks hosted on Fargate. If one isn't specified, the `LATEST` platform version is used. + * + */ + public Optional platformVersion() { + return Optional.ofNullable(this.platformVersion); + } + + /** + * Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. An error will be received if you specify the `SERVICE` option when running a task. Valid values are `TASK_DEFINITION` or `NONE`. + * + */ + @Import(name="propagateTags") + private @Nullable String propagateTags; + + /** + * @return Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. An error will be received if you specify the `SERVICE` option when running a task. Valid values are `TASK_DEFINITION` or `NONE`. + * + */ + public Optional propagateTags() { + return Optional.ofNullable(this.propagateTags); + } + + /** + * The reference ID to use for the task. + * + */ + @Import(name="referenceId") + private @Nullable String referenceId; + + /** + * @return The reference ID to use for the task. + * + */ + public Optional referenceId() { + return Optional.ofNullable(this.referenceId); + } + + /** + * An optional tag specified when a task is started. + * + */ + @Import(name="startedBy") + private @Nullable String startedBy; + + /** + * @return An optional tag specified when a task is started. + * + */ + public Optional startedBy() { + return Optional.ofNullable(this.startedBy); + } + + /** + * 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. + * + */ + @Import(name="tags") + private @Nullable Map tags; + + /** + * @return 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 Optional> tags() { + return Optional.ofNullable(this.tags); + } + + /** + * The `family` and `revision` (`family:revision`) or full ARN of the task definition to run. If a revision isn't specified, the latest `ACTIVE` revision is used. + * + */ + @Import(name="taskDefinition", required=true) + private String taskDefinition; + + /** + * @return The `family` and `revision` (`family:revision`) or full ARN of the task definition to run. If a revision isn't specified, the latest `ACTIVE` revision is used. + * + */ + public String taskDefinition() { + return this.taskDefinition; + } + + private GetTaskExecutionPlainArgs() {} + + private GetTaskExecutionPlainArgs(GetTaskExecutionPlainArgs $) { + this.capacityProviderStrategies = $.capacityProviderStrategies; + this.cluster = $.cluster; + this.desiredCount = $.desiredCount; + this.enableEcsManagedTags = $.enableEcsManagedTags; + this.enableExecuteCommand = $.enableExecuteCommand; + this.group = $.group; + this.launchType = $.launchType; + this.networkConfiguration = $.networkConfiguration; + this.overrides = $.overrides; + this.placementConstraints = $.placementConstraints; + this.placementStrategies = $.placementStrategies; + this.platformVersion = $.platformVersion; + this.propagateTags = $.propagateTags; + this.referenceId = $.referenceId; + this.startedBy = $.startedBy; + this.tags = $.tags; + this.taskDefinition = $.taskDefinition; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetTaskExecutionPlainArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetTaskExecutionPlainArgs $; + + public Builder() { + $ = new GetTaskExecutionPlainArgs(); + } + + public Builder(GetTaskExecutionPlainArgs defaults) { + $ = new GetTaskExecutionPlainArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param capacityProviderStrategies Set of capacity provider strategies to use for the cluster. See below. + * + * @return builder + * + */ + public Builder capacityProviderStrategies(@Nullable List capacityProviderStrategies) { + $.capacityProviderStrategies = capacityProviderStrategies; + return this; + } + + /** + * @param capacityProviderStrategies Set of capacity provider strategies to use for the cluster. See below. + * + * @return builder + * + */ + public Builder capacityProviderStrategies(GetTaskExecutionCapacityProviderStrategy... capacityProviderStrategies) { + return capacityProviderStrategies(List.of(capacityProviderStrategies)); + } + + /** + * @param cluster Short name or full Amazon Resource Name (ARN) of the cluster to run the task on. + * + * @return builder + * + */ + public Builder cluster(String cluster) { + $.cluster = cluster; + return this; + } + + /** + * @param desiredCount Number of instantiations of the specified task to place on your cluster. You can specify up to 10 tasks for each call. + * + * @return builder + * + */ + public Builder desiredCount(@Nullable Integer desiredCount) { + $.desiredCount = desiredCount; + return this; + } + + /** + * @param enableEcsManagedTags Specifies whether to enable Amazon ECS managed tags for the tasks within the service. + * + * @return builder + * + */ + public Builder enableEcsManagedTags(@Nullable Boolean enableEcsManagedTags) { + $.enableEcsManagedTags = enableEcsManagedTags; + return this; + } + + /** + * @param enableExecuteCommand Specifies whether to enable Amazon ECS Exec for the tasks within the service. + * + * @return builder + * + */ + public Builder enableExecuteCommand(@Nullable Boolean enableExecuteCommand) { + $.enableExecuteCommand = enableExecuteCommand; + return this; + } + + /** + * @param group Name of the task group to associate with the task. The default value is the family name of the task definition. + * + * @return builder + * + */ + public Builder group(@Nullable String group) { + $.group = group; + return this; + } + + /** + * @param launchType Launch type on which to run your service. Valid values are `EC2`, `FARGATE`, and `EXTERNAL`. + * + * @return builder + * + */ + public Builder launchType(@Nullable String launchType) { + $.launchType = launchType; + return this; + } + + /** + * @param networkConfiguration Network configuration for the service. This parameter is required for task definitions that use the `awsvpc` network mode to receive their own Elastic Network Interface, and it is not supported for other network modes. See below. + * + * @return builder + * + */ + public Builder networkConfiguration(@Nullable GetTaskExecutionNetworkConfiguration networkConfiguration) { + $.networkConfiguration = networkConfiguration; + return this; + } + + /** + * @param overrides A list of container overrides that specify the name of a container in the specified task definition and the overrides it should receive. + * + * @return builder + * + */ + public Builder overrides(@Nullable GetTaskExecutionOverrides overrides) { + $.overrides = overrides; + return this; + } + + /** + * @param placementConstraints An array of placement constraint objects to use for the task. You can specify up to 10 constraints for each task. See below. + * + * @return builder + * + */ + public Builder placementConstraints(@Nullable List placementConstraints) { + $.placementConstraints = placementConstraints; + return this; + } + + /** + * @param placementConstraints An array of placement constraint objects to use for the task. You can specify up to 10 constraints for each task. See below. + * + * @return builder + * + */ + public Builder placementConstraints(GetTaskExecutionPlacementConstraint... placementConstraints) { + return placementConstraints(List.of(placementConstraints)); + } + + /** + * @param placementStrategies The placement strategy objects to use for the task. You can specify a maximum of 5 strategy rules for each task. See below. + * + * @return builder + * + */ + public Builder placementStrategies(@Nullable List placementStrategies) { + $.placementStrategies = placementStrategies; + return this; + } + + /** + * @param placementStrategies The placement strategy objects to use for the task. You can specify a maximum of 5 strategy rules for each task. See below. + * + * @return builder + * + */ + public Builder placementStrategies(GetTaskExecutionPlacementStrategy... placementStrategies) { + return placementStrategies(List.of(placementStrategies)); + } + + /** + * @param platformVersion The platform version the task uses. A platform version is only specified for tasks hosted on Fargate. If one isn't specified, the `LATEST` platform version is used. + * + * @return builder + * + */ + public Builder platformVersion(@Nullable String platformVersion) { + $.platformVersion = platformVersion; + return this; + } + + /** + * @param propagateTags Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. An error will be received if you specify the `SERVICE` option when running a task. Valid values are `TASK_DEFINITION` or `NONE`. + * + * @return builder + * + */ + public Builder propagateTags(@Nullable String propagateTags) { + $.propagateTags = propagateTags; + return this; + } + + /** + * @param referenceId The reference ID to use for the task. + * + * @return builder + * + */ + public Builder referenceId(@Nullable String referenceId) { + $.referenceId = referenceId; + return this; + } + + /** + * @param startedBy An optional tag specified when a task is started. + * + * @return builder + * + */ + public Builder startedBy(@Nullable String startedBy) { + $.startedBy = startedBy; + return this; + } + + /** + * @param 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. + * + * @return builder + * + */ + public Builder tags(@Nullable Map tags) { + $.tags = tags; + return this; + } + + /** + * @param taskDefinition The `family` and `revision` (`family:revision`) or full ARN of the task definition to run. If a revision isn't specified, the latest `ACTIVE` revision is used. + * + * @return builder + * + */ + public Builder taskDefinition(String taskDefinition) { + $.taskDefinition = taskDefinition; + return this; + } + + public GetTaskExecutionPlainArgs build() { + $.cluster = Objects.requireNonNull($.cluster, "expected parameter 'cluster' to be non-null"); + $.taskDefinition = Objects.requireNonNull($.taskDefinition, "expected parameter 'taskDefinition' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecs/outputs/GetTaskExecutionCapacityProviderStrategy.java b/sdk/java/src/main/java/com/pulumi/aws/ecs/outputs/GetTaskExecutionCapacityProviderStrategy.java new file mode 100644 index 00000000000..e9482c32ca2 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ecs/outputs/GetTaskExecutionCapacityProviderStrategy.java @@ -0,0 +1,97 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ecs.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class GetTaskExecutionCapacityProviderStrategy { + /** + * @return The number of tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a base defined. Defaults to `0`. + * + */ + private @Nullable Integer base; + /** + * @return Name of the capacity provider. + * + */ + private String capacityProvider; + /** + * @return The relative percentage of the total number of launched tasks that should use the specified capacity provider. The `weight` value is taken into consideration after the `base` count of tasks has been satisfied. Defaults to `0`. + * + */ + private @Nullable Integer weight; + + private GetTaskExecutionCapacityProviderStrategy() {} + /** + * @return The number of tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a base defined. Defaults to `0`. + * + */ + public Optional base() { + return Optional.ofNullable(this.base); + } + /** + * @return Name of the capacity provider. + * + */ + public String capacityProvider() { + return this.capacityProvider; + } + /** + * @return The relative percentage of the total number of launched tasks that should use the specified capacity provider. The `weight` value is taken into consideration after the `base` count of tasks has been satisfied. Defaults to `0`. + * + */ + public Optional weight() { + return Optional.ofNullable(this.weight); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetTaskExecutionCapacityProviderStrategy defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Integer base; + private String capacityProvider; + private @Nullable Integer weight; + public Builder() {} + public Builder(GetTaskExecutionCapacityProviderStrategy defaults) { + Objects.requireNonNull(defaults); + this.base = defaults.base; + this.capacityProvider = defaults.capacityProvider; + this.weight = defaults.weight; + } + + @CustomType.Setter + public Builder base(@Nullable Integer base) { + this.base = base; + return this; + } + @CustomType.Setter + public Builder capacityProvider(String capacityProvider) { + this.capacityProvider = Objects.requireNonNull(capacityProvider); + return this; + } + @CustomType.Setter + public Builder weight(@Nullable Integer weight) { + this.weight = weight; + return this; + } + public GetTaskExecutionCapacityProviderStrategy build() { + final var o = new GetTaskExecutionCapacityProviderStrategy(); + o.base = base; + o.capacityProvider = capacityProvider; + o.weight = weight; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecs/outputs/GetTaskExecutionNetworkConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/ecs/outputs/GetTaskExecutionNetworkConfiguration.java new file mode 100644 index 00000000000..226094fa48c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ecs/outputs/GetTaskExecutionNetworkConfiguration.java @@ -0,0 +1,104 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ecs.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class GetTaskExecutionNetworkConfiguration { + /** + * @return Assign a public IP address to the ENI (Fargate launch type only). Valid values are `true` or `false`. Default `false`. + * + */ + private @Nullable Boolean assignPublicIp; + /** + * @return Security groups associated with the task or service. If you do not specify a security group, the default security group for the VPC is used. + * + */ + private @Nullable List securityGroups; + /** + * @return Subnets associated with the task or service. + * + */ + private List subnets; + + private GetTaskExecutionNetworkConfiguration() {} + /** + * @return Assign a public IP address to the ENI (Fargate launch type only). Valid values are `true` or `false`. Default `false`. + * + */ + public Optional assignPublicIp() { + return Optional.ofNullable(this.assignPublicIp); + } + /** + * @return Security groups associated with the task or service. If you do not specify a security group, the default security group for the VPC is used. + * + */ + public List securityGroups() { + return this.securityGroups == null ? List.of() : this.securityGroups; + } + /** + * @return Subnets associated with the task or service. + * + */ + public List subnets() { + return this.subnets; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetTaskExecutionNetworkConfiguration defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Boolean assignPublicIp; + private @Nullable List securityGroups; + private List subnets; + public Builder() {} + public Builder(GetTaskExecutionNetworkConfiguration defaults) { + Objects.requireNonNull(defaults); + this.assignPublicIp = defaults.assignPublicIp; + this.securityGroups = defaults.securityGroups; + this.subnets = defaults.subnets; + } + + @CustomType.Setter + public Builder assignPublicIp(@Nullable Boolean assignPublicIp) { + this.assignPublicIp = assignPublicIp; + return this; + } + @CustomType.Setter + public Builder securityGroups(@Nullable List securityGroups) { + this.securityGroups = securityGroups; + return this; + } + public Builder securityGroups(String... securityGroups) { + return securityGroups(List.of(securityGroups)); + } + @CustomType.Setter + public Builder subnets(List subnets) { + this.subnets = Objects.requireNonNull(subnets); + return this; + } + public Builder subnets(String... subnets) { + return subnets(List.of(subnets)); + } + public GetTaskExecutionNetworkConfiguration build() { + final var o = new GetTaskExecutionNetworkConfiguration(); + o.assignPublicIp = assignPublicIp; + o.securityGroups = securityGroups; + o.subnets = subnets; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecs/outputs/GetTaskExecutionOverrides.java b/sdk/java/src/main/java/com/pulumi/aws/ecs/outputs/GetTaskExecutionOverrides.java new file mode 100644 index 00000000000..f1c438a4a90 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ecs/outputs/GetTaskExecutionOverrides.java @@ -0,0 +1,165 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ecs.outputs; + +import com.pulumi.aws.ecs.outputs.GetTaskExecutionOverridesContainerOverride; +import com.pulumi.aws.ecs.outputs.GetTaskExecutionOverridesInferenceAcceleratorOverride; +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class GetTaskExecutionOverrides { + /** + * @return One or more container overrides that are sent to a task. See below. + * + */ + private @Nullable List containerOverrides; + /** + * @return The CPU override for the task. + * + */ + private @Nullable String cpu; + /** + * @return Amazon Resource Name (ARN) of the task execution role override for the task. + * + */ + private @Nullable String executionRoleArn; + /** + * @return Elastic Inference accelerator override for the task. See below. + * + */ + private @Nullable List inferenceAcceleratorOverrides; + /** + * @return The memory override for the task. + * + */ + private @Nullable String memory; + /** + * @return Amazon Resource Name (ARN) of the role that containers in this task can assume. + * + */ + private @Nullable String taskRoleArn; + + private GetTaskExecutionOverrides() {} + /** + * @return One or more container overrides that are sent to a task. See below. + * + */ + public List containerOverrides() { + return this.containerOverrides == null ? List.of() : this.containerOverrides; + } + /** + * @return The CPU override for the task. + * + */ + public Optional cpu() { + return Optional.ofNullable(this.cpu); + } + /** + * @return Amazon Resource Name (ARN) of the task execution role override for the task. + * + */ + public Optional executionRoleArn() { + return Optional.ofNullable(this.executionRoleArn); + } + /** + * @return Elastic Inference accelerator override for the task. See below. + * + */ + public List inferenceAcceleratorOverrides() { + return this.inferenceAcceleratorOverrides == null ? List.of() : this.inferenceAcceleratorOverrides; + } + /** + * @return The memory override for the task. + * + */ + public Optional memory() { + return Optional.ofNullable(this.memory); + } + /** + * @return Amazon Resource Name (ARN) of the role that containers in this task can assume. + * + */ + public Optional taskRoleArn() { + return Optional.ofNullable(this.taskRoleArn); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetTaskExecutionOverrides defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List containerOverrides; + private @Nullable String cpu; + private @Nullable String executionRoleArn; + private @Nullable List inferenceAcceleratorOverrides; + private @Nullable String memory; + private @Nullable String taskRoleArn; + public Builder() {} + public Builder(GetTaskExecutionOverrides defaults) { + Objects.requireNonNull(defaults); + this.containerOverrides = defaults.containerOverrides; + this.cpu = defaults.cpu; + this.executionRoleArn = defaults.executionRoleArn; + this.inferenceAcceleratorOverrides = defaults.inferenceAcceleratorOverrides; + this.memory = defaults.memory; + this.taskRoleArn = defaults.taskRoleArn; + } + + @CustomType.Setter + public Builder containerOverrides(@Nullable List containerOverrides) { + this.containerOverrides = containerOverrides; + return this; + } + public Builder containerOverrides(GetTaskExecutionOverridesContainerOverride... containerOverrides) { + return containerOverrides(List.of(containerOverrides)); + } + @CustomType.Setter + public Builder cpu(@Nullable String cpu) { + this.cpu = cpu; + return this; + } + @CustomType.Setter + public Builder executionRoleArn(@Nullable String executionRoleArn) { + this.executionRoleArn = executionRoleArn; + return this; + } + @CustomType.Setter + public Builder inferenceAcceleratorOverrides(@Nullable List inferenceAcceleratorOverrides) { + this.inferenceAcceleratorOverrides = inferenceAcceleratorOverrides; + return this; + } + public Builder inferenceAcceleratorOverrides(GetTaskExecutionOverridesInferenceAcceleratorOverride... inferenceAcceleratorOverrides) { + return inferenceAcceleratorOverrides(List.of(inferenceAcceleratorOverrides)); + } + @CustomType.Setter + public Builder memory(@Nullable String memory) { + this.memory = memory; + return this; + } + @CustomType.Setter + public Builder taskRoleArn(@Nullable String taskRoleArn) { + this.taskRoleArn = taskRoleArn; + return this; + } + public GetTaskExecutionOverrides build() { + final var o = new GetTaskExecutionOverrides(); + o.containerOverrides = containerOverrides; + o.cpu = cpu; + o.executionRoleArn = executionRoleArn; + o.inferenceAcceleratorOverrides = inferenceAcceleratorOverrides; + o.memory = memory; + o.taskRoleArn = taskRoleArn; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecs/outputs/GetTaskExecutionOverridesContainerOverride.java b/sdk/java/src/main/java/com/pulumi/aws/ecs/outputs/GetTaskExecutionOverridesContainerOverride.java new file mode 100644 index 00000000000..fb97afe77b4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ecs/outputs/GetTaskExecutionOverridesContainerOverride.java @@ -0,0 +1,189 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ecs.outputs; + +import com.pulumi.aws.ecs.outputs.GetTaskExecutionOverridesContainerOverrideEnvironment; +import com.pulumi.aws.ecs.outputs.GetTaskExecutionOverridesContainerOverrideResourceRequirement; +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class GetTaskExecutionOverridesContainerOverride { + /** + * @return The command to send to the container that overrides the default command from the Docker image or the task definition. + * + */ + private @Nullable List commands; + /** + * @return The number of cpu units reserved for the container, instead of the default value from the task definition. + * + */ + private @Nullable Integer cpu; + /** + * @return The environment variables to send to the container. You can add new environment variables, which are added to the container at launch, or you can override the existing environment variables from the Docker image or the task definition. See below. + * + */ + private @Nullable List environments; + /** + * @return The hard limit (in MiB) of memory to present to the container, instead of the default value from the task definition. If your container attempts to exceed the memory specified here, the container is killed. + * + */ + private @Nullable Integer memory; + /** + * @return The soft limit (in MiB) of memory to reserve for the container, instead of the default value from the task definition. + * + */ + private @Nullable Integer memoryReservation; + /** + * @return The name of the container that receives the override. This parameter is required if any override is specified. + * + */ + private String name; + /** + * @return The type and amount of a resource to assign to a container, instead of the default value from the task definition. The only supported resource is a GPU. See below. + * + */ + private @Nullable List resourceRequirements; + + private GetTaskExecutionOverridesContainerOverride() {} + /** + * @return The command to send to the container that overrides the default command from the Docker image or the task definition. + * + */ + public List commands() { + return this.commands == null ? List.of() : this.commands; + } + /** + * @return The number of cpu units reserved for the container, instead of the default value from the task definition. + * + */ + public Optional cpu() { + return Optional.ofNullable(this.cpu); + } + /** + * @return The environment variables to send to the container. You can add new environment variables, which are added to the container at launch, or you can override the existing environment variables from the Docker image or the task definition. See below. + * + */ + public List environments() { + return this.environments == null ? List.of() : this.environments; + } + /** + * @return The hard limit (in MiB) of memory to present to the container, instead of the default value from the task definition. If your container attempts to exceed the memory specified here, the container is killed. + * + */ + public Optional memory() { + return Optional.ofNullable(this.memory); + } + /** + * @return The soft limit (in MiB) of memory to reserve for the container, instead of the default value from the task definition. + * + */ + public Optional memoryReservation() { + return Optional.ofNullable(this.memoryReservation); + } + /** + * @return The name of the container that receives the override. This parameter is required if any override is specified. + * + */ + public String name() { + return this.name; + } + /** + * @return The type and amount of a resource to assign to a container, instead of the default value from the task definition. The only supported resource is a GPU. See below. + * + */ + public List resourceRequirements() { + return this.resourceRequirements == null ? List.of() : this.resourceRequirements; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetTaskExecutionOverridesContainerOverride defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List commands; + private @Nullable Integer cpu; + private @Nullable List environments; + private @Nullable Integer memory; + private @Nullable Integer memoryReservation; + private String name; + private @Nullable List resourceRequirements; + public Builder() {} + public Builder(GetTaskExecutionOverridesContainerOverride defaults) { + Objects.requireNonNull(defaults); + this.commands = defaults.commands; + this.cpu = defaults.cpu; + this.environments = defaults.environments; + this.memory = defaults.memory; + this.memoryReservation = defaults.memoryReservation; + this.name = defaults.name; + this.resourceRequirements = defaults.resourceRequirements; + } + + @CustomType.Setter + public Builder commands(@Nullable List commands) { + this.commands = commands; + return this; + } + public Builder commands(String... commands) { + return commands(List.of(commands)); + } + @CustomType.Setter + public Builder cpu(@Nullable Integer cpu) { + this.cpu = cpu; + return this; + } + @CustomType.Setter + public Builder environments(@Nullable List environments) { + this.environments = environments; + return this; + } + public Builder environments(GetTaskExecutionOverridesContainerOverrideEnvironment... environments) { + return environments(List.of(environments)); + } + @CustomType.Setter + public Builder memory(@Nullable Integer memory) { + this.memory = memory; + return this; + } + @CustomType.Setter + public Builder memoryReservation(@Nullable Integer memoryReservation) { + this.memoryReservation = memoryReservation; + return this; + } + @CustomType.Setter + public Builder name(String name) { + this.name = Objects.requireNonNull(name); + return this; + } + @CustomType.Setter + public Builder resourceRequirements(@Nullable List resourceRequirements) { + this.resourceRequirements = resourceRequirements; + return this; + } + public Builder resourceRequirements(GetTaskExecutionOverridesContainerOverrideResourceRequirement... resourceRequirements) { + return resourceRequirements(List.of(resourceRequirements)); + } + public GetTaskExecutionOverridesContainerOverride build() { + final var o = new GetTaskExecutionOverridesContainerOverride(); + o.commands = commands; + o.cpu = cpu; + o.environments = environments; + o.memory = memory; + o.memoryReservation = memoryReservation; + o.name = name; + o.resourceRequirements = resourceRequirements; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecs/outputs/GetTaskExecutionOverridesContainerOverrideEnvironment.java b/sdk/java/src/main/java/com/pulumi/aws/ecs/outputs/GetTaskExecutionOverridesContainerOverrideEnvironment.java new file mode 100644 index 00000000000..1a53b0c80a5 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ecs/outputs/GetTaskExecutionOverridesContainerOverrideEnvironment.java @@ -0,0 +1,74 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ecs.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetTaskExecutionOverridesContainerOverrideEnvironment { + /** + * @return The name of the key-value pair. For environment variables, this is the name of the environment variable. + * + */ + private String key; + /** + * @return The value of the key-value pair. For environment variables, this is the value of the environment variable. + * + */ + private String value; + + private GetTaskExecutionOverridesContainerOverrideEnvironment() {} + /** + * @return The name of the key-value pair. For environment variables, this is the name of the environment variable. + * + */ + public String key() { + return this.key; + } + /** + * @return The value of the key-value pair. For environment variables, this is the value of the environment variable. + * + */ + public String value() { + return this.value; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetTaskExecutionOverridesContainerOverrideEnvironment defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String key; + private String value; + public Builder() {} + public Builder(GetTaskExecutionOverridesContainerOverrideEnvironment defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.value = defaults.value; + } + + @CustomType.Setter + public Builder key(String key) { + this.key = Objects.requireNonNull(key); + return this; + } + @CustomType.Setter + public Builder value(String value) { + this.value = Objects.requireNonNull(value); + return this; + } + public GetTaskExecutionOverridesContainerOverrideEnvironment build() { + final var o = new GetTaskExecutionOverridesContainerOverrideEnvironment(); + o.key = key; + o.value = value; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecs/outputs/GetTaskExecutionOverridesContainerOverrideResourceRequirement.java b/sdk/java/src/main/java/com/pulumi/aws/ecs/outputs/GetTaskExecutionOverridesContainerOverrideResourceRequirement.java new file mode 100644 index 00000000000..f42e1be5a6e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ecs/outputs/GetTaskExecutionOverridesContainerOverrideResourceRequirement.java @@ -0,0 +1,74 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ecs.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetTaskExecutionOverridesContainerOverrideResourceRequirement { + /** + * @return The type of resource to assign to a container. Valid values are `GPU` or `InferenceAccelerator`. + * + */ + private String type; + /** + * @return The value for the specified resource type. If the `GPU` type is used, the value is the number of physical GPUs the Amazon ECS container agent reserves for the container. The number of GPUs that's reserved for all containers in a task can't exceed the number of available GPUs on the container instance that the task is launched on. If the `InferenceAccelerator` type is used, the value matches the `deviceName` for an InferenceAccelerator specified in a task definition. + * + */ + private String value; + + private GetTaskExecutionOverridesContainerOverrideResourceRequirement() {} + /** + * @return The type of resource to assign to a container. Valid values are `GPU` or `InferenceAccelerator`. + * + */ + public String type() { + return this.type; + } + /** + * @return The value for the specified resource type. If the `GPU` type is used, the value is the number of physical GPUs the Amazon ECS container agent reserves for the container. The number of GPUs that's reserved for all containers in a task can't exceed the number of available GPUs on the container instance that the task is launched on. If the `InferenceAccelerator` type is used, the value matches the `deviceName` for an InferenceAccelerator specified in a task definition. + * + */ + public String value() { + return this.value; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetTaskExecutionOverridesContainerOverrideResourceRequirement defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String type; + private String value; + public Builder() {} + public Builder(GetTaskExecutionOverridesContainerOverrideResourceRequirement defaults) { + Objects.requireNonNull(defaults); + this.type = defaults.type; + this.value = defaults.value; + } + + @CustomType.Setter + public Builder type(String type) { + this.type = Objects.requireNonNull(type); + return this; + } + @CustomType.Setter + public Builder value(String value) { + this.value = Objects.requireNonNull(value); + return this; + } + public GetTaskExecutionOverridesContainerOverrideResourceRequirement build() { + final var o = new GetTaskExecutionOverridesContainerOverrideResourceRequirement(); + o.type = type; + o.value = value; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecs/outputs/GetTaskExecutionOverridesInferenceAcceleratorOverride.java b/sdk/java/src/main/java/com/pulumi/aws/ecs/outputs/GetTaskExecutionOverridesInferenceAcceleratorOverride.java new file mode 100644 index 00000000000..09133f8ec13 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ecs/outputs/GetTaskExecutionOverridesInferenceAcceleratorOverride.java @@ -0,0 +1,76 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ecs.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class GetTaskExecutionOverridesInferenceAcceleratorOverride { + /** + * @return The Elastic Inference accelerator device name to override for the task. This parameter must match a deviceName specified in the task definition. + * + */ + private @Nullable String deviceName; + /** + * @return The Elastic Inference accelerator type to use. + * + */ + private @Nullable String deviceType; + + private GetTaskExecutionOverridesInferenceAcceleratorOverride() {} + /** + * @return The Elastic Inference accelerator device name to override for the task. This parameter must match a deviceName specified in the task definition. + * + */ + public Optional deviceName() { + return Optional.ofNullable(this.deviceName); + } + /** + * @return The Elastic Inference accelerator type to use. + * + */ + public Optional deviceType() { + return Optional.ofNullable(this.deviceType); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetTaskExecutionOverridesInferenceAcceleratorOverride defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String deviceName; + private @Nullable String deviceType; + public Builder() {} + public Builder(GetTaskExecutionOverridesInferenceAcceleratorOverride defaults) { + Objects.requireNonNull(defaults); + this.deviceName = defaults.deviceName; + this.deviceType = defaults.deviceType; + } + + @CustomType.Setter + public Builder deviceName(@Nullable String deviceName) { + this.deviceName = deviceName; + return this; + } + @CustomType.Setter + public Builder deviceType(@Nullable String deviceType) { + this.deviceType = deviceType; + return this; + } + public GetTaskExecutionOverridesInferenceAcceleratorOverride build() { + final var o = new GetTaskExecutionOverridesInferenceAcceleratorOverride(); + o.deviceName = deviceName; + o.deviceType = deviceType; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecs/outputs/GetTaskExecutionPlacementConstraint.java b/sdk/java/src/main/java/com/pulumi/aws/ecs/outputs/GetTaskExecutionPlacementConstraint.java new file mode 100644 index 00000000000..1e53c02ad88 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ecs/outputs/GetTaskExecutionPlacementConstraint.java @@ -0,0 +1,76 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ecs.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class GetTaskExecutionPlacementConstraint { + /** + * @return A cluster query language expression to apply to the constraint. The expression can have a maximum length of 2000 characters. You can't specify an expression if the constraint type is `distinctInstance`. + * + */ + private @Nullable String expression; + /** + * @return The type of constraint. Valid values are `distinctInstance` or `memberOf`. Use `distinctInstance` to ensure that each task in a particular group is running on a different container instance. Use `memberOf` to restrict the selection to a group of valid candidates. + * + */ + private String type; + + private GetTaskExecutionPlacementConstraint() {} + /** + * @return A cluster query language expression to apply to the constraint. The expression can have a maximum length of 2000 characters. You can't specify an expression if the constraint type is `distinctInstance`. + * + */ + public Optional expression() { + return Optional.ofNullable(this.expression); + } + /** + * @return The type of constraint. Valid values are `distinctInstance` or `memberOf`. Use `distinctInstance` to ensure that each task in a particular group is running on a different container instance. Use `memberOf` to restrict the selection to a group of valid candidates. + * + */ + public String type() { + return this.type; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetTaskExecutionPlacementConstraint defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String expression; + private String type; + public Builder() {} + public Builder(GetTaskExecutionPlacementConstraint defaults) { + Objects.requireNonNull(defaults); + this.expression = defaults.expression; + this.type = defaults.type; + } + + @CustomType.Setter + public Builder expression(@Nullable String expression) { + this.expression = expression; + return this; + } + @CustomType.Setter + public Builder type(String type) { + this.type = Objects.requireNonNull(type); + return this; + } + public GetTaskExecutionPlacementConstraint build() { + final var o = new GetTaskExecutionPlacementConstraint(); + o.expression = expression; + o.type = type; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecs/outputs/GetTaskExecutionPlacementStrategy.java b/sdk/java/src/main/java/com/pulumi/aws/ecs/outputs/GetTaskExecutionPlacementStrategy.java new file mode 100644 index 00000000000..8769b8eed53 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ecs/outputs/GetTaskExecutionPlacementStrategy.java @@ -0,0 +1,76 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ecs.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class GetTaskExecutionPlacementStrategy { + /** + * @return The field to apply the placement strategy against. + * + */ + private @Nullable String field; + /** + * @return The type of placement strategy. Valid values are `random`, `spread`, and `binpack`. + * + */ + private String type; + + private GetTaskExecutionPlacementStrategy() {} + /** + * @return The field to apply the placement strategy against. + * + */ + public Optional field() { + return Optional.ofNullable(this.field); + } + /** + * @return The type of placement strategy. Valid values are `random`, `spread`, and `binpack`. + * + */ + public String type() { + return this.type; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetTaskExecutionPlacementStrategy defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String field; + private String type; + public Builder() {} + public Builder(GetTaskExecutionPlacementStrategy defaults) { + Objects.requireNonNull(defaults); + this.field = defaults.field; + this.type = defaults.type; + } + + @CustomType.Setter + public Builder field(@Nullable String field) { + this.field = field; + return this; + } + @CustomType.Setter + public Builder type(String type) { + this.type = Objects.requireNonNull(type); + return this; + } + public GetTaskExecutionPlacementStrategy build() { + final var o = new GetTaskExecutionPlacementStrategy(); + o.field = field; + o.type = type; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecs/outputs/GetTaskExecutionResult.java b/sdk/java/src/main/java/com/pulumi/aws/ecs/outputs/GetTaskExecutionResult.java new file mode 100644 index 00000000000..51a5ed143d1 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ecs/outputs/GetTaskExecutionResult.java @@ -0,0 +1,301 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ecs.outputs; + +import com.pulumi.aws.ecs.outputs.GetTaskExecutionCapacityProviderStrategy; +import com.pulumi.aws.ecs.outputs.GetTaskExecutionNetworkConfiguration; +import com.pulumi.aws.ecs.outputs.GetTaskExecutionOverrides; +import com.pulumi.aws.ecs.outputs.GetTaskExecutionPlacementConstraint; +import com.pulumi.aws.ecs.outputs.GetTaskExecutionPlacementStrategy; +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class GetTaskExecutionResult { + private @Nullable List capacityProviderStrategies; + private String cluster; + private @Nullable Integer desiredCount; + private @Nullable Boolean enableEcsManagedTags; + private @Nullable Boolean enableExecuteCommand; + private @Nullable String group; + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + private String id; + private @Nullable String launchType; + private @Nullable GetTaskExecutionNetworkConfiguration networkConfiguration; + private @Nullable GetTaskExecutionOverrides overrides; + private @Nullable List placementConstraints; + private @Nullable List placementStrategies; + private @Nullable String platformVersion; + private @Nullable String propagateTags; + private @Nullable String referenceId; + private @Nullable String startedBy; + private @Nullable Map tags; + /** + * @return A list of the provisioned task ARNs. + * + */ + private List taskArns; + private String taskDefinition; + + private GetTaskExecutionResult() {} + public List capacityProviderStrategies() { + return this.capacityProviderStrategies == null ? List.of() : this.capacityProviderStrategies; + } + public String cluster() { + return this.cluster; + } + public Optional desiredCount() { + return Optional.ofNullable(this.desiredCount); + } + public Optional enableEcsManagedTags() { + return Optional.ofNullable(this.enableEcsManagedTags); + } + public Optional enableExecuteCommand() { + return Optional.ofNullable(this.enableExecuteCommand); + } + public Optional group() { + return Optional.ofNullable(this.group); + } + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + public String id() { + return this.id; + } + public Optional launchType() { + return Optional.ofNullable(this.launchType); + } + public Optional networkConfiguration() { + return Optional.ofNullable(this.networkConfiguration); + } + public Optional overrides() { + return Optional.ofNullable(this.overrides); + } + public List placementConstraints() { + return this.placementConstraints == null ? List.of() : this.placementConstraints; + } + public List placementStrategies() { + return this.placementStrategies == null ? List.of() : this.placementStrategies; + } + public Optional platformVersion() { + return Optional.ofNullable(this.platformVersion); + } + public Optional propagateTags() { + return Optional.ofNullable(this.propagateTags); + } + public Optional referenceId() { + return Optional.ofNullable(this.referenceId); + } + public Optional startedBy() { + return Optional.ofNullable(this.startedBy); + } + public Map tags() { + return this.tags == null ? Map.of() : this.tags; + } + /** + * @return A list of the provisioned task ARNs. + * + */ + public List taskArns() { + return this.taskArns; + } + public String taskDefinition() { + return this.taskDefinition; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetTaskExecutionResult defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List capacityProviderStrategies; + private String cluster; + private @Nullable Integer desiredCount; + private @Nullable Boolean enableEcsManagedTags; + private @Nullable Boolean enableExecuteCommand; + private @Nullable String group; + private String id; + private @Nullable String launchType; + private @Nullable GetTaskExecutionNetworkConfiguration networkConfiguration; + private @Nullable GetTaskExecutionOverrides overrides; + private @Nullable List placementConstraints; + private @Nullable List placementStrategies; + private @Nullable String platformVersion; + private @Nullable String propagateTags; + private @Nullable String referenceId; + private @Nullable String startedBy; + private @Nullable Map tags; + private List taskArns; + private String taskDefinition; + public Builder() {} + public Builder(GetTaskExecutionResult defaults) { + Objects.requireNonNull(defaults); + this.capacityProviderStrategies = defaults.capacityProviderStrategies; + this.cluster = defaults.cluster; + this.desiredCount = defaults.desiredCount; + this.enableEcsManagedTags = defaults.enableEcsManagedTags; + this.enableExecuteCommand = defaults.enableExecuteCommand; + this.group = defaults.group; + this.id = defaults.id; + this.launchType = defaults.launchType; + this.networkConfiguration = defaults.networkConfiguration; + this.overrides = defaults.overrides; + this.placementConstraints = defaults.placementConstraints; + this.placementStrategies = defaults.placementStrategies; + this.platformVersion = defaults.platformVersion; + this.propagateTags = defaults.propagateTags; + this.referenceId = defaults.referenceId; + this.startedBy = defaults.startedBy; + this.tags = defaults.tags; + this.taskArns = defaults.taskArns; + this.taskDefinition = defaults.taskDefinition; + } + + @CustomType.Setter + public Builder capacityProviderStrategies(@Nullable List capacityProviderStrategies) { + this.capacityProviderStrategies = capacityProviderStrategies; + return this; + } + public Builder capacityProviderStrategies(GetTaskExecutionCapacityProviderStrategy... capacityProviderStrategies) { + return capacityProviderStrategies(List.of(capacityProviderStrategies)); + } + @CustomType.Setter + public Builder cluster(String cluster) { + this.cluster = Objects.requireNonNull(cluster); + return this; + } + @CustomType.Setter + public Builder desiredCount(@Nullable Integer desiredCount) { + this.desiredCount = desiredCount; + return this; + } + @CustomType.Setter + public Builder enableEcsManagedTags(@Nullable Boolean enableEcsManagedTags) { + this.enableEcsManagedTags = enableEcsManagedTags; + return this; + } + @CustomType.Setter + public Builder enableExecuteCommand(@Nullable Boolean enableExecuteCommand) { + this.enableExecuteCommand = enableExecuteCommand; + return this; + } + @CustomType.Setter + public Builder group(@Nullable String group) { + this.group = group; + return this; + } + @CustomType.Setter + public Builder id(String id) { + this.id = Objects.requireNonNull(id); + return this; + } + @CustomType.Setter + public Builder launchType(@Nullable String launchType) { + this.launchType = launchType; + return this; + } + @CustomType.Setter + public Builder networkConfiguration(@Nullable GetTaskExecutionNetworkConfiguration networkConfiguration) { + this.networkConfiguration = networkConfiguration; + return this; + } + @CustomType.Setter + public Builder overrides(@Nullable GetTaskExecutionOverrides overrides) { + this.overrides = overrides; + return this; + } + @CustomType.Setter + public Builder placementConstraints(@Nullable List placementConstraints) { + this.placementConstraints = placementConstraints; + return this; + } + public Builder placementConstraints(GetTaskExecutionPlacementConstraint... placementConstraints) { + return placementConstraints(List.of(placementConstraints)); + } + @CustomType.Setter + public Builder placementStrategies(@Nullable List placementStrategies) { + this.placementStrategies = placementStrategies; + return this; + } + public Builder placementStrategies(GetTaskExecutionPlacementStrategy... placementStrategies) { + return placementStrategies(List.of(placementStrategies)); + } + @CustomType.Setter + public Builder platformVersion(@Nullable String platformVersion) { + this.platformVersion = platformVersion; + return this; + } + @CustomType.Setter + public Builder propagateTags(@Nullable String propagateTags) { + this.propagateTags = propagateTags; + return this; + } + @CustomType.Setter + public Builder referenceId(@Nullable String referenceId) { + this.referenceId = referenceId; + return this; + } + @CustomType.Setter + public Builder startedBy(@Nullable String startedBy) { + this.startedBy = startedBy; + return this; + } + @CustomType.Setter + public Builder tags(@Nullable Map tags) { + this.tags = tags; + return this; + } + @CustomType.Setter + public Builder taskArns(List taskArns) { + this.taskArns = Objects.requireNonNull(taskArns); + return this; + } + public Builder taskArns(String... taskArns) { + return taskArns(List.of(taskArns)); + } + @CustomType.Setter + public Builder taskDefinition(String taskDefinition) { + this.taskDefinition = Objects.requireNonNull(taskDefinition); + return this; + } + public GetTaskExecutionResult build() { + final var o = new GetTaskExecutionResult(); + o.capacityProviderStrategies = capacityProviderStrategies; + o.cluster = cluster; + o.desiredCount = desiredCount; + o.enableEcsManagedTags = enableEcsManagedTags; + o.enableExecuteCommand = enableExecuteCommand; + o.group = group; + o.id = id; + o.launchType = launchType; + o.networkConfiguration = networkConfiguration; + o.overrides = overrides; + o.placementConstraints = placementConstraints; + o.placementStrategies = placementStrategies; + o.platformVersion = platformVersion; + o.propagateTags = propagateTags; + o.referenceId = referenceId; + o.startedBy = startedBy; + o.tags = tags; + o.taskArns = taskArns; + o.taskDefinition = taskDefinition; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/eks/Cluster.java b/sdk/java/src/main/java/com/pulumi/aws/eks/Cluster.java index 7585b2e6df1..2f2b4e53f87 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/eks/Cluster.java +++ b/sdk/java/src/main/java/com/pulumi/aws/eks/Cluster.java @@ -69,7 +69,6 @@ * } * ``` * ### Example IAM Role for EKS Cluster - * * ```java * package generated_program; * @@ -96,7 +95,14 @@ * * public static void stack(Context ctx) { * final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() - * .satement(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)) + * .statements(GetPolicyDocumentStatementArgs.builder() + * .effect("Allow") + * .principals(GetPolicyDocumentStatementPrincipalArgs.builder() + * .type("Service") + * .identifiers("eks.amazonaws.com") + * .build()) + * .actions("sts:AssumeRole") + * .build()) * .build()); * * var example = new Role("example", RoleArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/grafana/Workspace.java b/sdk/java/src/main/java/com/pulumi/aws/grafana/Workspace.java index 7f1248792b6..dac5b91b5ac 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/grafana/Workspace.java +++ b/sdk/java/src/main/java/com/pulumi/aws/grafana/Workspace.java @@ -6,6 +6,7 @@ import com.pulumi.aws.Utilities; import com.pulumi.aws.grafana.WorkspaceArgs; import com.pulumi.aws.grafana.inputs.WorkspaceState; +import com.pulumi.aws.grafana.outputs.WorkspaceNetworkAccessControl; import com.pulumi.aws.grafana.outputs.WorkspaceVpcConfiguration; import com.pulumi.core.Output; import com.pulumi.core.annotations.Export; @@ -209,6 +210,20 @@ public Output grafanaVersion() { public Output name() { return this.name; } + /** + * Configuration for network access to your workspace.See Network Access Control below. + * + */ + @Export(name="networkAccessControl", refs={WorkspaceNetworkAccessControl.class}, tree="[0]") + private Output networkAccessControl; + + /** + * @return Configuration for network access to your workspace.See Network Access Control below. + * + */ + public Output> networkAccessControl() { + return Codegen.optional(this.networkAccessControl); + } /** * The notification destinations. If a data source is specified here, Amazon Managed Grafana will create IAM roles and permissions needed to use these destinations. Must be set to `SNS`. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/grafana/WorkspaceArgs.java b/sdk/java/src/main/java/com/pulumi/aws/grafana/WorkspaceArgs.java index dc14516aa24..2ee2c787e29 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/grafana/WorkspaceArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/grafana/WorkspaceArgs.java @@ -3,6 +3,7 @@ package com.pulumi.aws.grafana; +import com.pulumi.aws.grafana.inputs.WorkspaceNetworkAccessControlArgs; import com.pulumi.aws.grafana.inputs.WorkspaceVpcConfigurationArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; @@ -108,6 +109,21 @@ public Optional> name() { return Optional.ofNullable(this.name); } + /** + * Configuration for network access to your workspace.See Network Access Control below. + * + */ + @Import(name="networkAccessControl") + private @Nullable Output networkAccessControl; + + /** + * @return Configuration for network access to your workspace.See Network Access Control below. + * + */ + public Optional> networkAccessControl() { + return Optional.ofNullable(this.networkAccessControl); + } + /** * The notification destinations. If a data source is specified here, Amazon Managed Grafana will create IAM roles and permissions needed to use these destinations. Must be set to `SNS`. * @@ -237,6 +253,7 @@ private WorkspaceArgs(WorkspaceArgs $) { this.dataSources = $.dataSources; this.description = $.description; this.name = $.name; + this.networkAccessControl = $.networkAccessControl; this.notificationDestinations = $.notificationDestinations; this.organizationRoleName = $.organizationRoleName; this.organizationalUnits = $.organizationalUnits; @@ -411,6 +428,27 @@ public Builder name(String name) { return name(Output.of(name)); } + /** + * @param networkAccessControl Configuration for network access to your workspace.See Network Access Control below. + * + * @return builder + * + */ + public Builder networkAccessControl(@Nullable Output networkAccessControl) { + $.networkAccessControl = networkAccessControl; + return this; + } + + /** + * @param networkAccessControl Configuration for network access to your workspace.See Network Access Control below. + * + * @return builder + * + */ + public Builder networkAccessControl(WorkspaceNetworkAccessControlArgs networkAccessControl) { + return networkAccessControl(Output.of(networkAccessControl)); + } + /** * @param notificationDestinations The notification destinations. If a data source is specified here, Amazon Managed Grafana will create IAM roles and permissions needed to use these destinations. Must be set to `SNS`. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/grafana/inputs/WorkspaceNetworkAccessControlArgs.java b/sdk/java/src/main/java/com/pulumi/aws/grafana/inputs/WorkspaceNetworkAccessControlArgs.java new file mode 100644 index 00000000000..b02d18a7b18 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/grafana/inputs/WorkspaceNetworkAccessControlArgs.java @@ -0,0 +1,141 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.grafana.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; + + +public final class WorkspaceNetworkAccessControlArgs extends com.pulumi.resources.ResourceArgs { + + public static final WorkspaceNetworkAccessControlArgs Empty = new WorkspaceNetworkAccessControlArgs(); + + /** + * An array of prefix list IDs. + * + */ + @Import(name="prefixListIds", required=true) + private Output> prefixListIds; + + /** + * @return An array of prefix list IDs. + * + */ + public Output> prefixListIds() { + return this.prefixListIds; + } + + /** + * An array of Amazon VPC endpoint IDs for the workspace. The only VPC endpoints that can be specified here are interface VPC endpoints for Grafana workspaces (using the com.amazonaws.[region].grafana-workspace service endpoint). Other VPC endpoints will be ignored. + * + */ + @Import(name="vpceIds", required=true) + private Output> vpceIds; + + /** + * @return An array of Amazon VPC endpoint IDs for the workspace. The only VPC endpoints that can be specified here are interface VPC endpoints for Grafana workspaces (using the com.amazonaws.[region].grafana-workspace service endpoint). Other VPC endpoints will be ignored. + * + */ + public Output> vpceIds() { + return this.vpceIds; + } + + private WorkspaceNetworkAccessControlArgs() {} + + private WorkspaceNetworkAccessControlArgs(WorkspaceNetworkAccessControlArgs $) { + this.prefixListIds = $.prefixListIds; + this.vpceIds = $.vpceIds; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(WorkspaceNetworkAccessControlArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private WorkspaceNetworkAccessControlArgs $; + + public Builder() { + $ = new WorkspaceNetworkAccessControlArgs(); + } + + public Builder(WorkspaceNetworkAccessControlArgs defaults) { + $ = new WorkspaceNetworkAccessControlArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param prefixListIds An array of prefix list IDs. + * + * @return builder + * + */ + public Builder prefixListIds(Output> prefixListIds) { + $.prefixListIds = prefixListIds; + return this; + } + + /** + * @param prefixListIds An array of prefix list IDs. + * + * @return builder + * + */ + public Builder prefixListIds(List prefixListIds) { + return prefixListIds(Output.of(prefixListIds)); + } + + /** + * @param prefixListIds An array of prefix list IDs. + * + * @return builder + * + */ + public Builder prefixListIds(String... prefixListIds) { + return prefixListIds(List.of(prefixListIds)); + } + + /** + * @param vpceIds An array of Amazon VPC endpoint IDs for the workspace. The only VPC endpoints that can be specified here are interface VPC endpoints for Grafana workspaces (using the com.amazonaws.[region].grafana-workspace service endpoint). Other VPC endpoints will be ignored. + * + * @return builder + * + */ + public Builder vpceIds(Output> vpceIds) { + $.vpceIds = vpceIds; + return this; + } + + /** + * @param vpceIds An array of Amazon VPC endpoint IDs for the workspace. The only VPC endpoints that can be specified here are interface VPC endpoints for Grafana workspaces (using the com.amazonaws.[region].grafana-workspace service endpoint). Other VPC endpoints will be ignored. + * + * @return builder + * + */ + public Builder vpceIds(List vpceIds) { + return vpceIds(Output.of(vpceIds)); + } + + /** + * @param vpceIds An array of Amazon VPC endpoint IDs for the workspace. The only VPC endpoints that can be specified here are interface VPC endpoints for Grafana workspaces (using the com.amazonaws.[region].grafana-workspace service endpoint). Other VPC endpoints will be ignored. + * + * @return builder + * + */ + public Builder vpceIds(String... vpceIds) { + return vpceIds(List.of(vpceIds)); + } + + public WorkspaceNetworkAccessControlArgs build() { + $.prefixListIds = Objects.requireNonNull($.prefixListIds, "expected parameter 'prefixListIds' to be non-null"); + $.vpceIds = Objects.requireNonNull($.vpceIds, "expected parameter 'vpceIds' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/grafana/inputs/WorkspaceState.java b/sdk/java/src/main/java/com/pulumi/aws/grafana/inputs/WorkspaceState.java index 8809f9438c4..d63cbe7bfdb 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/grafana/inputs/WorkspaceState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/grafana/inputs/WorkspaceState.java @@ -3,6 +3,7 @@ package com.pulumi.aws.grafana.inputs; +import com.pulumi.aws.grafana.inputs.WorkspaceNetworkAccessControlArgs; import com.pulumi.aws.grafana.inputs.WorkspaceVpcConfigurationArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; @@ -153,6 +154,21 @@ public Optional> name() { return Optional.ofNullable(this.name); } + /** + * Configuration for network access to your workspace.See Network Access Control below. + * + */ + @Import(name="networkAccessControl") + private @Nullable Output networkAccessControl; + + /** + * @return Configuration for network access to your workspace.See Network Access Control below. + * + */ + public Optional> networkAccessControl() { + return Optional.ofNullable(this.networkAccessControl); + } + /** * The notification destinations. If a data source is specified here, Amazon Managed Grafana will create IAM roles and permissions needed to use these destinations. Must be set to `SNS`. * @@ -307,6 +323,7 @@ private WorkspaceState(WorkspaceState $) { this.endpoint = $.endpoint; this.grafanaVersion = $.grafanaVersion; this.name = $.name; + this.networkAccessControl = $.networkAccessControl; this.notificationDestinations = $.notificationDestinations; this.organizationRoleName = $.organizationRoleName; this.organizationalUnits = $.organizationalUnits; @@ -546,6 +563,27 @@ public Builder name(String name) { return name(Output.of(name)); } + /** + * @param networkAccessControl Configuration for network access to your workspace.See Network Access Control below. + * + * @return builder + * + */ + public Builder networkAccessControl(@Nullable Output networkAccessControl) { + $.networkAccessControl = networkAccessControl; + return this; + } + + /** + * @param networkAccessControl Configuration for network access to your workspace.See Network Access Control below. + * + * @return builder + * + */ + public Builder networkAccessControl(WorkspaceNetworkAccessControlArgs networkAccessControl) { + return networkAccessControl(Output.of(networkAccessControl)); + } + /** * @param notificationDestinations The notification destinations. If a data source is specified here, Amazon Managed Grafana will create IAM roles and permissions needed to use these destinations. Must be set to `SNS`. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/grafana/outputs/WorkspaceNetworkAccessControl.java b/sdk/java/src/main/java/com/pulumi/aws/grafana/outputs/WorkspaceNetworkAccessControl.java new file mode 100644 index 00000000000..9feefb25665 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/grafana/outputs/WorkspaceNetworkAccessControl.java @@ -0,0 +1,81 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.grafana.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class WorkspaceNetworkAccessControl { + /** + * @return An array of prefix list IDs. + * + */ + private List prefixListIds; + /** + * @return An array of Amazon VPC endpoint IDs for the workspace. The only VPC endpoints that can be specified here are interface VPC endpoints for Grafana workspaces (using the com.amazonaws.[region].grafana-workspace service endpoint). Other VPC endpoints will be ignored. + * + */ + private List vpceIds; + + private WorkspaceNetworkAccessControl() {} + /** + * @return An array of prefix list IDs. + * + */ + public List prefixListIds() { + return this.prefixListIds; + } + /** + * @return An array of Amazon VPC endpoint IDs for the workspace. The only VPC endpoints that can be specified here are interface VPC endpoints for Grafana workspaces (using the com.amazonaws.[region].grafana-workspace service endpoint). Other VPC endpoints will be ignored. + * + */ + public List vpceIds() { + return this.vpceIds; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(WorkspaceNetworkAccessControl defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List prefixListIds; + private List vpceIds; + public Builder() {} + public Builder(WorkspaceNetworkAccessControl defaults) { + Objects.requireNonNull(defaults); + this.prefixListIds = defaults.prefixListIds; + this.vpceIds = defaults.vpceIds; + } + + @CustomType.Setter + public Builder prefixListIds(List prefixListIds) { + this.prefixListIds = Objects.requireNonNull(prefixListIds); + return this; + } + public Builder prefixListIds(String... prefixListIds) { + return prefixListIds(List.of(prefixListIds)); + } + @CustomType.Setter + public Builder vpceIds(List vpceIds) { + this.vpceIds = Objects.requireNonNull(vpceIds); + return this; + } + public Builder vpceIds(String... vpceIds) { + return vpceIds(List.of(vpceIds)); + } + public WorkspaceNetworkAccessControl build() { + final var o = new WorkspaceNetworkAccessControl(); + o.prefixListIds = prefixListIds; + o.vpceIds = vpceIds; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/PolicyAttachment.java b/sdk/java/src/main/java/com/pulumi/aws/iam/PolicyAttachment.java index dc72c652ea0..cf2ef20c836 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/PolicyAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/PolicyAttachment.java @@ -24,6 +24,79 @@ * * > **NOTE:** For a given role, this resource is incompatible with using the `aws.iam.Role` resource `managed_policy_arns` argument. When using that argument and this resource, both will attempt to manage the role's managed policy attachments and the provider will show a permanent difference. * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.iam.User; + * import com.pulumi.aws.iam.IamFunctions; + * import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs; + * import com.pulumi.aws.iam.Role; + * import com.pulumi.aws.iam.RoleArgs; + * import com.pulumi.aws.iam.Group; + * import com.pulumi.aws.iam.Policy; + * import com.pulumi.aws.iam.PolicyArgs; + * import com.pulumi.aws.iam.PolicyAttachment; + * import com.pulumi.aws.iam.PolicyAttachmentArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * var user = new User("user"); + * + * final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() + * .statements(GetPolicyDocumentStatementArgs.builder() + * .effect("Allow") + * .principals(GetPolicyDocumentStatementPrincipalArgs.builder() + * .type("Service") + * .identifiers("ec2.amazonaws.com") + * .build()) + * .actions("sts:AssumeRole") + * .build()) + * .build()); + * + * var role = new Role("role", RoleArgs.builder() + * .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) + * .build()); + * + * var group = new Group("group"); + * + * final var policyPolicyDocument = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() + * .statements(GetPolicyDocumentStatementArgs.builder() + * .effect("Allow") + * .actions("ec2:Describe*") + * .resources("*") + * .build()) + * .build()); + * + * var policyPolicy = new Policy("policyPolicy", PolicyArgs.builder() + * .description("A test policy") + * .policy(policyPolicyDocument.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) + * .build()); + * + * var test_attach = new PolicyAttachment("test-attach", PolicyAttachmentArgs.builder() + * .users(user.name()) + * .roles(role.name()) + * .groups(group.name()) + * .policyArn(policyPolicy.arn()) + * .build()); + * + * } + * } + * ``` + * */ @ResourceType(type="aws:iam/policyAttachment:PolicyAttachment") public class PolicyAttachment extends com.pulumi.resources.CustomResource { diff --git a/sdk/java/src/main/java/com/pulumi/aws/lambda/Function.java b/sdk/java/src/main/java/com/pulumi/aws/lambda/Function.java index 628e001e226..44538e156ae 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lambda/Function.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lambda/Function.java @@ -34,6 +34,8 @@ * * > **NOTE:** Due to [AWS Lambda improved VPC networking changes that began deploying in September 2019](https://aws.amazon.com/blogs/compute/announcing-improved-vpc-networking-for-aws-lambda-functions/), EC2 subnets and security groups associated with Lambda Functions can take up to 45 minutes to successfully delete. * + * > **NOTE:** If you get a `KMSAccessDeniedException: Lambda was unable to decrypt the environment variables because KMS access was denied` error when invoking an `aws.lambda.Function` with environment variables, the IAM role associated with the function may have been deleted and recreated _after_ the function was created. You can fix the problem two ways: 1) updating the function's role to another role and then updating it back again to the recreated role, or 2) by using Pulumi to `taint` the function and `apply` your configuration again to recreate the function. (When you create a function, Lambda grants permissions on the KMS key to the function's IAM role. If the IAM role is recreated, the grant is no longer valid. Changing the function's role or recreating the function causes Lambda to update the grant.) + * * > To give an external source (like an EventBridge Rule, SNS, or S3) permission to access the Lambda function, use the `aws.lambda.Permission` resource. See [Lambda Permission Model](https://docs.aws.amazon.com/lambda/latest/dg/intro-permission-model.html) for more details. On the other hand, the `role` argument of this resource is the function's execution role for identity and access to AWS services and resources. * * ## Example Usage diff --git a/sdk/java/src/main/java/com/pulumi/aws/lambda/Invocation.java b/sdk/java/src/main/java/com/pulumi/aws/lambda/Invocation.java index 6e819acc9b6..9a27ef2b7c6 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lambda/Invocation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lambda/Invocation.java @@ -20,6 +20,8 @@ * * > **NOTE:** This resource _only_ invokes the function when the arguments call for a create or update. In other words, after an initial invocation on _apply_, if the arguments do not change, a subsequent _apply_ does not invoke the function again. To dynamically invoke the function, see the `triggers` example below. To always invoke a function on each _apply_, see the `aws.lambda.Invocation` data source. * + * > **NOTE:** If you get a `KMSAccessDeniedException: Lambda was unable to decrypt the environment variables because KMS access was denied` error when invoking an `aws.lambda.Function` with environment variables, the IAM role associated with the function may have been deleted and recreated _after_ the function was created. You can fix the problem two ways: 1) updating the function's role to another role and then updating it back again to the recreated role, or 2) by using Pulumi to `taint` the function and `apply` your configuration again to recreate the function. (When you create a function, Lambda grants permissions on the KMS key to the function's IAM role. If the IAM role is recreated, the grant is no longer valid. Changing the function's role or recreating the function causes Lambda to update the grant.) + * * ## Example Usage * ### Dynamic Invocation Example Using Triggers * ```java diff --git a/sdk/java/src/main/java/com/pulumi/aws/lambda/LambdaFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/lambda/LambdaFunctions.java index 0dcd693c132..4ef6e1ee0c9 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lambda/LambdaFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lambda/LambdaFunctions.java @@ -860,6 +860,8 @@ public static CompletableFuture getFunctionsPlain(InvokeArgs * The lambda function is invoked with [RequestResponse](https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html#API_Invoke_RequestSyntax) * invocation type. * + * > **NOTE:** If you get a `KMSAccessDeniedException: Lambda was unable to decrypt the environment variables because KMS access was denied` error when invoking an `aws.lambda.Function` with environment variables, the IAM role associated with the function may have been deleted and recreated _after_ the function was created. You can fix the problem two ways: 1) updating the function's role to another role and then updating it back again to the recreated role, or 2) by using Pulumi to `taint` the function and `apply` your configuration again to recreate the function. (When you create a function, Lambda grants permissions on the KMS key to the function's IAM role. If the IAM role is recreated, the grant is no longer valid. Changing the function's role or recreating the function causes Lambda to update the grant.) + * */ public static Output getInvocation(GetInvocationArgs args) { return getInvocation(args, InvokeOptions.Empty); @@ -869,6 +871,8 @@ public static Output getInvocation(GetInvocationArgs args) * The lambda function is invoked with [RequestResponse](https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html#API_Invoke_RequestSyntax) * invocation type. * + * > **NOTE:** If you get a `KMSAccessDeniedException: Lambda was unable to decrypt the environment variables because KMS access was denied` error when invoking an `aws.lambda.Function` with environment variables, the IAM role associated with the function may have been deleted and recreated _after_ the function was created. You can fix the problem two ways: 1) updating the function's role to another role and then updating it back again to the recreated role, or 2) by using Pulumi to `taint` the function and `apply` your configuration again to recreate the function. (When you create a function, Lambda grants permissions on the KMS key to the function's IAM role. If the IAM role is recreated, the grant is no longer valid. Changing the function's role or recreating the function causes Lambda to update the grant.) + * */ public static CompletableFuture getInvocationPlain(GetInvocationPlainArgs args) { return getInvocationPlain(args, InvokeOptions.Empty); @@ -878,6 +882,8 @@ public static CompletableFuture getInvocationPlain(GetInvoc * The lambda function is invoked with [RequestResponse](https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html#API_Invoke_RequestSyntax) * invocation type. * + * > **NOTE:** If you get a `KMSAccessDeniedException: Lambda was unable to decrypt the environment variables because KMS access was denied` error when invoking an `aws.lambda.Function` with environment variables, the IAM role associated with the function may have been deleted and recreated _after_ the function was created. You can fix the problem two ways: 1) updating the function's role to another role and then updating it back again to the recreated role, or 2) by using Pulumi to `taint` the function and `apply` your configuration again to recreate the function. (When you create a function, Lambda grants permissions on the KMS key to the function's IAM role. If the IAM role is recreated, the grant is no longer valid. Changing the function's role or recreating the function causes Lambda to update the grant.) + * */ public static Output getInvocation(GetInvocationArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:lambda/getInvocation:getInvocation", TypeShape.of(GetInvocationResult.class), args, Utilities.withVersion(options)); @@ -887,6 +893,8 @@ public static Output getInvocation(GetInvocationArgs args, * The lambda function is invoked with [RequestResponse](https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html#API_Invoke_RequestSyntax) * invocation type. * + * > **NOTE:** If you get a `KMSAccessDeniedException: Lambda was unable to decrypt the environment variables because KMS access was denied` error when invoking an `aws.lambda.Function` with environment variables, the IAM role associated with the function may have been deleted and recreated _after_ the function was created. You can fix the problem two ways: 1) updating the function's role to another role and then updating it back again to the recreated role, or 2) by using Pulumi to `taint` the function and `apply` your configuration again to recreate the function. (When you create a function, Lambda grants permissions on the KMS key to the function's IAM role. If the IAM role is recreated, the grant is no longer valid. Changing the function's role or recreating the function causes Lambda to update the grant.) + * */ public static CompletableFuture getInvocationPlain(GetInvocationPlainArgs args, InvokeOptions options) { return Deployment.getInstance().invokeAsync("aws:lambda/getInvocation:getInvocation", TypeShape.of(GetInvocationResult.class), args, Utilities.withVersion(options)); diff --git a/sdk/java/src/main/java/com/pulumi/aws/licensemanager/LicenseGrant.java b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/LicenseGrant.java new file mode 100644 index 00000000000..c16800d1f4f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/LicenseGrant.java @@ -0,0 +1,245 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.licensemanager; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.licensemanager.LicenseGrantArgs; +import com.pulumi.aws.licensemanager.inputs.LicenseGrantState; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.String; +import java.util.List; +import javax.annotation.Nullable; + +/** + * Provides a License Manager grant. This allows for sharing licenses with other AWS accounts. + * + * ## Example Usage + * + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.licensemanager.LicenseGrant; + * import com.pulumi.aws.licensemanager.LicenseGrantArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * var test = new LicenseGrant("test", LicenseGrantArgs.builder() + * .allowedOperations( + * "ListPurchasedLicenses", + * "CheckoutLicense", + * "CheckInLicense", + * "ExtendConsumptionLicense", + * "CreateToken") + * .homeRegion("us-east-1") + * .licenseArn("arn:aws:license-manager::111111111111:license:l-exampleARN") + * .principal("arn:aws:iam::111111111112:root") + * .build()); + * + * } + * } + * ``` + * + * ## Import + * + * `aws_licensemanager_grant` can be imported using the grant arn. + * + * ```sh + * $ pulumi import aws:licensemanager/licenseGrant:LicenseGrant test arn:aws:license-manager::123456789011:grant:g-01d313393d9e443d8664cc054db1e089 + * ``` + * + */ +@ResourceType(type="aws:licensemanager/licenseGrant:LicenseGrant") +public class LicenseGrant extends com.pulumi.resources.CustomResource { + /** + * A list of the allowed operations for the grant. This is a subset of the allowed operations on the license. + * + */ + @Export(name="allowedOperations", refs={List.class,String.class}, tree="[0,1]") + private Output> allowedOperations; + + /** + * @return A list of the allowed operations for the grant. This is a subset of the allowed operations on the license. + * + */ + public Output> allowedOperations() { + return this.allowedOperations; + } + /** + * The grant ARN. + * + */ + @Export(name="arn", refs={String.class}, tree="[0]") + private Output arn; + + /** + * @return The grant ARN. + * + */ + public Output arn() { + return this.arn; + } + /** + * The home region for the license. + * + */ + @Export(name="homeRegion", refs={String.class}, tree="[0]") + private Output homeRegion; + + /** + * @return The home region for the license. + * + */ + public Output homeRegion() { + return this.homeRegion; + } + /** + * The ARN of the license to grant. + * + */ + @Export(name="licenseArn", refs={String.class}, tree="[0]") + private Output licenseArn; + + /** + * @return The ARN of the license to grant. + * + */ + public Output licenseArn() { + return this.licenseArn; + } + /** + * The Name of the grant. + * + */ + @Export(name="name", refs={String.class}, tree="[0]") + private Output name; + + /** + * @return The Name of the grant. + * + */ + public Output name() { + return this.name; + } + /** + * The parent ARN. + * + */ + @Export(name="parentArn", refs={String.class}, tree="[0]") + private Output parentArn; + + /** + * @return The parent ARN. + * + */ + public Output parentArn() { + return this.parentArn; + } + /** + * The target account for the grant in the form of the ARN for an account principal of the root user. + * + */ + @Export(name="principal", refs={String.class}, tree="[0]") + private Output principal; + + /** + * @return The target account for the grant in the form of the ARN for an account principal of the root user. + * + */ + public Output principal() { + return this.principal; + } + /** + * The grant status. + * + */ + @Export(name="status", refs={String.class}, tree="[0]") + private Output status; + + /** + * @return The grant status. + * + */ + public Output status() { + return this.status; + } + /** + * The grant version. + * + */ + @Export(name="version", refs={String.class}, tree="[0]") + private Output version; + + /** + * @return The grant version. + * + */ + public Output version() { + return this.version; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public LicenseGrant(String name) { + this(name, LicenseGrantArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public LicenseGrant(String name, LicenseGrantArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public LicenseGrant(String name, LicenseGrantArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:licensemanager/licenseGrant:LicenseGrant", name, args == null ? LicenseGrantArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private LicenseGrant(String name, Output id, @Nullable LicenseGrantState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:licensemanager/licenseGrant:LicenseGrant", name, state, makeResourceOptions(options, id)); + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static LicenseGrant get(String name, Output id, @Nullable LicenseGrantState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new LicenseGrant(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/licensemanager/LicenseGrantAccepter.java b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/LicenseGrantAccepter.java new file mode 100644 index 00000000000..a3d557dfab6 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/LicenseGrantAccepter.java @@ -0,0 +1,237 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.licensemanager; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.licensemanager.LicenseGrantAccepterArgs; +import com.pulumi.aws.licensemanager.inputs.LicenseGrantAccepterState; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.String; +import java.util.List; +import javax.annotation.Nullable; + +/** + * Accepts a License Manager grant. This allows for sharing licenses with other aws accounts. + * + * ## Example Usage + * + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.licensemanager.LicenseGrantAccepter; + * import com.pulumi.aws.licensemanager.LicenseGrantAccepterArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * var test = new LicenseGrantAccepter("test", LicenseGrantAccepterArgs.builder() + * .name("arn:aws:license-manager::123456789012:grant:g-1cf9fba4ba2f42dcab11c686c4b4d329") + * .build()); + * + * } + * } + * ``` + * + * ## Import + * + * `aws_licensemanager_grant_accepter` can be imported using the grant arn. + * + * ```sh + * $ pulumi import aws:licensemanager/licenseGrantAccepter:LicenseGrantAccepter test arn:aws:license-manager::123456789012:grant:g-1cf9fba4ba2f42dcab11c686c4b4d329 + * ``` + * + */ +@ResourceType(type="aws:licensemanager/licenseGrantAccepter:LicenseGrantAccepter") +public class LicenseGrantAccepter extends com.pulumi.resources.CustomResource { + /** + * A list of the allowed operations for the grant. + * + */ + @Export(name="allowedOperations", refs={List.class,String.class}, tree="[0,1]") + private Output> allowedOperations; + + /** + * @return A list of the allowed operations for the grant. + * + */ + public Output> allowedOperations() { + return this.allowedOperations; + } + /** + * The ARN of the grant to accept. + * + */ + @Export(name="grantArn", refs={String.class}, tree="[0]") + private Output grantArn; + + /** + * @return The ARN of the grant to accept. + * + */ + public Output grantArn() { + return this.grantArn; + } + /** + * The home region for the license. + * + */ + @Export(name="homeRegion", refs={String.class}, tree="[0]") + private Output homeRegion; + + /** + * @return The home region for the license. + * + */ + public Output homeRegion() { + return this.homeRegion; + } + /** + * The ARN of the license for the grant. + * + */ + @Export(name="licenseArn", refs={String.class}, tree="[0]") + private Output licenseArn; + + /** + * @return The ARN of the license for the grant. + * + */ + public Output licenseArn() { + return this.licenseArn; + } + /** + * The Name of the grant. + * + */ + @Export(name="name", refs={String.class}, tree="[0]") + private Output name; + + /** + * @return The Name of the grant. + * + */ + public Output name() { + return this.name; + } + /** + * The parent ARN. + * + */ + @Export(name="parentArn", refs={String.class}, tree="[0]") + private Output parentArn; + + /** + * @return The parent ARN. + * + */ + public Output parentArn() { + return this.parentArn; + } + /** + * The target account for the grant. + * + */ + @Export(name="principal", refs={String.class}, tree="[0]") + private Output principal; + + /** + * @return The target account for the grant. + * + */ + public Output principal() { + return this.principal; + } + /** + * The grant status. + * + */ + @Export(name="status", refs={String.class}, tree="[0]") + private Output status; + + /** + * @return The grant status. + * + */ + public Output status() { + return this.status; + } + /** + * The grant version. + * + */ + @Export(name="version", refs={String.class}, tree="[0]") + private Output version; + + /** + * @return The grant version. + * + */ + public Output version() { + return this.version; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public LicenseGrantAccepter(String name) { + this(name, LicenseGrantAccepterArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public LicenseGrantAccepter(String name, LicenseGrantAccepterArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public LicenseGrantAccepter(String name, LicenseGrantAccepterArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:licensemanager/licenseGrantAccepter:LicenseGrantAccepter", name, args == null ? LicenseGrantAccepterArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private LicenseGrantAccepter(String name, Output id, @Nullable LicenseGrantAccepterState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:licensemanager/licenseGrantAccepter:LicenseGrantAccepter", name, state, makeResourceOptions(options, id)); + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static LicenseGrantAccepter get(String name, Output id, @Nullable LicenseGrantAccepterState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new LicenseGrantAccepter(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/licensemanager/LicenseGrantAccepterArgs.java b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/LicenseGrantAccepterArgs.java new file mode 100644 index 00000000000..f1657f97138 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/LicenseGrantAccepterArgs.java @@ -0,0 +1,82 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.licensemanager; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class LicenseGrantAccepterArgs extends com.pulumi.resources.ResourceArgs { + + public static final LicenseGrantAccepterArgs Empty = new LicenseGrantAccepterArgs(); + + /** + * The ARN of the grant to accept. + * + */ + @Import(name="grantArn", required=true) + private Output grantArn; + + /** + * @return The ARN of the grant to accept. + * + */ + public Output grantArn() { + return this.grantArn; + } + + private LicenseGrantAccepterArgs() {} + + private LicenseGrantAccepterArgs(LicenseGrantAccepterArgs $) { + this.grantArn = $.grantArn; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(LicenseGrantAccepterArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private LicenseGrantAccepterArgs $; + + public Builder() { + $ = new LicenseGrantAccepterArgs(); + } + + public Builder(LicenseGrantAccepterArgs defaults) { + $ = new LicenseGrantAccepterArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param grantArn The ARN of the grant to accept. + * + * @return builder + * + */ + public Builder grantArn(Output grantArn) { + $.grantArn = grantArn; + return this; + } + + /** + * @param grantArn The ARN of the grant to accept. + * + * @return builder + * + */ + public Builder grantArn(String grantArn) { + return grantArn(Output.of(grantArn)); + } + + public LicenseGrantAccepterArgs build() { + $.grantArn = Objects.requireNonNull($.grantArn, "expected parameter 'grantArn' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/licensemanager/LicenseGrantArgs.java b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/LicenseGrantArgs.java new file mode 100644 index 00000000000..a416977343d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/LicenseGrantArgs.java @@ -0,0 +1,208 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.licensemanager; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class LicenseGrantArgs extends com.pulumi.resources.ResourceArgs { + + public static final LicenseGrantArgs Empty = new LicenseGrantArgs(); + + /** + * A list of the allowed operations for the grant. This is a subset of the allowed operations on the license. + * + */ + @Import(name="allowedOperations", required=true) + private Output> allowedOperations; + + /** + * @return A list of the allowed operations for the grant. This is a subset of the allowed operations on the license. + * + */ + public Output> allowedOperations() { + return this.allowedOperations; + } + + /** + * The ARN of the license to grant. + * + */ + @Import(name="licenseArn", required=true) + private Output licenseArn; + + /** + * @return The ARN of the license to grant. + * + */ + public Output licenseArn() { + return this.licenseArn; + } + + /** + * The Name of the grant. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return The Name of the grant. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * The target account for the grant in the form of the ARN for an account principal of the root user. + * + */ + @Import(name="principal", required=true) + private Output principal; + + /** + * @return The target account for the grant in the form of the ARN for an account principal of the root user. + * + */ + public Output principal() { + return this.principal; + } + + private LicenseGrantArgs() {} + + private LicenseGrantArgs(LicenseGrantArgs $) { + this.allowedOperations = $.allowedOperations; + this.licenseArn = $.licenseArn; + this.name = $.name; + this.principal = $.principal; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(LicenseGrantArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private LicenseGrantArgs $; + + public Builder() { + $ = new LicenseGrantArgs(); + } + + public Builder(LicenseGrantArgs defaults) { + $ = new LicenseGrantArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param allowedOperations A list of the allowed operations for the grant. This is a subset of the allowed operations on the license. + * + * @return builder + * + */ + public Builder allowedOperations(Output> allowedOperations) { + $.allowedOperations = allowedOperations; + return this; + } + + /** + * @param allowedOperations A list of the allowed operations for the grant. This is a subset of the allowed operations on the license. + * + * @return builder + * + */ + public Builder allowedOperations(List allowedOperations) { + return allowedOperations(Output.of(allowedOperations)); + } + + /** + * @param allowedOperations A list of the allowed operations for the grant. This is a subset of the allowed operations on the license. + * + * @return builder + * + */ + public Builder allowedOperations(String... allowedOperations) { + return allowedOperations(List.of(allowedOperations)); + } + + /** + * @param licenseArn The ARN of the license to grant. + * + * @return builder + * + */ + public Builder licenseArn(Output licenseArn) { + $.licenseArn = licenseArn; + return this; + } + + /** + * @param licenseArn The ARN of the license to grant. + * + * @return builder + * + */ + public Builder licenseArn(String licenseArn) { + return licenseArn(Output.of(licenseArn)); + } + + /** + * @param name The Name of the grant. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name The Name of the grant. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param principal The target account for the grant in the form of the ARN for an account principal of the root user. + * + * @return builder + * + */ + public Builder principal(Output principal) { + $.principal = principal; + return this; + } + + /** + * @param principal The target account for the grant in the form of the ARN for an account principal of the root user. + * + * @return builder + * + */ + public Builder principal(String principal) { + return principal(Output.of(principal)); + } + + public LicenseGrantArgs build() { + $.allowedOperations = Objects.requireNonNull($.allowedOperations, "expected parameter 'allowedOperations' to be non-null"); + $.licenseArn = Objects.requireNonNull($.licenseArn, "expected parameter 'licenseArn' to be non-null"); + $.principal = Objects.requireNonNull($.principal, "expected parameter 'principal' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/licensemanager/LicensemanagerFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/LicensemanagerFunctions.java new file mode 100644 index 00000000000..9bcdf35ed0a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/LicensemanagerFunctions.java @@ -0,0 +1,701 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.licensemanager; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.licensemanager.inputs.GetLicenseGrantsArgs; +import com.pulumi.aws.licensemanager.inputs.GetLicenseGrantsPlainArgs; +import com.pulumi.aws.licensemanager.inputs.GetReceivedLicenseArgs; +import com.pulumi.aws.licensemanager.inputs.GetReceivedLicensePlainArgs; +import com.pulumi.aws.licensemanager.inputs.GetReceivedLicensesArgs; +import com.pulumi.aws.licensemanager.inputs.GetReceivedLicensesPlainArgs; +import com.pulumi.aws.licensemanager.outputs.GetLicenseGrantsResult; +import com.pulumi.aws.licensemanager.outputs.GetReceivedLicenseResult; +import com.pulumi.aws.licensemanager.outputs.GetReceivedLicensesResult; +import com.pulumi.core.Output; +import com.pulumi.core.TypeShape; +import com.pulumi.deployment.Deployment; +import com.pulumi.deployment.InvokeOptions; +import java.util.concurrent.CompletableFuture; + +public final class LicensemanagerFunctions { + /** + * This resource can be used to get a set of license grant ARNs matching a filter. + * + * ## Example Usage + * + * The following shows getting all license grant ARNs granted to your account. + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.AwsFunctions; + * import com.pulumi.aws.licensemanager.LicensemanagerFunctions; + * import com.pulumi.aws.licensemanager.inputs.GetLicenseGrantsArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var current = AwsFunctions.getCallerIdentity(); + * + * final var test = LicensemanagerFunctions.getLicenseGrants(GetLicenseGrantsArgs.builder() + * .filters(GetLicenseGrantsFilterArgs.builder() + * .name("GranteePrincipalARN") + * .values(String.format("arn:aws:iam::%s:root", current.applyValue(getCallerIdentityResult -> getCallerIdentityResult.accountId()))) + * .build()) + * .build()); + * + * } + * } + * ``` + * + */ + public static Output getLicenseGrants() { + return getLicenseGrants(GetLicenseGrantsArgs.Empty, InvokeOptions.Empty); + } + /** + * This resource can be used to get a set of license grant ARNs matching a filter. + * + * ## Example Usage + * + * The following shows getting all license grant ARNs granted to your account. + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.AwsFunctions; + * import com.pulumi.aws.licensemanager.LicensemanagerFunctions; + * import com.pulumi.aws.licensemanager.inputs.GetLicenseGrantsArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var current = AwsFunctions.getCallerIdentity(); + * + * final var test = LicensemanagerFunctions.getLicenseGrants(GetLicenseGrantsArgs.builder() + * .filters(GetLicenseGrantsFilterArgs.builder() + * .name("GranteePrincipalARN") + * .values(String.format("arn:aws:iam::%s:root", current.applyValue(getCallerIdentityResult -> getCallerIdentityResult.accountId()))) + * .build()) + * .build()); + * + * } + * } + * ``` + * + */ + public static CompletableFuture getLicenseGrantsPlain() { + return getLicenseGrantsPlain(GetLicenseGrantsPlainArgs.Empty, InvokeOptions.Empty); + } + /** + * This resource can be used to get a set of license grant ARNs matching a filter. + * + * ## Example Usage + * + * The following shows getting all license grant ARNs granted to your account. + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.AwsFunctions; + * import com.pulumi.aws.licensemanager.LicensemanagerFunctions; + * import com.pulumi.aws.licensemanager.inputs.GetLicenseGrantsArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var current = AwsFunctions.getCallerIdentity(); + * + * final var test = LicensemanagerFunctions.getLicenseGrants(GetLicenseGrantsArgs.builder() + * .filters(GetLicenseGrantsFilterArgs.builder() + * .name("GranteePrincipalARN") + * .values(String.format("arn:aws:iam::%s:root", current.applyValue(getCallerIdentityResult -> getCallerIdentityResult.accountId()))) + * .build()) + * .build()); + * + * } + * } + * ``` + * + */ + public static Output getLicenseGrants(GetLicenseGrantsArgs args) { + return getLicenseGrants(args, InvokeOptions.Empty); + } + /** + * This resource can be used to get a set of license grant ARNs matching a filter. + * + * ## Example Usage + * + * The following shows getting all license grant ARNs granted to your account. + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.AwsFunctions; + * import com.pulumi.aws.licensemanager.LicensemanagerFunctions; + * import com.pulumi.aws.licensemanager.inputs.GetLicenseGrantsArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var current = AwsFunctions.getCallerIdentity(); + * + * final var test = LicensemanagerFunctions.getLicenseGrants(GetLicenseGrantsArgs.builder() + * .filters(GetLicenseGrantsFilterArgs.builder() + * .name("GranteePrincipalARN") + * .values(String.format("arn:aws:iam::%s:root", current.applyValue(getCallerIdentityResult -> getCallerIdentityResult.accountId()))) + * .build()) + * .build()); + * + * } + * } + * ``` + * + */ + public static CompletableFuture getLicenseGrantsPlain(GetLicenseGrantsPlainArgs args) { + return getLicenseGrantsPlain(args, InvokeOptions.Empty); + } + /** + * This resource can be used to get a set of license grant ARNs matching a filter. + * + * ## Example Usage + * + * The following shows getting all license grant ARNs granted to your account. + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.AwsFunctions; + * import com.pulumi.aws.licensemanager.LicensemanagerFunctions; + * import com.pulumi.aws.licensemanager.inputs.GetLicenseGrantsArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var current = AwsFunctions.getCallerIdentity(); + * + * final var test = LicensemanagerFunctions.getLicenseGrants(GetLicenseGrantsArgs.builder() + * .filters(GetLicenseGrantsFilterArgs.builder() + * .name("GranteePrincipalARN") + * .values(String.format("arn:aws:iam::%s:root", current.applyValue(getCallerIdentityResult -> getCallerIdentityResult.accountId()))) + * .build()) + * .build()); + * + * } + * } + * ``` + * + */ + public static Output getLicenseGrants(GetLicenseGrantsArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("aws:licensemanager/getLicenseGrants:getLicenseGrants", TypeShape.of(GetLicenseGrantsResult.class), args, Utilities.withVersion(options)); + } + /** + * This resource can be used to get a set of license grant ARNs matching a filter. + * + * ## Example Usage + * + * The following shows getting all license grant ARNs granted to your account. + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.AwsFunctions; + * import com.pulumi.aws.licensemanager.LicensemanagerFunctions; + * import com.pulumi.aws.licensemanager.inputs.GetLicenseGrantsArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var current = AwsFunctions.getCallerIdentity(); + * + * final var test = LicensemanagerFunctions.getLicenseGrants(GetLicenseGrantsArgs.builder() + * .filters(GetLicenseGrantsFilterArgs.builder() + * .name("GranteePrincipalARN") + * .values(String.format("arn:aws:iam::%s:root", current.applyValue(getCallerIdentityResult -> getCallerIdentityResult.accountId()))) + * .build()) + * .build()); + * + * } + * } + * ``` + * + */ + public static CompletableFuture getLicenseGrantsPlain(GetLicenseGrantsPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:licensemanager/getLicenseGrants:getLicenseGrants", TypeShape.of(GetLicenseGrantsResult.class), args, Utilities.withVersion(options)); + } + /** + * This resource can be used to get data on a received license using an ARN. This can be helpful for pulling in data on a license from the AWS marketplace and sharing that license with another account. + * + * ## Example Usage + * + * The following shows getting the received license data using and ARN. + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.licensemanager.LicensemanagerFunctions; + * import com.pulumi.aws.licensemanager.inputs.GetReceivedLicenseArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var test = LicensemanagerFunctions.getReceivedLicense(GetReceivedLicenseArgs.builder() + * .licenseArn("arn:aws:license-manager::111111111111:license:l-ecbaa94eb71a4830b6d7e49268fecaa0") + * .build()); + * + * } + * } + * ``` + * + */ + public static Output getReceivedLicense(GetReceivedLicenseArgs args) { + return getReceivedLicense(args, InvokeOptions.Empty); + } + /** + * This resource can be used to get data on a received license using an ARN. This can be helpful for pulling in data on a license from the AWS marketplace and sharing that license with another account. + * + * ## Example Usage + * + * The following shows getting the received license data using and ARN. + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.licensemanager.LicensemanagerFunctions; + * import com.pulumi.aws.licensemanager.inputs.GetReceivedLicenseArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var test = LicensemanagerFunctions.getReceivedLicense(GetReceivedLicenseArgs.builder() + * .licenseArn("arn:aws:license-manager::111111111111:license:l-ecbaa94eb71a4830b6d7e49268fecaa0") + * .build()); + * + * } + * } + * ``` + * + */ + public static CompletableFuture getReceivedLicensePlain(GetReceivedLicensePlainArgs args) { + return getReceivedLicensePlain(args, InvokeOptions.Empty); + } + /** + * This resource can be used to get data on a received license using an ARN. This can be helpful for pulling in data on a license from the AWS marketplace and sharing that license with another account. + * + * ## Example Usage + * + * The following shows getting the received license data using and ARN. + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.licensemanager.LicensemanagerFunctions; + * import com.pulumi.aws.licensemanager.inputs.GetReceivedLicenseArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var test = LicensemanagerFunctions.getReceivedLicense(GetReceivedLicenseArgs.builder() + * .licenseArn("arn:aws:license-manager::111111111111:license:l-ecbaa94eb71a4830b6d7e49268fecaa0") + * .build()); + * + * } + * } + * ``` + * + */ + public static Output getReceivedLicense(GetReceivedLicenseArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("aws:licensemanager/getReceivedLicense:getReceivedLicense", TypeShape.of(GetReceivedLicenseResult.class), args, Utilities.withVersion(options)); + } + /** + * This resource can be used to get data on a received license using an ARN. This can be helpful for pulling in data on a license from the AWS marketplace and sharing that license with another account. + * + * ## Example Usage + * + * The following shows getting the received license data using and ARN. + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.licensemanager.LicensemanagerFunctions; + * import com.pulumi.aws.licensemanager.inputs.GetReceivedLicenseArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var test = LicensemanagerFunctions.getReceivedLicense(GetReceivedLicenseArgs.builder() + * .licenseArn("arn:aws:license-manager::111111111111:license:l-ecbaa94eb71a4830b6d7e49268fecaa0") + * .build()); + * + * } + * } + * ``` + * + */ + public static CompletableFuture getReceivedLicensePlain(GetReceivedLicensePlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:licensemanager/getReceivedLicense:getReceivedLicense", TypeShape.of(GetReceivedLicenseResult.class), args, Utilities.withVersion(options)); + } + /** + * This resource can be used to get a set of license ARNs matching a filter. + * + * ## Example Usage + * + * The following shows getting all license ARNs issued from the AWS marketplace. Providing no filter, would provide all license ARNs for the entire account. + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.licensemanager.LicensemanagerFunctions; + * import com.pulumi.aws.licensemanager.inputs.GetReceivedLicensesArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var test = LicensemanagerFunctions.getReceivedLicenses(GetReceivedLicensesArgs.builder() + * .filters(GetReceivedLicensesFilterArgs.builder() + * .name("IssuerName") + * .values("AWS/Marketplace") + * .build()) + * .build()); + * + * } + * } + * ``` + * + */ + public static Output getReceivedLicenses() { + return getReceivedLicenses(GetReceivedLicensesArgs.Empty, InvokeOptions.Empty); + } + /** + * This resource can be used to get a set of license ARNs matching a filter. + * + * ## Example Usage + * + * The following shows getting all license ARNs issued from the AWS marketplace. Providing no filter, would provide all license ARNs for the entire account. + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.licensemanager.LicensemanagerFunctions; + * import com.pulumi.aws.licensemanager.inputs.GetReceivedLicensesArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var test = LicensemanagerFunctions.getReceivedLicenses(GetReceivedLicensesArgs.builder() + * .filters(GetReceivedLicensesFilterArgs.builder() + * .name("IssuerName") + * .values("AWS/Marketplace") + * .build()) + * .build()); + * + * } + * } + * ``` + * + */ + public static CompletableFuture getReceivedLicensesPlain() { + return getReceivedLicensesPlain(GetReceivedLicensesPlainArgs.Empty, InvokeOptions.Empty); + } + /** + * This resource can be used to get a set of license ARNs matching a filter. + * + * ## Example Usage + * + * The following shows getting all license ARNs issued from the AWS marketplace. Providing no filter, would provide all license ARNs for the entire account. + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.licensemanager.LicensemanagerFunctions; + * import com.pulumi.aws.licensemanager.inputs.GetReceivedLicensesArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var test = LicensemanagerFunctions.getReceivedLicenses(GetReceivedLicensesArgs.builder() + * .filters(GetReceivedLicensesFilterArgs.builder() + * .name("IssuerName") + * .values("AWS/Marketplace") + * .build()) + * .build()); + * + * } + * } + * ``` + * + */ + public static Output getReceivedLicenses(GetReceivedLicensesArgs args) { + return getReceivedLicenses(args, InvokeOptions.Empty); + } + /** + * This resource can be used to get a set of license ARNs matching a filter. + * + * ## Example Usage + * + * The following shows getting all license ARNs issued from the AWS marketplace. Providing no filter, would provide all license ARNs for the entire account. + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.licensemanager.LicensemanagerFunctions; + * import com.pulumi.aws.licensemanager.inputs.GetReceivedLicensesArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var test = LicensemanagerFunctions.getReceivedLicenses(GetReceivedLicensesArgs.builder() + * .filters(GetReceivedLicensesFilterArgs.builder() + * .name("IssuerName") + * .values("AWS/Marketplace") + * .build()) + * .build()); + * + * } + * } + * ``` + * + */ + public static CompletableFuture getReceivedLicensesPlain(GetReceivedLicensesPlainArgs args) { + return getReceivedLicensesPlain(args, InvokeOptions.Empty); + } + /** + * This resource can be used to get a set of license ARNs matching a filter. + * + * ## Example Usage + * + * The following shows getting all license ARNs issued from the AWS marketplace. Providing no filter, would provide all license ARNs for the entire account. + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.licensemanager.LicensemanagerFunctions; + * import com.pulumi.aws.licensemanager.inputs.GetReceivedLicensesArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var test = LicensemanagerFunctions.getReceivedLicenses(GetReceivedLicensesArgs.builder() + * .filters(GetReceivedLicensesFilterArgs.builder() + * .name("IssuerName") + * .values("AWS/Marketplace") + * .build()) + * .build()); + * + * } + * } + * ``` + * + */ + public static Output getReceivedLicenses(GetReceivedLicensesArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("aws:licensemanager/getReceivedLicenses:getReceivedLicenses", TypeShape.of(GetReceivedLicensesResult.class), args, Utilities.withVersion(options)); + } + /** + * This resource can be used to get a set of license ARNs matching a filter. + * + * ## Example Usage + * + * The following shows getting all license ARNs issued from the AWS marketplace. Providing no filter, would provide all license ARNs for the entire account. + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.licensemanager.LicensemanagerFunctions; + * import com.pulumi.aws.licensemanager.inputs.GetReceivedLicensesArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var test = LicensemanagerFunctions.getReceivedLicenses(GetReceivedLicensesArgs.builder() + * .filters(GetReceivedLicensesFilterArgs.builder() + * .name("IssuerName") + * .values("AWS/Marketplace") + * .build()) + * .build()); + * + * } + * } + * ``` + * + */ + public static CompletableFuture getReceivedLicensesPlain(GetReceivedLicensesPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:licensemanager/getReceivedLicenses:getReceivedLicenses", TypeShape.of(GetReceivedLicensesResult.class), args, Utilities.withVersion(options)); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/licensemanager/inputs/GetLicenseGrantsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/inputs/GetLicenseGrantsArgs.java new file mode 100644 index 00000000000..c994b0874cf --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/inputs/GetLicenseGrantsArgs.java @@ -0,0 +1,94 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.licensemanager.inputs; + +import com.pulumi.aws.licensemanager.inputs.GetLicenseGrantsFilterArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetLicenseGrantsArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetLicenseGrantsArgs Empty = new GetLicenseGrantsArgs(); + + /** + * Custom filter block as described below. + * + */ + @Import(name="filters") + private @Nullable Output> filters; + + /** + * @return Custom filter block as described below. + * + */ + public Optional>> filters() { + return Optional.ofNullable(this.filters); + } + + private GetLicenseGrantsArgs() {} + + private GetLicenseGrantsArgs(GetLicenseGrantsArgs $) { + this.filters = $.filters; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetLicenseGrantsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetLicenseGrantsArgs $; + + public Builder() { + $ = new GetLicenseGrantsArgs(); + } + + public Builder(GetLicenseGrantsArgs defaults) { + $ = new GetLicenseGrantsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param filters Custom filter block as described below. + * + * @return builder + * + */ + public Builder filters(@Nullable Output> filters) { + $.filters = filters; + return this; + } + + /** + * @param filters Custom filter block as described below. + * + * @return builder + * + */ + public Builder filters(List filters) { + return filters(Output.of(filters)); + } + + /** + * @param filters Custom filter block as described below. + * + * @return builder + * + */ + public Builder filters(GetLicenseGrantsFilterArgs... filters) { + return filters(List.of(filters)); + } + + public GetLicenseGrantsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/licensemanager/inputs/GetLicenseGrantsFilter.java b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/inputs/GetLicenseGrantsFilter.java new file mode 100644 index 00000000000..946f31d407c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/inputs/GetLicenseGrantsFilter.java @@ -0,0 +1,116 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.licensemanager.inputs; + +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; + + +public final class GetLicenseGrantsFilter extends com.pulumi.resources.InvokeArgs { + + public static final GetLicenseGrantsFilter Empty = new GetLicenseGrantsFilter(); + + /** + * Name of the field to filter by, as defined by + * [the underlying AWS API](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_ListReceivedGrants.html#API_ListReceivedGrants_RequestSyntax). + * For example, if filtering using `ProductSKU`, use: + * + */ + @Import(name="name", required=true) + private String name; + + /** + * @return Name of the field to filter by, as defined by + * [the underlying AWS API](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_ListReceivedGrants.html#API_ListReceivedGrants_RequestSyntax). + * For example, if filtering using `ProductSKU`, use: + * + */ + public String name() { + return this.name; + } + + /** + * Set of values that are accepted for the given field. + * + */ + @Import(name="values", required=true) + private List values; + + /** + * @return Set of values that are accepted for the given field. + * + */ + public List values() { + return this.values; + } + + private GetLicenseGrantsFilter() {} + + private GetLicenseGrantsFilter(GetLicenseGrantsFilter $) { + this.name = $.name; + this.values = $.values; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetLicenseGrantsFilter defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetLicenseGrantsFilter $; + + public Builder() { + $ = new GetLicenseGrantsFilter(); + } + + public Builder(GetLicenseGrantsFilter defaults) { + $ = new GetLicenseGrantsFilter(Objects.requireNonNull(defaults)); + } + + /** + * @param name Name of the field to filter by, as defined by + * [the underlying AWS API](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_ListReceivedGrants.html#API_ListReceivedGrants_RequestSyntax). + * For example, if filtering using `ProductSKU`, use: + * + * @return builder + * + */ + public Builder name(String name) { + $.name = name; + return this; + } + + /** + * @param values Set of values that are accepted for the given field. + * + * @return builder + * + */ + public Builder values(List values) { + $.values = values; + return this; + } + + /** + * @param values Set of values that are accepted for the given field. + * + * @return builder + * + */ + public Builder values(String... values) { + return values(List.of(values)); + } + + public GetLicenseGrantsFilter build() { + $.name = Objects.requireNonNull($.name, "expected parameter 'name' to be non-null"); + $.values = Objects.requireNonNull($.values, "expected parameter 'values' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/licensemanager/inputs/GetLicenseGrantsFilterArgs.java b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/inputs/GetLicenseGrantsFilterArgs.java new file mode 100644 index 00000000000..6f62a929768 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/inputs/GetLicenseGrantsFilterArgs.java @@ -0,0 +1,139 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.licensemanager.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; + + +public final class GetLicenseGrantsFilterArgs extends com.pulumi.resources.ResourceArgs { + + public static final GetLicenseGrantsFilterArgs Empty = new GetLicenseGrantsFilterArgs(); + + /** + * Name of the field to filter by, as defined by + * [the underlying AWS API](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_ListReceivedGrants.html#API_ListReceivedGrants_RequestSyntax). + * For example, if filtering using `ProductSKU`, use: + * + */ + @Import(name="name", required=true) + private Output name; + + /** + * @return Name of the field to filter by, as defined by + * [the underlying AWS API](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_ListReceivedGrants.html#API_ListReceivedGrants_RequestSyntax). + * For example, if filtering using `ProductSKU`, use: + * + */ + public Output name() { + return this.name; + } + + /** + * Set of values that are accepted for the given field. + * + */ + @Import(name="values", required=true) + private Output> values; + + /** + * @return Set of values that are accepted for the given field. + * + */ + public Output> values() { + return this.values; + } + + private GetLicenseGrantsFilterArgs() {} + + private GetLicenseGrantsFilterArgs(GetLicenseGrantsFilterArgs $) { + this.name = $.name; + this.values = $.values; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetLicenseGrantsFilterArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetLicenseGrantsFilterArgs $; + + public Builder() { + $ = new GetLicenseGrantsFilterArgs(); + } + + public Builder(GetLicenseGrantsFilterArgs defaults) { + $ = new GetLicenseGrantsFilterArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param name Name of the field to filter by, as defined by + * [the underlying AWS API](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_ListReceivedGrants.html#API_ListReceivedGrants_RequestSyntax). + * For example, if filtering using `ProductSKU`, use: + * + * @return builder + * + */ + public Builder name(Output name) { + $.name = name; + return this; + } + + /** + * @param name Name of the field to filter by, as defined by + * [the underlying AWS API](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_ListReceivedGrants.html#API_ListReceivedGrants_RequestSyntax). + * For example, if filtering using `ProductSKU`, use: + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param values Set of values that are accepted for the given field. + * + * @return builder + * + */ + public Builder values(Output> values) { + $.values = values; + return this; + } + + /** + * @param values Set of values that are accepted for the given field. + * + * @return builder + * + */ + public Builder values(List values) { + return values(Output.of(values)); + } + + /** + * @param values Set of values that are accepted for the given field. + * + * @return builder + * + */ + public Builder values(String... values) { + return values(List.of(values)); + } + + public GetLicenseGrantsFilterArgs build() { + $.name = Objects.requireNonNull($.name, "expected parameter 'name' to be non-null"); + $.values = Objects.requireNonNull($.values, "expected parameter 'values' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/licensemanager/inputs/GetLicenseGrantsPlainArgs.java b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/inputs/GetLicenseGrantsPlainArgs.java new file mode 100644 index 00000000000..597aaae5fa8 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/inputs/GetLicenseGrantsPlainArgs.java @@ -0,0 +1,83 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.licensemanager.inputs; + +import com.pulumi.aws.licensemanager.inputs.GetLicenseGrantsFilter; +import com.pulumi.core.annotations.Import; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetLicenseGrantsPlainArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetLicenseGrantsPlainArgs Empty = new GetLicenseGrantsPlainArgs(); + + /** + * Custom filter block as described below. + * + */ + @Import(name="filters") + private @Nullable List filters; + + /** + * @return Custom filter block as described below. + * + */ + public Optional> filters() { + return Optional.ofNullable(this.filters); + } + + private GetLicenseGrantsPlainArgs() {} + + private GetLicenseGrantsPlainArgs(GetLicenseGrantsPlainArgs $) { + this.filters = $.filters; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetLicenseGrantsPlainArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetLicenseGrantsPlainArgs $; + + public Builder() { + $ = new GetLicenseGrantsPlainArgs(); + } + + public Builder(GetLicenseGrantsPlainArgs defaults) { + $ = new GetLicenseGrantsPlainArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param filters Custom filter block as described below. + * + * @return builder + * + */ + public Builder filters(@Nullable List filters) { + $.filters = filters; + return this; + } + + /** + * @param filters Custom filter block as described below. + * + * @return builder + * + */ + public Builder filters(GetLicenseGrantsFilter... filters) { + return filters(List.of(filters)); + } + + public GetLicenseGrantsPlainArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/licensemanager/inputs/GetReceivedLicenseArgs.java b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/inputs/GetReceivedLicenseArgs.java new file mode 100644 index 00000000000..f6b04dd3a17 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/inputs/GetReceivedLicenseArgs.java @@ -0,0 +1,82 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.licensemanager.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class GetReceivedLicenseArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetReceivedLicenseArgs Empty = new GetReceivedLicenseArgs(); + + /** + * The ARN of the received license you want data for. + * + */ + @Import(name="licenseArn", required=true) + private Output licenseArn; + + /** + * @return The ARN of the received license you want data for. + * + */ + public Output licenseArn() { + return this.licenseArn; + } + + private GetReceivedLicenseArgs() {} + + private GetReceivedLicenseArgs(GetReceivedLicenseArgs $) { + this.licenseArn = $.licenseArn; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetReceivedLicenseArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetReceivedLicenseArgs $; + + public Builder() { + $ = new GetReceivedLicenseArgs(); + } + + public Builder(GetReceivedLicenseArgs defaults) { + $ = new GetReceivedLicenseArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param licenseArn The ARN of the received license you want data for. + * + * @return builder + * + */ + public Builder licenseArn(Output licenseArn) { + $.licenseArn = licenseArn; + return this; + } + + /** + * @param licenseArn The ARN of the received license you want data for. + * + * @return builder + * + */ + public Builder licenseArn(String licenseArn) { + return licenseArn(Output.of(licenseArn)); + } + + public GetReceivedLicenseArgs build() { + $.licenseArn = Objects.requireNonNull($.licenseArn, "expected parameter 'licenseArn' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/licensemanager/inputs/GetReceivedLicensePlainArgs.java b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/inputs/GetReceivedLicensePlainArgs.java new file mode 100644 index 00000000000..c11bef17c35 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/inputs/GetReceivedLicensePlainArgs.java @@ -0,0 +1,71 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.licensemanager.inputs; + +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class GetReceivedLicensePlainArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetReceivedLicensePlainArgs Empty = new GetReceivedLicensePlainArgs(); + + /** + * The ARN of the received license you want data for. + * + */ + @Import(name="licenseArn", required=true) + private String licenseArn; + + /** + * @return The ARN of the received license you want data for. + * + */ + public String licenseArn() { + return this.licenseArn; + } + + private GetReceivedLicensePlainArgs() {} + + private GetReceivedLicensePlainArgs(GetReceivedLicensePlainArgs $) { + this.licenseArn = $.licenseArn; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetReceivedLicensePlainArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetReceivedLicensePlainArgs $; + + public Builder() { + $ = new GetReceivedLicensePlainArgs(); + } + + public Builder(GetReceivedLicensePlainArgs defaults) { + $ = new GetReceivedLicensePlainArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param licenseArn The ARN of the received license you want data for. + * + * @return builder + * + */ + public Builder licenseArn(String licenseArn) { + $.licenseArn = licenseArn; + return this; + } + + public GetReceivedLicensePlainArgs build() { + $.licenseArn = Objects.requireNonNull($.licenseArn, "expected parameter 'licenseArn' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/licensemanager/inputs/GetReceivedLicensesArgs.java b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/inputs/GetReceivedLicensesArgs.java new file mode 100644 index 00000000000..061f8683ece --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/inputs/GetReceivedLicensesArgs.java @@ -0,0 +1,94 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.licensemanager.inputs; + +import com.pulumi.aws.licensemanager.inputs.GetReceivedLicensesFilterArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetReceivedLicensesArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetReceivedLicensesArgs Empty = new GetReceivedLicensesArgs(); + + /** + * Custom filter block as described below. + * + */ + @Import(name="filters") + private @Nullable Output> filters; + + /** + * @return Custom filter block as described below. + * + */ + public Optional>> filters() { + return Optional.ofNullable(this.filters); + } + + private GetReceivedLicensesArgs() {} + + private GetReceivedLicensesArgs(GetReceivedLicensesArgs $) { + this.filters = $.filters; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetReceivedLicensesArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetReceivedLicensesArgs $; + + public Builder() { + $ = new GetReceivedLicensesArgs(); + } + + public Builder(GetReceivedLicensesArgs defaults) { + $ = new GetReceivedLicensesArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param filters Custom filter block as described below. + * + * @return builder + * + */ + public Builder filters(@Nullable Output> filters) { + $.filters = filters; + return this; + } + + /** + * @param filters Custom filter block as described below. + * + * @return builder + * + */ + public Builder filters(List filters) { + return filters(Output.of(filters)); + } + + /** + * @param filters Custom filter block as described below. + * + * @return builder + * + */ + public Builder filters(GetReceivedLicensesFilterArgs... filters) { + return filters(List.of(filters)); + } + + public GetReceivedLicensesArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/licensemanager/inputs/GetReceivedLicensesFilter.java b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/inputs/GetReceivedLicensesFilter.java new file mode 100644 index 00000000000..6da38249d64 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/inputs/GetReceivedLicensesFilter.java @@ -0,0 +1,116 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.licensemanager.inputs; + +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; + + +public final class GetReceivedLicensesFilter extends com.pulumi.resources.InvokeArgs { + + public static final GetReceivedLicensesFilter Empty = new GetReceivedLicensesFilter(); + + /** + * Name of the field to filter by, as defined by + * [the underlying AWS API](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_ListReceivedLicenses.html#API_ListReceivedLicenses_RequestSyntax). + * For example, if filtering using `ProductSKU`, use: + * + */ + @Import(name="name", required=true) + private String name; + + /** + * @return Name of the field to filter by, as defined by + * [the underlying AWS API](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_ListReceivedLicenses.html#API_ListReceivedLicenses_RequestSyntax). + * For example, if filtering using `ProductSKU`, use: + * + */ + public String name() { + return this.name; + } + + /** + * Set of values that are accepted for the given field. + * + */ + @Import(name="values", required=true) + private List values; + + /** + * @return Set of values that are accepted for the given field. + * + */ + public List values() { + return this.values; + } + + private GetReceivedLicensesFilter() {} + + private GetReceivedLicensesFilter(GetReceivedLicensesFilter $) { + this.name = $.name; + this.values = $.values; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetReceivedLicensesFilter defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetReceivedLicensesFilter $; + + public Builder() { + $ = new GetReceivedLicensesFilter(); + } + + public Builder(GetReceivedLicensesFilter defaults) { + $ = new GetReceivedLicensesFilter(Objects.requireNonNull(defaults)); + } + + /** + * @param name Name of the field to filter by, as defined by + * [the underlying AWS API](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_ListReceivedLicenses.html#API_ListReceivedLicenses_RequestSyntax). + * For example, if filtering using `ProductSKU`, use: + * + * @return builder + * + */ + public Builder name(String name) { + $.name = name; + return this; + } + + /** + * @param values Set of values that are accepted for the given field. + * + * @return builder + * + */ + public Builder values(List values) { + $.values = values; + return this; + } + + /** + * @param values Set of values that are accepted for the given field. + * + * @return builder + * + */ + public Builder values(String... values) { + return values(List.of(values)); + } + + public GetReceivedLicensesFilter build() { + $.name = Objects.requireNonNull($.name, "expected parameter 'name' to be non-null"); + $.values = Objects.requireNonNull($.values, "expected parameter 'values' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/licensemanager/inputs/GetReceivedLicensesFilterArgs.java b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/inputs/GetReceivedLicensesFilterArgs.java new file mode 100644 index 00000000000..28adca35bee --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/inputs/GetReceivedLicensesFilterArgs.java @@ -0,0 +1,139 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.licensemanager.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; + + +public final class GetReceivedLicensesFilterArgs extends com.pulumi.resources.ResourceArgs { + + public static final GetReceivedLicensesFilterArgs Empty = new GetReceivedLicensesFilterArgs(); + + /** + * Name of the field to filter by, as defined by + * [the underlying AWS API](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_ListReceivedLicenses.html#API_ListReceivedLicenses_RequestSyntax). + * For example, if filtering using `ProductSKU`, use: + * + */ + @Import(name="name", required=true) + private Output name; + + /** + * @return Name of the field to filter by, as defined by + * [the underlying AWS API](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_ListReceivedLicenses.html#API_ListReceivedLicenses_RequestSyntax). + * For example, if filtering using `ProductSKU`, use: + * + */ + public Output name() { + return this.name; + } + + /** + * Set of values that are accepted for the given field. + * + */ + @Import(name="values", required=true) + private Output> values; + + /** + * @return Set of values that are accepted for the given field. + * + */ + public Output> values() { + return this.values; + } + + private GetReceivedLicensesFilterArgs() {} + + private GetReceivedLicensesFilterArgs(GetReceivedLicensesFilterArgs $) { + this.name = $.name; + this.values = $.values; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetReceivedLicensesFilterArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetReceivedLicensesFilterArgs $; + + public Builder() { + $ = new GetReceivedLicensesFilterArgs(); + } + + public Builder(GetReceivedLicensesFilterArgs defaults) { + $ = new GetReceivedLicensesFilterArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param name Name of the field to filter by, as defined by + * [the underlying AWS API](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_ListReceivedLicenses.html#API_ListReceivedLicenses_RequestSyntax). + * For example, if filtering using `ProductSKU`, use: + * + * @return builder + * + */ + public Builder name(Output name) { + $.name = name; + return this; + } + + /** + * @param name Name of the field to filter by, as defined by + * [the underlying AWS API](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_ListReceivedLicenses.html#API_ListReceivedLicenses_RequestSyntax). + * For example, if filtering using `ProductSKU`, use: + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param values Set of values that are accepted for the given field. + * + * @return builder + * + */ + public Builder values(Output> values) { + $.values = values; + return this; + } + + /** + * @param values Set of values that are accepted for the given field. + * + * @return builder + * + */ + public Builder values(List values) { + return values(Output.of(values)); + } + + /** + * @param values Set of values that are accepted for the given field. + * + * @return builder + * + */ + public Builder values(String... values) { + return values(List.of(values)); + } + + public GetReceivedLicensesFilterArgs build() { + $.name = Objects.requireNonNull($.name, "expected parameter 'name' to be non-null"); + $.values = Objects.requireNonNull($.values, "expected parameter 'values' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/licensemanager/inputs/GetReceivedLicensesPlainArgs.java b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/inputs/GetReceivedLicensesPlainArgs.java new file mode 100644 index 00000000000..37a19c7f16f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/inputs/GetReceivedLicensesPlainArgs.java @@ -0,0 +1,83 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.licensemanager.inputs; + +import com.pulumi.aws.licensemanager.inputs.GetReceivedLicensesFilter; +import com.pulumi.core.annotations.Import; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetReceivedLicensesPlainArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetReceivedLicensesPlainArgs Empty = new GetReceivedLicensesPlainArgs(); + + /** + * Custom filter block as described below. + * + */ + @Import(name="filters") + private @Nullable List filters; + + /** + * @return Custom filter block as described below. + * + */ + public Optional> filters() { + return Optional.ofNullable(this.filters); + } + + private GetReceivedLicensesPlainArgs() {} + + private GetReceivedLicensesPlainArgs(GetReceivedLicensesPlainArgs $) { + this.filters = $.filters; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetReceivedLicensesPlainArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetReceivedLicensesPlainArgs $; + + public Builder() { + $ = new GetReceivedLicensesPlainArgs(); + } + + public Builder(GetReceivedLicensesPlainArgs defaults) { + $ = new GetReceivedLicensesPlainArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param filters Custom filter block as described below. + * + * @return builder + * + */ + public Builder filters(@Nullable List filters) { + $.filters = filters; + return this; + } + + /** + * @param filters Custom filter block as described below. + * + * @return builder + * + */ + public Builder filters(GetReceivedLicensesFilter... filters) { + return filters(List.of(filters)); + } + + public GetReceivedLicensesPlainArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/licensemanager/inputs/LicenseGrantAccepterState.java b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/inputs/LicenseGrantAccepterState.java new file mode 100644 index 00000000000..b0b202e20da --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/inputs/LicenseGrantAccepterState.java @@ -0,0 +1,390 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.licensemanager.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class LicenseGrantAccepterState extends com.pulumi.resources.ResourceArgs { + + public static final LicenseGrantAccepterState Empty = new LicenseGrantAccepterState(); + + /** + * A list of the allowed operations for the grant. + * + */ + @Import(name="allowedOperations") + private @Nullable Output> allowedOperations; + + /** + * @return A list of the allowed operations for the grant. + * + */ + public Optional>> allowedOperations() { + return Optional.ofNullable(this.allowedOperations); + } + + /** + * The ARN of the grant to accept. + * + */ + @Import(name="grantArn") + private @Nullable Output grantArn; + + /** + * @return The ARN of the grant to accept. + * + */ + public Optional> grantArn() { + return Optional.ofNullable(this.grantArn); + } + + /** + * The home region for the license. + * + */ + @Import(name="homeRegion") + private @Nullable Output homeRegion; + + /** + * @return The home region for the license. + * + */ + public Optional> homeRegion() { + return Optional.ofNullable(this.homeRegion); + } + + /** + * The ARN of the license for the grant. + * + */ + @Import(name="licenseArn") + private @Nullable Output licenseArn; + + /** + * @return The ARN of the license for the grant. + * + */ + public Optional> licenseArn() { + return Optional.ofNullable(this.licenseArn); + } + + /** + * The Name of the grant. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return The Name of the grant. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * The parent ARN. + * + */ + @Import(name="parentArn") + private @Nullable Output parentArn; + + /** + * @return The parent ARN. + * + */ + public Optional> parentArn() { + return Optional.ofNullable(this.parentArn); + } + + /** + * The target account for the grant. + * + */ + @Import(name="principal") + private @Nullable Output principal; + + /** + * @return The target account for the grant. + * + */ + public Optional> principal() { + return Optional.ofNullable(this.principal); + } + + /** + * The grant status. + * + */ + @Import(name="status") + private @Nullable Output status; + + /** + * @return The grant status. + * + */ + public Optional> status() { + return Optional.ofNullable(this.status); + } + + /** + * The grant version. + * + */ + @Import(name="version") + private @Nullable Output version; + + /** + * @return The grant version. + * + */ + public Optional> version() { + return Optional.ofNullable(this.version); + } + + private LicenseGrantAccepterState() {} + + private LicenseGrantAccepterState(LicenseGrantAccepterState $) { + this.allowedOperations = $.allowedOperations; + this.grantArn = $.grantArn; + this.homeRegion = $.homeRegion; + this.licenseArn = $.licenseArn; + this.name = $.name; + this.parentArn = $.parentArn; + this.principal = $.principal; + this.status = $.status; + this.version = $.version; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(LicenseGrantAccepterState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private LicenseGrantAccepterState $; + + public Builder() { + $ = new LicenseGrantAccepterState(); + } + + public Builder(LicenseGrantAccepterState defaults) { + $ = new LicenseGrantAccepterState(Objects.requireNonNull(defaults)); + } + + /** + * @param allowedOperations A list of the allowed operations for the grant. + * + * @return builder + * + */ + public Builder allowedOperations(@Nullable Output> allowedOperations) { + $.allowedOperations = allowedOperations; + return this; + } + + /** + * @param allowedOperations A list of the allowed operations for the grant. + * + * @return builder + * + */ + public Builder allowedOperations(List allowedOperations) { + return allowedOperations(Output.of(allowedOperations)); + } + + /** + * @param allowedOperations A list of the allowed operations for the grant. + * + * @return builder + * + */ + public Builder allowedOperations(String... allowedOperations) { + return allowedOperations(List.of(allowedOperations)); + } + + /** + * @param grantArn The ARN of the grant to accept. + * + * @return builder + * + */ + public Builder grantArn(@Nullable Output grantArn) { + $.grantArn = grantArn; + return this; + } + + /** + * @param grantArn The ARN of the grant to accept. + * + * @return builder + * + */ + public Builder grantArn(String grantArn) { + return grantArn(Output.of(grantArn)); + } + + /** + * @param homeRegion The home region for the license. + * + * @return builder + * + */ + public Builder homeRegion(@Nullable Output homeRegion) { + $.homeRegion = homeRegion; + return this; + } + + /** + * @param homeRegion The home region for the license. + * + * @return builder + * + */ + public Builder homeRegion(String homeRegion) { + return homeRegion(Output.of(homeRegion)); + } + + /** + * @param licenseArn The ARN of the license for the grant. + * + * @return builder + * + */ + public Builder licenseArn(@Nullable Output licenseArn) { + $.licenseArn = licenseArn; + return this; + } + + /** + * @param licenseArn The ARN of the license for the grant. + * + * @return builder + * + */ + public Builder licenseArn(String licenseArn) { + return licenseArn(Output.of(licenseArn)); + } + + /** + * @param name The Name of the grant. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name The Name of the grant. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param parentArn The parent ARN. + * + * @return builder + * + */ + public Builder parentArn(@Nullable Output parentArn) { + $.parentArn = parentArn; + return this; + } + + /** + * @param parentArn The parent ARN. + * + * @return builder + * + */ + public Builder parentArn(String parentArn) { + return parentArn(Output.of(parentArn)); + } + + /** + * @param principal The target account for the grant. + * + * @return builder + * + */ + public Builder principal(@Nullable Output principal) { + $.principal = principal; + return this; + } + + /** + * @param principal The target account for the grant. + * + * @return builder + * + */ + public Builder principal(String principal) { + return principal(Output.of(principal)); + } + + /** + * @param status The grant status. + * + * @return builder + * + */ + public Builder status(@Nullable Output status) { + $.status = status; + return this; + } + + /** + * @param status The grant status. + * + * @return builder + * + */ + public Builder status(String status) { + return status(Output.of(status)); + } + + /** + * @param version The grant version. + * + * @return builder + * + */ + public Builder version(@Nullable Output version) { + $.version = version; + return this; + } + + /** + * @param version The grant version. + * + * @return builder + * + */ + public Builder version(String version) { + return version(Output.of(version)); + } + + public LicenseGrantAccepterState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/licensemanager/inputs/LicenseGrantState.java b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/inputs/LicenseGrantState.java new file mode 100644 index 00000000000..b33542a7984 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/inputs/LicenseGrantState.java @@ -0,0 +1,390 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.licensemanager.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class LicenseGrantState extends com.pulumi.resources.ResourceArgs { + + public static final LicenseGrantState Empty = new LicenseGrantState(); + + /** + * A list of the allowed operations for the grant. This is a subset of the allowed operations on the license. + * + */ + @Import(name="allowedOperations") + private @Nullable Output> allowedOperations; + + /** + * @return A list of the allowed operations for the grant. This is a subset of the allowed operations on the license. + * + */ + public Optional>> allowedOperations() { + return Optional.ofNullable(this.allowedOperations); + } + + /** + * The grant ARN. + * + */ + @Import(name="arn") + private @Nullable Output arn; + + /** + * @return The grant ARN. + * + */ + public Optional> arn() { + return Optional.ofNullable(this.arn); + } + + /** + * The home region for the license. + * + */ + @Import(name="homeRegion") + private @Nullable Output homeRegion; + + /** + * @return The home region for the license. + * + */ + public Optional> homeRegion() { + return Optional.ofNullable(this.homeRegion); + } + + /** + * The ARN of the license to grant. + * + */ + @Import(name="licenseArn") + private @Nullable Output licenseArn; + + /** + * @return The ARN of the license to grant. + * + */ + public Optional> licenseArn() { + return Optional.ofNullable(this.licenseArn); + } + + /** + * The Name of the grant. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return The Name of the grant. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * The parent ARN. + * + */ + @Import(name="parentArn") + private @Nullable Output parentArn; + + /** + * @return The parent ARN. + * + */ + public Optional> parentArn() { + return Optional.ofNullable(this.parentArn); + } + + /** + * The target account for the grant in the form of the ARN for an account principal of the root user. + * + */ + @Import(name="principal") + private @Nullable Output principal; + + /** + * @return The target account for the grant in the form of the ARN for an account principal of the root user. + * + */ + public Optional> principal() { + return Optional.ofNullable(this.principal); + } + + /** + * The grant status. + * + */ + @Import(name="status") + private @Nullable Output status; + + /** + * @return The grant status. + * + */ + public Optional> status() { + return Optional.ofNullable(this.status); + } + + /** + * The grant version. + * + */ + @Import(name="version") + private @Nullable Output version; + + /** + * @return The grant version. + * + */ + public Optional> version() { + return Optional.ofNullable(this.version); + } + + private LicenseGrantState() {} + + private LicenseGrantState(LicenseGrantState $) { + this.allowedOperations = $.allowedOperations; + this.arn = $.arn; + this.homeRegion = $.homeRegion; + this.licenseArn = $.licenseArn; + this.name = $.name; + this.parentArn = $.parentArn; + this.principal = $.principal; + this.status = $.status; + this.version = $.version; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(LicenseGrantState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private LicenseGrantState $; + + public Builder() { + $ = new LicenseGrantState(); + } + + public Builder(LicenseGrantState defaults) { + $ = new LicenseGrantState(Objects.requireNonNull(defaults)); + } + + /** + * @param allowedOperations A list of the allowed operations for the grant. This is a subset of the allowed operations on the license. + * + * @return builder + * + */ + public Builder allowedOperations(@Nullable Output> allowedOperations) { + $.allowedOperations = allowedOperations; + return this; + } + + /** + * @param allowedOperations A list of the allowed operations for the grant. This is a subset of the allowed operations on the license. + * + * @return builder + * + */ + public Builder allowedOperations(List allowedOperations) { + return allowedOperations(Output.of(allowedOperations)); + } + + /** + * @param allowedOperations A list of the allowed operations for the grant. This is a subset of the allowed operations on the license. + * + * @return builder + * + */ + public Builder allowedOperations(String... allowedOperations) { + return allowedOperations(List.of(allowedOperations)); + } + + /** + * @param arn The grant ARN. + * + * @return builder + * + */ + public Builder arn(@Nullable Output arn) { + $.arn = arn; + return this; + } + + /** + * @param arn The grant ARN. + * + * @return builder + * + */ + public Builder arn(String arn) { + return arn(Output.of(arn)); + } + + /** + * @param homeRegion The home region for the license. + * + * @return builder + * + */ + public Builder homeRegion(@Nullable Output homeRegion) { + $.homeRegion = homeRegion; + return this; + } + + /** + * @param homeRegion The home region for the license. + * + * @return builder + * + */ + public Builder homeRegion(String homeRegion) { + return homeRegion(Output.of(homeRegion)); + } + + /** + * @param licenseArn The ARN of the license to grant. + * + * @return builder + * + */ + public Builder licenseArn(@Nullable Output licenseArn) { + $.licenseArn = licenseArn; + return this; + } + + /** + * @param licenseArn The ARN of the license to grant. + * + * @return builder + * + */ + public Builder licenseArn(String licenseArn) { + return licenseArn(Output.of(licenseArn)); + } + + /** + * @param name The Name of the grant. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name The Name of the grant. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param parentArn The parent ARN. + * + * @return builder + * + */ + public Builder parentArn(@Nullable Output parentArn) { + $.parentArn = parentArn; + return this; + } + + /** + * @param parentArn The parent ARN. + * + * @return builder + * + */ + public Builder parentArn(String parentArn) { + return parentArn(Output.of(parentArn)); + } + + /** + * @param principal The target account for the grant in the form of the ARN for an account principal of the root user. + * + * @return builder + * + */ + public Builder principal(@Nullable Output principal) { + $.principal = principal; + return this; + } + + /** + * @param principal The target account for the grant in the form of the ARN for an account principal of the root user. + * + * @return builder + * + */ + public Builder principal(String principal) { + return principal(Output.of(principal)); + } + + /** + * @param status The grant status. + * + * @return builder + * + */ + public Builder status(@Nullable Output status) { + $.status = status; + return this; + } + + /** + * @param status The grant status. + * + * @return builder + * + */ + public Builder status(String status) { + return status(Output.of(status)); + } + + /** + * @param version The grant version. + * + * @return builder + * + */ + public Builder version(@Nullable Output version) { + $.version = version; + return this; + } + + /** + * @param version The grant version. + * + * @return builder + * + */ + public Builder version(String version) { + return version(Output.of(version)); + } + + public LicenseGrantState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/licensemanager/outputs/GetLicenseGrantsFilter.java b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/outputs/GetLicenseGrantsFilter.java new file mode 100644 index 00000000000..9ed5ff37d02 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/outputs/GetLicenseGrantsFilter.java @@ -0,0 +1,82 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.licensemanager.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetLicenseGrantsFilter { + /** + * @return Name of the field to filter by, as defined by + * [the underlying AWS API](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_ListReceivedGrants.html#API_ListReceivedGrants_RequestSyntax). + * For example, if filtering using `ProductSKU`, use: + * + */ + private String name; + /** + * @return Set of values that are accepted for the given field. + * + */ + private List values; + + private GetLicenseGrantsFilter() {} + /** + * @return Name of the field to filter by, as defined by + * [the underlying AWS API](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_ListReceivedGrants.html#API_ListReceivedGrants_RequestSyntax). + * For example, if filtering using `ProductSKU`, use: + * + */ + public String name() { + return this.name; + } + /** + * @return Set of values that are accepted for the given field. + * + */ + public List values() { + return this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetLicenseGrantsFilter defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String name; + private List values; + public Builder() {} + public Builder(GetLicenseGrantsFilter defaults) { + Objects.requireNonNull(defaults); + this.name = defaults.name; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder name(String name) { + this.name = Objects.requireNonNull(name); + return this; + } + @CustomType.Setter + public Builder values(List values) { + this.values = Objects.requireNonNull(values); + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public GetLicenseGrantsFilter build() { + final var o = new GetLicenseGrantsFilter(); + o.name = name; + o.values = values; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/licensemanager/outputs/GetLicenseGrantsResult.java b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/outputs/GetLicenseGrantsResult.java new file mode 100644 index 00000000000..a147e7e3aa9 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/outputs/GetLicenseGrantsResult.java @@ -0,0 +1,95 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.licensemanager.outputs; + +import com.pulumi.aws.licensemanager.outputs.GetLicenseGrantsFilter; +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import javax.annotation.Nullable; + +@CustomType +public final class GetLicenseGrantsResult { + /** + * @return List of all the license grant ARNs found. + * + */ + private List arns; + private @Nullable List filters; + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + private String id; + + private GetLicenseGrantsResult() {} + /** + * @return List of all the license grant ARNs found. + * + */ + public List arns() { + return this.arns; + } + public List filters() { + return this.filters == null ? List.of() : this.filters; + } + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + public String id() { + return this.id; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetLicenseGrantsResult defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List arns; + private @Nullable List filters; + private String id; + public Builder() {} + public Builder(GetLicenseGrantsResult defaults) { + Objects.requireNonNull(defaults); + this.arns = defaults.arns; + this.filters = defaults.filters; + this.id = defaults.id; + } + + @CustomType.Setter + public Builder arns(List arns) { + this.arns = Objects.requireNonNull(arns); + return this; + } + public Builder arns(String... arns) { + return arns(List.of(arns)); + } + @CustomType.Setter + public Builder filters(@Nullable List filters) { + this.filters = filters; + return this; + } + public Builder filters(GetLicenseGrantsFilter... filters) { + return filters(List.of(filters)); + } + @CustomType.Setter + public Builder id(String id) { + this.id = Objects.requireNonNull(id); + return this; + } + public GetLicenseGrantsResult build() { + final var o = new GetLicenseGrantsResult(); + o.arns = arns; + o.filters = filters; + o.id = id; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/licensemanager/outputs/GetReceivedLicenseConsumptionConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/outputs/GetReceivedLicenseConsumptionConfiguration.java new file mode 100644 index 00000000000..45da1bcd582 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/outputs/GetReceivedLicenseConsumptionConfiguration.java @@ -0,0 +1,95 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.licensemanager.outputs; + +import com.pulumi.aws.licensemanager.outputs.GetReceivedLicenseConsumptionConfigurationBorrowConfiguration; +import com.pulumi.aws.licensemanager.outputs.GetReceivedLicenseConsumptionConfigurationProvisionalConfiguration; +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetReceivedLicenseConsumptionConfiguration { + /** + * @return Details about a borrow configuration. Detailed below + * + */ + private List borrowConfigurations; + /** + * @return Details about a provisional configuration. Detailed below + * + */ + private List provisionalConfigurations; + private String renewType; + + private GetReceivedLicenseConsumptionConfiguration() {} + /** + * @return Details about a borrow configuration. Detailed below + * + */ + public List borrowConfigurations() { + return this.borrowConfigurations; + } + /** + * @return Details about a provisional configuration. Detailed below + * + */ + public List provisionalConfigurations() { + return this.provisionalConfigurations; + } + public String renewType() { + return this.renewType; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetReceivedLicenseConsumptionConfiguration defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List borrowConfigurations; + private List provisionalConfigurations; + private String renewType; + public Builder() {} + public Builder(GetReceivedLicenseConsumptionConfiguration defaults) { + Objects.requireNonNull(defaults); + this.borrowConfigurations = defaults.borrowConfigurations; + this.provisionalConfigurations = defaults.provisionalConfigurations; + this.renewType = defaults.renewType; + } + + @CustomType.Setter + public Builder borrowConfigurations(List borrowConfigurations) { + this.borrowConfigurations = Objects.requireNonNull(borrowConfigurations); + return this; + } + public Builder borrowConfigurations(GetReceivedLicenseConsumptionConfigurationBorrowConfiguration... borrowConfigurations) { + return borrowConfigurations(List.of(borrowConfigurations)); + } + @CustomType.Setter + public Builder provisionalConfigurations(List provisionalConfigurations) { + this.provisionalConfigurations = Objects.requireNonNull(provisionalConfigurations); + return this; + } + public Builder provisionalConfigurations(GetReceivedLicenseConsumptionConfigurationProvisionalConfiguration... provisionalConfigurations) { + return provisionalConfigurations(List.of(provisionalConfigurations)); + } + @CustomType.Setter + public Builder renewType(String renewType) { + this.renewType = Objects.requireNonNull(renewType); + return this; + } + public GetReceivedLicenseConsumptionConfiguration build() { + final var o = new GetReceivedLicenseConsumptionConfiguration(); + o.borrowConfigurations = borrowConfigurations; + o.provisionalConfigurations = provisionalConfigurations; + o.renewType = renewType; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/licensemanager/outputs/GetReceivedLicenseConsumptionConfigurationBorrowConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/outputs/GetReceivedLicenseConsumptionConfigurationBorrowConfiguration.java new file mode 100644 index 00000000000..826fbdbbca8 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/outputs/GetReceivedLicenseConsumptionConfigurationBorrowConfiguration.java @@ -0,0 +1,75 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.licensemanager.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.lang.Integer; +import java.util.Objects; + +@CustomType +public final class GetReceivedLicenseConsumptionConfigurationBorrowConfiguration { + /** + * @return Indicates whether early check-ins are allowed. + * + */ + private Boolean allowEarlyCheckIn; + /** + * @return Maximum time for the provisional configuration, in minutes. + * + */ + private Integer maxTimeToLiveInMinutes; + + private GetReceivedLicenseConsumptionConfigurationBorrowConfiguration() {} + /** + * @return Indicates whether early check-ins are allowed. + * + */ + public Boolean allowEarlyCheckIn() { + return this.allowEarlyCheckIn; + } + /** + * @return Maximum time for the provisional configuration, in minutes. + * + */ + public Integer maxTimeToLiveInMinutes() { + return this.maxTimeToLiveInMinutes; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetReceivedLicenseConsumptionConfigurationBorrowConfiguration defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Boolean allowEarlyCheckIn; + private Integer maxTimeToLiveInMinutes; + public Builder() {} + public Builder(GetReceivedLicenseConsumptionConfigurationBorrowConfiguration defaults) { + Objects.requireNonNull(defaults); + this.allowEarlyCheckIn = defaults.allowEarlyCheckIn; + this.maxTimeToLiveInMinutes = defaults.maxTimeToLiveInMinutes; + } + + @CustomType.Setter + public Builder allowEarlyCheckIn(Boolean allowEarlyCheckIn) { + this.allowEarlyCheckIn = Objects.requireNonNull(allowEarlyCheckIn); + return this; + } + @CustomType.Setter + public Builder maxTimeToLiveInMinutes(Integer maxTimeToLiveInMinutes) { + this.maxTimeToLiveInMinutes = Objects.requireNonNull(maxTimeToLiveInMinutes); + return this; + } + public GetReceivedLicenseConsumptionConfigurationBorrowConfiguration build() { + final var o = new GetReceivedLicenseConsumptionConfigurationBorrowConfiguration(); + o.allowEarlyCheckIn = allowEarlyCheckIn; + o.maxTimeToLiveInMinutes = maxTimeToLiveInMinutes; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/licensemanager/outputs/GetReceivedLicenseConsumptionConfigurationProvisionalConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/outputs/GetReceivedLicenseConsumptionConfigurationProvisionalConfiguration.java new file mode 100644 index 00000000000..cd6c24d3f77 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/outputs/GetReceivedLicenseConsumptionConfigurationProvisionalConfiguration.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.licensemanager.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.util.Objects; + +@CustomType +public final class GetReceivedLicenseConsumptionConfigurationProvisionalConfiguration { + /** + * @return Maximum time for the provisional configuration, in minutes. + * + */ + private Integer maxTimeToLiveInMinutes; + + private GetReceivedLicenseConsumptionConfigurationProvisionalConfiguration() {} + /** + * @return Maximum time for the provisional configuration, in minutes. + * + */ + public Integer maxTimeToLiveInMinutes() { + return this.maxTimeToLiveInMinutes; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetReceivedLicenseConsumptionConfigurationProvisionalConfiguration defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Integer maxTimeToLiveInMinutes; + public Builder() {} + public Builder(GetReceivedLicenseConsumptionConfigurationProvisionalConfiguration defaults) { + Objects.requireNonNull(defaults); + this.maxTimeToLiveInMinutes = defaults.maxTimeToLiveInMinutes; + } + + @CustomType.Setter + public Builder maxTimeToLiveInMinutes(Integer maxTimeToLiveInMinutes) { + this.maxTimeToLiveInMinutes = Objects.requireNonNull(maxTimeToLiveInMinutes); + return this; + } + public GetReceivedLicenseConsumptionConfigurationProvisionalConfiguration build() { + final var o = new GetReceivedLicenseConsumptionConfigurationProvisionalConfiguration(); + o.maxTimeToLiveInMinutes = maxTimeToLiveInMinutes; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/licensemanager/outputs/GetReceivedLicenseEntitlement.java b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/outputs/GetReceivedLicenseEntitlement.java new file mode 100644 index 00000000000..57bcb78ef6e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/outputs/GetReceivedLicenseEntitlement.java @@ -0,0 +1,136 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.licensemanager.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetReceivedLicenseEntitlement { + /** + * @return Indicates whether check-ins are allowed. + * + */ + private Boolean allowCheckIn; + /** + * @return Maximum entitlement count. Use if the unit is not None. + * + */ + private Integer maxCount; + /** + * @return The key name. + * + */ + private String name; + /** + * @return Entitlement unit. + * + */ + private String unit; + /** + * @return The value. + * + */ + private String value; + + private GetReceivedLicenseEntitlement() {} + /** + * @return Indicates whether check-ins are allowed. + * + */ + public Boolean allowCheckIn() { + return this.allowCheckIn; + } + /** + * @return Maximum entitlement count. Use if the unit is not None. + * + */ + public Integer maxCount() { + return this.maxCount; + } + /** + * @return The key name. + * + */ + public String name() { + return this.name; + } + /** + * @return Entitlement unit. + * + */ + public String unit() { + return this.unit; + } + /** + * @return The value. + * + */ + public String value() { + return this.value; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetReceivedLicenseEntitlement defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Boolean allowCheckIn; + private Integer maxCount; + private String name; + private String unit; + private String value; + public Builder() {} + public Builder(GetReceivedLicenseEntitlement defaults) { + Objects.requireNonNull(defaults); + this.allowCheckIn = defaults.allowCheckIn; + this.maxCount = defaults.maxCount; + this.name = defaults.name; + this.unit = defaults.unit; + this.value = defaults.value; + } + + @CustomType.Setter + public Builder allowCheckIn(Boolean allowCheckIn) { + this.allowCheckIn = Objects.requireNonNull(allowCheckIn); + return this; + } + @CustomType.Setter + public Builder maxCount(Integer maxCount) { + this.maxCount = Objects.requireNonNull(maxCount); + return this; + } + @CustomType.Setter + public Builder name(String name) { + this.name = Objects.requireNonNull(name); + return this; + } + @CustomType.Setter + public Builder unit(String unit) { + this.unit = Objects.requireNonNull(unit); + return this; + } + @CustomType.Setter + public Builder value(String value) { + this.value = Objects.requireNonNull(value); + return this; + } + public GetReceivedLicenseEntitlement build() { + final var o = new GetReceivedLicenseEntitlement(); + o.allowCheckIn = allowCheckIn; + o.maxCount = maxCount; + o.name = name; + o.unit = unit; + o.value = value; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/licensemanager/outputs/GetReceivedLicenseIssuer.java b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/outputs/GetReceivedLicenseIssuer.java new file mode 100644 index 00000000000..73bb54b7b84 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/outputs/GetReceivedLicenseIssuer.java @@ -0,0 +1,94 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.licensemanager.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetReceivedLicenseIssuer { + /** + * @return Issuer key fingerprint. + * + */ + private String keyFingerprint; + /** + * @return The key name. + * + */ + private String name; + /** + * @return Asymmetric KMS key from AWS Key Management Service. The KMS key must have a key usage of sign and verify, and support the RSASSA-PSS SHA-256 signing algorithm. + * + */ + private String signKey; + + private GetReceivedLicenseIssuer() {} + /** + * @return Issuer key fingerprint. + * + */ + public String keyFingerprint() { + return this.keyFingerprint; + } + /** + * @return The key name. + * + */ + public String name() { + return this.name; + } + /** + * @return Asymmetric KMS key from AWS Key Management Service. The KMS key must have a key usage of sign and verify, and support the RSASSA-PSS SHA-256 signing algorithm. + * + */ + public String signKey() { + return this.signKey; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetReceivedLicenseIssuer defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String keyFingerprint; + private String name; + private String signKey; + public Builder() {} + public Builder(GetReceivedLicenseIssuer defaults) { + Objects.requireNonNull(defaults); + this.keyFingerprint = defaults.keyFingerprint; + this.name = defaults.name; + this.signKey = defaults.signKey; + } + + @CustomType.Setter + public Builder keyFingerprint(String keyFingerprint) { + this.keyFingerprint = Objects.requireNonNull(keyFingerprint); + return this; + } + @CustomType.Setter + public Builder name(String name) { + this.name = Objects.requireNonNull(name); + return this; + } + @CustomType.Setter + public Builder signKey(String signKey) { + this.signKey = Objects.requireNonNull(signKey); + return this; + } + public GetReceivedLicenseIssuer build() { + final var o = new GetReceivedLicenseIssuer(); + o.keyFingerprint = keyFingerprint; + o.name = name; + o.signKey = signKey; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/licensemanager/outputs/GetReceivedLicenseLicenseMetadata.java b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/outputs/GetReceivedLicenseLicenseMetadata.java new file mode 100644 index 00000000000..ee4ebefd5b8 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/outputs/GetReceivedLicenseLicenseMetadata.java @@ -0,0 +1,74 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.licensemanager.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetReceivedLicenseLicenseMetadata { + /** + * @return The key name. + * + */ + private String name; + /** + * @return The value. + * + */ + private String value; + + private GetReceivedLicenseLicenseMetadata() {} + /** + * @return The key name. + * + */ + public String name() { + return this.name; + } + /** + * @return The value. + * + */ + public String value() { + return this.value; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetReceivedLicenseLicenseMetadata defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String name; + private String value; + public Builder() {} + public Builder(GetReceivedLicenseLicenseMetadata defaults) { + Objects.requireNonNull(defaults); + this.name = defaults.name; + this.value = defaults.value; + } + + @CustomType.Setter + public Builder name(String name) { + this.name = Objects.requireNonNull(name); + return this; + } + @CustomType.Setter + public Builder value(String value) { + this.value = Objects.requireNonNull(value); + return this; + } + public GetReceivedLicenseLicenseMetadata build() { + final var o = new GetReceivedLicenseLicenseMetadata(); + o.name = name; + o.value = value; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/licensemanager/outputs/GetReceivedLicenseReceivedMetadata.java b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/outputs/GetReceivedLicenseReceivedMetadata.java new file mode 100644 index 00000000000..196eee57f43 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/outputs/GetReceivedLicenseReceivedMetadata.java @@ -0,0 +1,98 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.licensemanager.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetReceivedLicenseReceivedMetadata { + /** + * @return A list of allowed operations. + * + */ + private List allowedOperations; + /** + * @return Received status. + * + */ + private String receivedStatus; + /** + * @return Received status reason. + * + */ + private String receivedStatusReason; + + private GetReceivedLicenseReceivedMetadata() {} + /** + * @return A list of allowed operations. + * + */ + public List allowedOperations() { + return this.allowedOperations; + } + /** + * @return Received status. + * + */ + public String receivedStatus() { + return this.receivedStatus; + } + /** + * @return Received status reason. + * + */ + public String receivedStatusReason() { + return this.receivedStatusReason; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetReceivedLicenseReceivedMetadata defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List allowedOperations; + private String receivedStatus; + private String receivedStatusReason; + public Builder() {} + public Builder(GetReceivedLicenseReceivedMetadata defaults) { + Objects.requireNonNull(defaults); + this.allowedOperations = defaults.allowedOperations; + this.receivedStatus = defaults.receivedStatus; + this.receivedStatusReason = defaults.receivedStatusReason; + } + + @CustomType.Setter + public Builder allowedOperations(List allowedOperations) { + this.allowedOperations = Objects.requireNonNull(allowedOperations); + return this; + } + public Builder allowedOperations(String... allowedOperations) { + return allowedOperations(List.of(allowedOperations)); + } + @CustomType.Setter + public Builder receivedStatus(String receivedStatus) { + this.receivedStatus = Objects.requireNonNull(receivedStatus); + return this; + } + @CustomType.Setter + public Builder receivedStatusReason(String receivedStatusReason) { + this.receivedStatusReason = Objects.requireNonNull(receivedStatusReason); + return this; + } + public GetReceivedLicenseReceivedMetadata build() { + final var o = new GetReceivedLicenseReceivedMetadata(); + o.allowedOperations = allowedOperations; + o.receivedStatus = receivedStatus; + o.receivedStatusReason = receivedStatusReason; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/licensemanager/outputs/GetReceivedLicenseResult.java b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/outputs/GetReceivedLicenseResult.java new file mode 100644 index 00000000000..3c40dbd7579 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/outputs/GetReceivedLicenseResult.java @@ -0,0 +1,373 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.licensemanager.outputs; + +import com.pulumi.aws.licensemanager.outputs.GetReceivedLicenseConsumptionConfiguration; +import com.pulumi.aws.licensemanager.outputs.GetReceivedLicenseEntitlement; +import com.pulumi.aws.licensemanager.outputs.GetReceivedLicenseIssuer; +import com.pulumi.aws.licensemanager.outputs.GetReceivedLicenseLicenseMetadata; +import com.pulumi.aws.licensemanager.outputs.GetReceivedLicenseReceivedMetadata; +import com.pulumi.aws.licensemanager.outputs.GetReceivedLicenseValidity; +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetReceivedLicenseResult { + /** + * @return Granted license beneficiary. This is in the form of the ARN of the root user of the account. + * + */ + private String beneficiary; + /** + * @return Configuration for consumption of the license. Detailed below + * + */ + private List consumptionConfigurations; + /** + * @return Creation time of the granted license in RFC 3339 format. + * + */ + private String createTime; + /** + * @return License entitlements. Detailed below + * + */ + private List entitlements; + /** + * @return Home Region of the granted license. + * + */ + private String homeRegion; + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + private String id; + /** + * @return Granted license issuer. Detailed below + * + */ + private List issuers; + /** + * @return Amazon Resource Name (ARN) of the license. + * + */ + private String licenseArn; + /** + * @return Granted license metadata. This is in the form of a set of all meta data. Detailed below + * + */ + private List licenseMetadatas; + /** + * @return License name. + * + */ + private String licenseName; + /** + * @return Product name. + * * ` product_sku ` - Product SKU. + * + */ + private String productName; + private String productSku; + /** + * @return Granted license received metadata. Detailed below + * + */ + private List receivedMetadatas; + /** + * @return Granted license status. + * + */ + private String status; + /** + * @return Date and time range during which the granted license is valid, in ISO8601-UTC format. Detailed below + * + */ + private List validities; + /** + * @return Version of the granted license. + * + */ + private String version; + + private GetReceivedLicenseResult() {} + /** + * @return Granted license beneficiary. This is in the form of the ARN of the root user of the account. + * + */ + public String beneficiary() { + return this.beneficiary; + } + /** + * @return Configuration for consumption of the license. Detailed below + * + */ + public List consumptionConfigurations() { + return this.consumptionConfigurations; + } + /** + * @return Creation time of the granted license in RFC 3339 format. + * + */ + public String createTime() { + return this.createTime; + } + /** + * @return License entitlements. Detailed below + * + */ + public List entitlements() { + return this.entitlements; + } + /** + * @return Home Region of the granted license. + * + */ + public String homeRegion() { + return this.homeRegion; + } + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + public String id() { + return this.id; + } + /** + * @return Granted license issuer. Detailed below + * + */ + public List issuers() { + return this.issuers; + } + /** + * @return Amazon Resource Name (ARN) of the license. + * + */ + public String licenseArn() { + return this.licenseArn; + } + /** + * @return Granted license metadata. This is in the form of a set of all meta data. Detailed below + * + */ + public List licenseMetadatas() { + return this.licenseMetadatas; + } + /** + * @return License name. + * + */ + public String licenseName() { + return this.licenseName; + } + /** + * @return Product name. + * * ` product_sku ` - Product SKU. + * + */ + public String productName() { + return this.productName; + } + public String productSku() { + return this.productSku; + } + /** + * @return Granted license received metadata. Detailed below + * + */ + public List receivedMetadatas() { + return this.receivedMetadatas; + } + /** + * @return Granted license status. + * + */ + public String status() { + return this.status; + } + /** + * @return Date and time range during which the granted license is valid, in ISO8601-UTC format. Detailed below + * + */ + public List validities() { + return this.validities; + } + /** + * @return Version of the granted license. + * + */ + public String version() { + return this.version; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetReceivedLicenseResult defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String beneficiary; + private List consumptionConfigurations; + private String createTime; + private List entitlements; + private String homeRegion; + private String id; + private List issuers; + private String licenseArn; + private List licenseMetadatas; + private String licenseName; + private String productName; + private String productSku; + private List receivedMetadatas; + private String status; + private List validities; + private String version; + public Builder() {} + public Builder(GetReceivedLicenseResult defaults) { + Objects.requireNonNull(defaults); + this.beneficiary = defaults.beneficiary; + this.consumptionConfigurations = defaults.consumptionConfigurations; + this.createTime = defaults.createTime; + this.entitlements = defaults.entitlements; + this.homeRegion = defaults.homeRegion; + this.id = defaults.id; + this.issuers = defaults.issuers; + this.licenseArn = defaults.licenseArn; + this.licenseMetadatas = defaults.licenseMetadatas; + this.licenseName = defaults.licenseName; + this.productName = defaults.productName; + this.productSku = defaults.productSku; + this.receivedMetadatas = defaults.receivedMetadatas; + this.status = defaults.status; + this.validities = defaults.validities; + this.version = defaults.version; + } + + @CustomType.Setter + public Builder beneficiary(String beneficiary) { + this.beneficiary = Objects.requireNonNull(beneficiary); + return this; + } + @CustomType.Setter + public Builder consumptionConfigurations(List consumptionConfigurations) { + this.consumptionConfigurations = Objects.requireNonNull(consumptionConfigurations); + return this; + } + public Builder consumptionConfigurations(GetReceivedLicenseConsumptionConfiguration... consumptionConfigurations) { + return consumptionConfigurations(List.of(consumptionConfigurations)); + } + @CustomType.Setter + public Builder createTime(String createTime) { + this.createTime = Objects.requireNonNull(createTime); + return this; + } + @CustomType.Setter + public Builder entitlements(List entitlements) { + this.entitlements = Objects.requireNonNull(entitlements); + return this; + } + public Builder entitlements(GetReceivedLicenseEntitlement... entitlements) { + return entitlements(List.of(entitlements)); + } + @CustomType.Setter + public Builder homeRegion(String homeRegion) { + this.homeRegion = Objects.requireNonNull(homeRegion); + return this; + } + @CustomType.Setter + public Builder id(String id) { + this.id = Objects.requireNonNull(id); + return this; + } + @CustomType.Setter + public Builder issuers(List issuers) { + this.issuers = Objects.requireNonNull(issuers); + return this; + } + public Builder issuers(GetReceivedLicenseIssuer... issuers) { + return issuers(List.of(issuers)); + } + @CustomType.Setter + public Builder licenseArn(String licenseArn) { + this.licenseArn = Objects.requireNonNull(licenseArn); + return this; + } + @CustomType.Setter + public Builder licenseMetadatas(List licenseMetadatas) { + this.licenseMetadatas = Objects.requireNonNull(licenseMetadatas); + return this; + } + public Builder licenseMetadatas(GetReceivedLicenseLicenseMetadata... licenseMetadatas) { + return licenseMetadatas(List.of(licenseMetadatas)); + } + @CustomType.Setter + public Builder licenseName(String licenseName) { + this.licenseName = Objects.requireNonNull(licenseName); + return this; + } + @CustomType.Setter + public Builder productName(String productName) { + this.productName = Objects.requireNonNull(productName); + return this; + } + @CustomType.Setter + public Builder productSku(String productSku) { + this.productSku = Objects.requireNonNull(productSku); + return this; + } + @CustomType.Setter + public Builder receivedMetadatas(List receivedMetadatas) { + this.receivedMetadatas = Objects.requireNonNull(receivedMetadatas); + return this; + } + public Builder receivedMetadatas(GetReceivedLicenseReceivedMetadata... receivedMetadatas) { + return receivedMetadatas(List.of(receivedMetadatas)); + } + @CustomType.Setter + public Builder status(String status) { + this.status = Objects.requireNonNull(status); + return this; + } + @CustomType.Setter + public Builder validities(List validities) { + this.validities = Objects.requireNonNull(validities); + return this; + } + public Builder validities(GetReceivedLicenseValidity... validities) { + return validities(List.of(validities)); + } + @CustomType.Setter + public Builder version(String version) { + this.version = Objects.requireNonNull(version); + return this; + } + public GetReceivedLicenseResult build() { + final var o = new GetReceivedLicenseResult(); + o.beneficiary = beneficiary; + o.consumptionConfigurations = consumptionConfigurations; + o.createTime = createTime; + o.entitlements = entitlements; + o.homeRegion = homeRegion; + o.id = id; + o.issuers = issuers; + o.licenseArn = licenseArn; + o.licenseMetadatas = licenseMetadatas; + o.licenseName = licenseName; + o.productName = productName; + o.productSku = productSku; + o.receivedMetadatas = receivedMetadatas; + o.status = status; + o.validities = validities; + o.version = version; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/licensemanager/outputs/GetReceivedLicenseValidity.java b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/outputs/GetReceivedLicenseValidity.java new file mode 100644 index 00000000000..418313bf69b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/outputs/GetReceivedLicenseValidity.java @@ -0,0 +1,74 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.licensemanager.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetReceivedLicenseValidity { + /** + * @return Start of the validity time range. + * + */ + private String begin; + /** + * @return End of the validity time range. + * + */ + private String end; + + private GetReceivedLicenseValidity() {} + /** + * @return Start of the validity time range. + * + */ + public String begin() { + return this.begin; + } + /** + * @return End of the validity time range. + * + */ + public String end() { + return this.end; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetReceivedLicenseValidity defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String begin; + private String end; + public Builder() {} + public Builder(GetReceivedLicenseValidity defaults) { + Objects.requireNonNull(defaults); + this.begin = defaults.begin; + this.end = defaults.end; + } + + @CustomType.Setter + public Builder begin(String begin) { + this.begin = Objects.requireNonNull(begin); + return this; + } + @CustomType.Setter + public Builder end(String end) { + this.end = Objects.requireNonNull(end); + return this; + } + public GetReceivedLicenseValidity build() { + final var o = new GetReceivedLicenseValidity(); + o.begin = begin; + o.end = end; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/licensemanager/outputs/GetReceivedLicensesFilter.java b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/outputs/GetReceivedLicensesFilter.java new file mode 100644 index 00000000000..ded89ae9337 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/outputs/GetReceivedLicensesFilter.java @@ -0,0 +1,82 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.licensemanager.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetReceivedLicensesFilter { + /** + * @return Name of the field to filter by, as defined by + * [the underlying AWS API](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_ListReceivedLicenses.html#API_ListReceivedLicenses_RequestSyntax). + * For example, if filtering using `ProductSKU`, use: + * + */ + private String name; + /** + * @return Set of values that are accepted for the given field. + * + */ + private List values; + + private GetReceivedLicensesFilter() {} + /** + * @return Name of the field to filter by, as defined by + * [the underlying AWS API](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_ListReceivedLicenses.html#API_ListReceivedLicenses_RequestSyntax). + * For example, if filtering using `ProductSKU`, use: + * + */ + public String name() { + return this.name; + } + /** + * @return Set of values that are accepted for the given field. + * + */ + public List values() { + return this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetReceivedLicensesFilter defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String name; + private List values; + public Builder() {} + public Builder(GetReceivedLicensesFilter defaults) { + Objects.requireNonNull(defaults); + this.name = defaults.name; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder name(String name) { + this.name = Objects.requireNonNull(name); + return this; + } + @CustomType.Setter + public Builder values(List values) { + this.values = Objects.requireNonNull(values); + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public GetReceivedLicensesFilter build() { + final var o = new GetReceivedLicensesFilter(); + o.name = name; + o.values = values; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/licensemanager/outputs/GetReceivedLicensesResult.java b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/outputs/GetReceivedLicensesResult.java new file mode 100644 index 00000000000..a691b5baf5c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/outputs/GetReceivedLicensesResult.java @@ -0,0 +1,95 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.licensemanager.outputs; + +import com.pulumi.aws.licensemanager.outputs.GetReceivedLicensesFilter; +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import javax.annotation.Nullable; + +@CustomType +public final class GetReceivedLicensesResult { + /** + * @return List of all the license ARNs found. + * + */ + private List arns; + private @Nullable List filters; + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + private String id; + + private GetReceivedLicensesResult() {} + /** + * @return List of all the license ARNs found. + * + */ + public List arns() { + return this.arns; + } + public List filters() { + return this.filters == null ? List.of() : this.filters; + } + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + public String id() { + return this.id; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetReceivedLicensesResult defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List arns; + private @Nullable List filters; + private String id; + public Builder() {} + public Builder(GetReceivedLicensesResult defaults) { + Objects.requireNonNull(defaults); + this.arns = defaults.arns; + this.filters = defaults.filters; + this.id = defaults.id; + } + + @CustomType.Setter + public Builder arns(List arns) { + this.arns = Objects.requireNonNull(arns); + return this; + } + public Builder arns(String... arns) { + return arns(List.of(arns)); + } + @CustomType.Setter + public Builder filters(@Nullable List filters) { + this.filters = filters; + return this; + } + public Builder filters(GetReceivedLicensesFilter... filters) { + return filters(List.of(filters)); + } + @CustomType.Setter + public Builder id(String id) { + this.id = Objects.requireNonNull(id); + return this; + } + public GetReceivedLicensesResult build() { + final var o = new GetReceivedLicensesResult(); + o.arns = arns; + o.filters = filters; + o.id = id; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/organizations/Policy.java b/sdk/java/src/main/java/com/pulumi/aws/organizations/Policy.java index 9fb86f3b464..fc0533a88d4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/organizations/Policy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/organizations/Policy.java @@ -20,7 +20,6 @@ * Provides a resource to manage an [AWS Organizations policy](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies.html). * * ## Example Usage - * * ```java * package generated_program; * @@ -45,9 +44,11 @@ * * public static void stack(Context ctx) { * final var examplePolicyDocument = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() - * .effect("Allow") - * .actions("*") - * .resources("*") + * .statements(GetPolicyDocumentStatementArgs.builder() + * .effect("Allow") + * .actions("*") + * .resources("*") + * .build()) * .build()); * * var examplePolicy = new Policy("examplePolicy", PolicyArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/Instance.java b/sdk/java/src/main/java/com/pulumi/aws/rds/Instance.java index 19daccbebbb..2213ba4bad4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/Instance.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/Instance.java @@ -7,6 +7,7 @@ import com.pulumi.aws.rds.InstanceArgs; import com.pulumi.aws.rds.inputs.InstanceState; import com.pulumi.aws.rds.outputs.InstanceBlueGreenUpdate; +import com.pulumi.aws.rds.outputs.InstanceListenerEndpoint; import com.pulumi.aws.rds.outputs.InstanceRestoreToPointInTime; import com.pulumi.aws.rds.outputs.InstanceS3Import; import com.pulumi.core.Output; @@ -141,14 +142,14 @@ @ResourceType(type="aws:rds/instance:Instance") public class Instance extends com.pulumi.resources.CustomResource { /** - * The hostname of the RDS instance. See also `endpoint` and `port`. + * Specifies the DNS address of the DB instance. * */ @Export(name="address", refs={String.class}, tree="[0]") private Output address; /** - * @return The hostname of the RDS instance. See also `endpoint` and `port`. + * @return Specifies the DNS address of the DB instance. * */ public Output address() { @@ -587,16 +588,14 @@ public Output> finalSnapshotIdentifier() { return Codegen.optional(this.finalSnapshotIdentifier); } /** - * The canonical hosted zone ID of the DB instance (to be used - * in a Route 53 Alias record). + * Specifies the ID that Amazon Route 53 assigns when you create a hosted zone. * */ @Export(name="hostedZoneId", refs={String.class}, tree="[0]") private Output hostedZoneId; /** - * @return The canonical hosted zone ID of the DB instance (to be used - * in a Route 53 Alias record). + * @return Specifies the ID that Amazon Route 53 assigns when you create a hosted zone. * */ public Output hostedZoneId() { @@ -730,6 +729,20 @@ public Output latestRestorableTime() { public Output licenseModel() { return this.licenseModel; } + /** + * Specifies the listener connection endpoint for SQL Server Always On. See endpoint below. + * + */ + @Export(name="listenerEndpoints", refs={List.class,InstanceListenerEndpoint.class}, tree="[0,1]") + private Output> listenerEndpoints; + + /** + * @return Specifies the listener connection endpoint for SQL Server Always On. See endpoint below. + * + */ + public Output> listenerEndpoints() { + return this.listenerEndpoints; + } /** * The window to perform maintenance in. * Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00". See [RDS diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/Snapshot.java b/sdk/java/src/main/java/com/pulumi/aws/rds/Snapshot.java index b22e75c8f8b..320d71b1d93 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/Snapshot.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/Snapshot.java @@ -13,6 +13,7 @@ import java.lang.Boolean; import java.lang.Integer; import java.lang.String; +import java.util.List; import java.util.Map; import java.util.Optional; import javax.annotation.Nullable; @@ -251,6 +252,20 @@ public Output optionGroupName() { public Output port() { return this.port; } + /** + * List of AWS Account ids to share snapshot with, use `all` to make snaphot public. + * + */ + @Export(name="sharedAccounts", refs={List.class,String.class}, tree="[0,1]") + private Output> sharedAccounts; + + /** + * @return List of AWS Account ids to share snapshot with, use `all` to make snaphot public. + * + */ + public Output>> sharedAccounts() { + return Codegen.optional(this.sharedAccounts); + } @Export(name="snapshotType", refs={String.class}, tree="[0]") private Output snapshotType; diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/SnapshotArgs.java b/sdk/java/src/main/java/com/pulumi/aws/rds/SnapshotArgs.java index 9d31867d568..6fc5d36e36f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/SnapshotArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/SnapshotArgs.java @@ -6,6 +6,7 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.lang.String; +import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Optional; @@ -46,6 +47,21 @@ public Output dbSnapshotIdentifier() { return this.dbSnapshotIdentifier; } + /** + * List of AWS Account ids to share snapshot with, use `all` to make snaphot public. + * + */ + @Import(name="sharedAccounts") + private @Nullable Output> sharedAccounts; + + /** + * @return List of AWS Account ids to share snapshot with, use `all` to make snaphot public. + * + */ + public Optional>> sharedAccounts() { + return Optional.ofNullable(this.sharedAccounts); + } + /** * 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. * @@ -66,6 +82,7 @@ private SnapshotArgs() {} private SnapshotArgs(SnapshotArgs $) { this.dbInstanceIdentifier = $.dbInstanceIdentifier; this.dbSnapshotIdentifier = $.dbSnapshotIdentifier; + this.sharedAccounts = $.sharedAccounts; this.tags = $.tags; } @@ -129,6 +146,37 @@ public Builder dbSnapshotIdentifier(String dbSnapshotIdentifier) { return dbSnapshotIdentifier(Output.of(dbSnapshotIdentifier)); } + /** + * @param sharedAccounts List of AWS Account ids to share snapshot with, use `all` to make snaphot public. + * + * @return builder + * + */ + public Builder sharedAccounts(@Nullable Output> sharedAccounts) { + $.sharedAccounts = sharedAccounts; + return this; + } + + /** + * @param sharedAccounts List of AWS Account ids to share snapshot with, use `all` to make snaphot public. + * + * @return builder + * + */ + public Builder sharedAccounts(List sharedAccounts) { + return sharedAccounts(Output.of(sharedAccounts)); + } + + /** + * @param sharedAccounts List of AWS Account ids to share snapshot with, use `all` to make snaphot public. + * + * @return builder + * + */ + public Builder sharedAccounts(String... sharedAccounts) { + return sharedAccounts(List.of(sharedAccounts)); + } + /** * @param 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. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/InstanceListenerEndpointArgs.java b/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/InstanceListenerEndpointArgs.java new file mode 100644 index 00000000000..8f5ce28b4a1 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/InstanceListenerEndpointArgs.java @@ -0,0 +1,158 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.rds.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class InstanceListenerEndpointArgs extends com.pulumi.resources.ResourceArgs { + + public static final InstanceListenerEndpointArgs Empty = new InstanceListenerEndpointArgs(); + + /** + * Specifies the DNS address of the DB instance. + * + */ + @Import(name="address") + private @Nullable Output address; + + /** + * @return Specifies the DNS address of the DB instance. + * + */ + public Optional> address() { + return Optional.ofNullable(this.address); + } + + /** + * Specifies the ID that Amazon Route 53 assigns when you create a hosted zone. + * + */ + @Import(name="hostedZoneId") + private @Nullable Output hostedZoneId; + + /** + * @return Specifies the ID that Amazon Route 53 assigns when you create a hosted zone. + * + */ + public Optional> hostedZoneId() { + return Optional.ofNullable(this.hostedZoneId); + } + + /** + * The port on which the DB accepts connections. + * + */ + @Import(name="port") + private @Nullable Output port; + + /** + * @return The port on which the DB accepts connections. + * + */ + public Optional> port() { + return Optional.ofNullable(this.port); + } + + private InstanceListenerEndpointArgs() {} + + private InstanceListenerEndpointArgs(InstanceListenerEndpointArgs $) { + this.address = $.address; + this.hostedZoneId = $.hostedZoneId; + this.port = $.port; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(InstanceListenerEndpointArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private InstanceListenerEndpointArgs $; + + public Builder() { + $ = new InstanceListenerEndpointArgs(); + } + + public Builder(InstanceListenerEndpointArgs defaults) { + $ = new InstanceListenerEndpointArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param address Specifies the DNS address of the DB instance. + * + * @return builder + * + */ + public Builder address(@Nullable Output address) { + $.address = address; + return this; + } + + /** + * @param address Specifies the DNS address of the DB instance. + * + * @return builder + * + */ + public Builder address(String address) { + return address(Output.of(address)); + } + + /** + * @param hostedZoneId Specifies the ID that Amazon Route 53 assigns when you create a hosted zone. + * + * @return builder + * + */ + public Builder hostedZoneId(@Nullable Output hostedZoneId) { + $.hostedZoneId = hostedZoneId; + return this; + } + + /** + * @param hostedZoneId Specifies the ID that Amazon Route 53 assigns when you create a hosted zone. + * + * @return builder + * + */ + public Builder hostedZoneId(String hostedZoneId) { + return hostedZoneId(Output.of(hostedZoneId)); + } + + /** + * @param port The port on which the DB accepts connections. + * + * @return builder + * + */ + public Builder port(@Nullable Output port) { + $.port = port; + return this; + } + + /** + * @param port The port on which the DB accepts connections. + * + * @return builder + * + */ + public Builder port(Integer port) { + return port(Output.of(port)); + } + + public InstanceListenerEndpointArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/InstanceState.java b/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/InstanceState.java index e3c206b7b81..78fc6e87ec7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/InstanceState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/InstanceState.java @@ -6,6 +6,7 @@ import com.pulumi.aws.rds.enums.InstanceType; import com.pulumi.aws.rds.enums.StorageType; import com.pulumi.aws.rds.inputs.InstanceBlueGreenUpdateArgs; +import com.pulumi.aws.rds.inputs.InstanceListenerEndpointArgs; import com.pulumi.aws.rds.inputs.InstanceRestoreToPointInTimeArgs; import com.pulumi.aws.rds.inputs.InstanceS3ImportArgs; import com.pulumi.core.Either; @@ -26,14 +27,14 @@ public final class InstanceState extends com.pulumi.resources.ResourceArgs { public static final InstanceState Empty = new InstanceState(); /** - * The hostname of the RDS instance. See also `endpoint` and `port`. + * Specifies the DNS address of the DB instance. * */ @Import(name="address") private @Nullable Output address; /** - * @return The hostname of the RDS instance. See also `endpoint` and `port`. + * @return Specifies the DNS address of the DB instance. * */ public Optional> address() { @@ -499,16 +500,14 @@ public Optional> finalSnapshotIdentifier() { } /** - * The canonical hosted zone ID of the DB instance (to be used - * in a Route 53 Alias record). + * Specifies the ID that Amazon Route 53 assigns when you create a hosted zone. * */ @Import(name="hostedZoneId") private @Nullable Output hostedZoneId; /** - * @return The canonical hosted zone ID of the DB instance (to be used - * in a Route 53 Alias record). + * @return Specifies the ID that Amazon Route 53 assigns when you create a hosted zone. * */ public Optional> hostedZoneId() { @@ -651,6 +650,21 @@ public Optional> licenseModel() { return Optional.ofNullable(this.licenseModel); } + /** + * Specifies the listener connection endpoint for SQL Server Always On. See endpoint below. + * + */ + @Import(name="listenerEndpoints") + private @Nullable Output> listenerEndpoints; + + /** + * @return Specifies the listener connection endpoint for SQL Server Always On. See endpoint below. + * + */ + public Optional>> listenerEndpoints() { + return Optional.ofNullable(this.listenerEndpoints); + } + /** * The window to perform maintenance in. * Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00". See [RDS @@ -1290,6 +1304,7 @@ private InstanceState(InstanceState $) { this.kmsKeyId = $.kmsKeyId; this.latestRestorableTime = $.latestRestorableTime; this.licenseModel = $.licenseModel; + this.listenerEndpoints = $.listenerEndpoints; this.maintenanceWindow = $.maintenanceWindow; this.maxAllocatedStorage = $.maxAllocatedStorage; this.monitoringInterval = $.monitoringInterval; @@ -1345,7 +1360,7 @@ public Builder(InstanceState defaults) { } /** - * @param address The hostname of the RDS instance. See also `endpoint` and `port`. + * @param address Specifies the DNS address of the DB instance. * * @return builder * @@ -1356,7 +1371,7 @@ public Builder address(@Nullable Output address) { } /** - * @param address The hostname of the RDS instance. See also `endpoint` and `port`. + * @param address Specifies the DNS address of the DB instance. * * @return builder * @@ -1990,8 +2005,7 @@ public Builder finalSnapshotIdentifier(String finalSnapshotIdentifier) { } /** - * @param hostedZoneId The canonical hosted zone ID of the DB instance (to be used - * in a Route 53 Alias record). + * @param hostedZoneId Specifies the ID that Amazon Route 53 assigns when you create a hosted zone. * * @return builder * @@ -2002,8 +2016,7 @@ public Builder hostedZoneId(@Nullable Output hostedZoneId) { } /** - * @param hostedZoneId The canonical hosted zone ID of the DB instance (to be used - * in a Route 53 Alias record). + * @param hostedZoneId Specifies the ID that Amazon Route 53 assigns when you create a hosted zone. * * @return builder * @@ -2216,6 +2229,37 @@ public Builder licenseModel(String licenseModel) { return licenseModel(Output.of(licenseModel)); } + /** + * @param listenerEndpoints Specifies the listener connection endpoint for SQL Server Always On. See endpoint below. + * + * @return builder + * + */ + public Builder listenerEndpoints(@Nullable Output> listenerEndpoints) { + $.listenerEndpoints = listenerEndpoints; + return this; + } + + /** + * @param listenerEndpoints Specifies the listener connection endpoint for SQL Server Always On. See endpoint below. + * + * @return builder + * + */ + public Builder listenerEndpoints(List listenerEndpoints) { + return listenerEndpoints(Output.of(listenerEndpoints)); + } + + /** + * @param listenerEndpoints Specifies the listener connection endpoint for SQL Server Always On. See endpoint below. + * + * @return builder + * + */ + public Builder listenerEndpoints(InstanceListenerEndpointArgs... listenerEndpoints) { + return listenerEndpoints(List.of(listenerEndpoints)); + } + /** * @param maintenanceWindow The window to perform maintenance in. * Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00". See [RDS diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/SnapshotState.java b/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/SnapshotState.java index 5b19017b324..ea66f1eb0fa 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/SnapshotState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/SnapshotState.java @@ -8,6 +8,7 @@ import java.lang.Boolean; import java.lang.Integer; import java.lang.String; +import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Optional; @@ -205,6 +206,21 @@ public Optional> port() { return Optional.ofNullable(this.port); } + /** + * List of AWS Account ids to share snapshot with, use `all` to make snaphot public. + * + */ + @Import(name="sharedAccounts") + private @Nullable Output> sharedAccounts; + + /** + * @return List of AWS Account ids to share snapshot with, use `all` to make snaphot public. + * + */ + public Optional>> sharedAccounts() { + return Optional.ofNullable(this.sharedAccounts); + } + @Import(name="snapshotType") private @Nullable Output snapshotType; @@ -333,6 +349,7 @@ private SnapshotState(SnapshotState $) { this.licenseModel = $.licenseModel; this.optionGroupName = $.optionGroupName; this.port = $.port; + this.sharedAccounts = $.sharedAccounts; this.snapshotType = $.snapshotType; this.sourceDbSnapshotIdentifier = $.sourceDbSnapshotIdentifier; this.sourceRegion = $.sourceRegion; @@ -622,6 +639,37 @@ public Builder port(Integer port) { return port(Output.of(port)); } + /** + * @param sharedAccounts List of AWS Account ids to share snapshot with, use `all` to make snaphot public. + * + * @return builder + * + */ + public Builder sharedAccounts(@Nullable Output> sharedAccounts) { + $.sharedAccounts = sharedAccounts; + return this; + } + + /** + * @param sharedAccounts List of AWS Account ids to share snapshot with, use `all` to make snaphot public. + * + * @return builder + * + */ + public Builder sharedAccounts(List sharedAccounts) { + return sharedAccounts(Output.of(sharedAccounts)); + } + + /** + * @param sharedAccounts List of AWS Account ids to share snapshot with, use `all` to make snaphot public. + * + * @return builder + * + */ + public Builder sharedAccounts(String... sharedAccounts) { + return sharedAccounts(List.of(sharedAccounts)); + } + public Builder snapshotType(@Nullable Output snapshotType) { $.snapshotType = snapshotType; return this; diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/outputs/InstanceListenerEndpoint.java b/sdk/java/src/main/java/com/pulumi/aws/rds/outputs/InstanceListenerEndpoint.java new file mode 100644 index 00000000000..a719ddb488c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/outputs/InstanceListenerEndpoint.java @@ -0,0 +1,97 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.rds.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class InstanceListenerEndpoint { + /** + * @return Specifies the DNS address of the DB instance. + * + */ + private @Nullable String address; + /** + * @return Specifies the ID that Amazon Route 53 assigns when you create a hosted zone. + * + */ + private @Nullable String hostedZoneId; + /** + * @return The port on which the DB accepts connections. + * + */ + private @Nullable Integer port; + + private InstanceListenerEndpoint() {} + /** + * @return Specifies the DNS address of the DB instance. + * + */ + public Optional address() { + return Optional.ofNullable(this.address); + } + /** + * @return Specifies the ID that Amazon Route 53 assigns when you create a hosted zone. + * + */ + public Optional hostedZoneId() { + return Optional.ofNullable(this.hostedZoneId); + } + /** + * @return The port on which the DB accepts connections. + * + */ + public Optional port() { + return Optional.ofNullable(this.port); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(InstanceListenerEndpoint defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String address; + private @Nullable String hostedZoneId; + private @Nullable Integer port; + public Builder() {} + public Builder(InstanceListenerEndpoint defaults) { + Objects.requireNonNull(defaults); + this.address = defaults.address; + this.hostedZoneId = defaults.hostedZoneId; + this.port = defaults.port; + } + + @CustomType.Setter + public Builder address(@Nullable String address) { + this.address = address; + return this; + } + @CustomType.Setter + public Builder hostedZoneId(@Nullable String hostedZoneId) { + this.hostedZoneId = hostedZoneId; + return this; + } + @CustomType.Setter + public Builder port(@Nullable Integer port) { + this.port = port; + return this; + } + public InstanceListenerEndpoint build() { + final var o = new InstanceListenerEndpoint(); + o.address = address; + o.hostedZoneId = hostedZoneId; + o.port = port; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/redshift/ClusterSnapshot.java b/sdk/java/src/main/java/com/pulumi/aws/redshift/ClusterSnapshot.java new file mode 100644 index 00000000000..679ebaf1472 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/redshift/ClusterSnapshot.java @@ -0,0 +1,232 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.redshift; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.redshift.ClusterSnapshotArgs; +import com.pulumi.aws.redshift.inputs.ClusterSnapshotState; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.Integer; +import java.lang.String; +import java.util.Map; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Creates a Redshift cluster snapshot + * + * ## Example Usage + * + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.redshift.ClusterSnapshot; + * import com.pulumi.aws.redshift.ClusterSnapshotArgs; + * import static com.pulumi.codegen.internal.Serialization.*; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * var example = new ClusterSnapshot("example", ClusterSnapshotArgs.builder() + * .clusterSnapshotName("example") + * .clusterSnapshotContent(serializeJson( + * jsonObject( + * jsonProperty("AllowDBUserOverride", "1"), + * jsonProperty("Client_ID", "ExampleClientID"), + * jsonProperty("App_ID", "example") + * ))) + * .build()); + * + * } + * } + * ``` + * + * ## Import + * + * Redshift Cluster Snapshots support import by `snapshot_identifier`, e.g., console + * + * ```sh + * $ pulumi import aws:redshift/clusterSnapshot:ClusterSnapshot test example + * ``` + * + */ +@ResourceType(type="aws:redshift/clusterSnapshot:ClusterSnapshot") +public class ClusterSnapshot extends com.pulumi.resources.CustomResource { + /** + * Amazon Resource Name (ARN) of the snapshot. + * + */ + @Export(name="arn", refs={String.class}, tree="[0]") + private Output arn; + + /** + * @return Amazon Resource Name (ARN) of the snapshot. + * + */ + public Output arn() { + return this.arn; + } + /** + * The cluster identifier for which you want a snapshot. + * + */ + @Export(name="clusterIdentifier", refs={String.class}, tree="[0]") + private Output clusterIdentifier; + + /** + * @return The cluster identifier for which you want a snapshot. + * + */ + public Output clusterIdentifier() { + return this.clusterIdentifier; + } + /** + * The Key Management Service (KMS) key ID of the encryption key that was used to encrypt data in the cluster from which the snapshot was taken. + * + */ + @Export(name="kmsKeyId", refs={String.class}, tree="[0]") + private Output kmsKeyId; + + /** + * @return The Key Management Service (KMS) key ID of the encryption key that was used to encrypt data in the cluster from which the snapshot was taken. + * + */ + public Output kmsKeyId() { + return this.kmsKeyId; + } + /** + * The number of days that a manual snapshot is retained. If the value is `-1`, the manual snapshot is retained indefinitely. Valid values are -1 and between `1` and `3653`. + * + */ + @Export(name="manualSnapshotRetentionPeriod", refs={Integer.class}, tree="[0]") + private Output manualSnapshotRetentionPeriod; + + /** + * @return The number of days that a manual snapshot is retained. If the value is `-1`, the manual snapshot is retained indefinitely. Valid values are -1 and between `1` and `3653`. + * + */ + public Output> manualSnapshotRetentionPeriod() { + return Codegen.optional(this.manualSnapshotRetentionPeriod); + } + /** + * For manual snapshots, the Amazon Web Services account used to create or copy the snapshot. For automatic snapshots, the owner of the cluster. The owner can perform all snapshot actions, such as sharing a manual snapshot. + * + */ + @Export(name="ownerAccount", refs={String.class}, tree="[0]") + private Output ownerAccount; + + /** + * @return For manual snapshots, the Amazon Web Services account used to create or copy the snapshot. For automatic snapshots, the owner of the cluster. The owner can perform all snapshot actions, such as sharing a manual snapshot. + * + */ + public Output ownerAccount() { + return this.ownerAccount; + } + /** + * A unique identifier for the snapshot that you are requesting. This identifier must be unique for all snapshots within the Amazon Web Services account. + * + */ + @Export(name="snapshotIdentifier", refs={String.class}, tree="[0]") + private Output snapshotIdentifier; + + /** + * @return A unique identifier for the snapshot that you are requesting. This identifier must be unique for all snapshots within the Amazon Web Services account. + * + */ + public Output snapshotIdentifier() { + return this.snapshotIdentifier; + } + /** + * 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. + * + */ + @Export(name="tags", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> tags; + + /** + * @return 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 Output>> tags() { + return Codegen.optional(this.tags); + } + /** + * A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + @Export(name="tagsAll", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> tagsAll; + + /** + * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + public Output> tagsAll() { + return this.tagsAll; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public ClusterSnapshot(String name) { + this(name, ClusterSnapshotArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public ClusterSnapshot(String name, ClusterSnapshotArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public ClusterSnapshot(String name, ClusterSnapshotArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:redshift/clusterSnapshot:ClusterSnapshot", name, args == null ? ClusterSnapshotArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private ClusterSnapshot(String name, Output id, @Nullable ClusterSnapshotState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:redshift/clusterSnapshot:ClusterSnapshot", name, state, makeResourceOptions(options, id)); + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static ClusterSnapshot get(String name, Output id, @Nullable ClusterSnapshotState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new ClusterSnapshot(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/redshift/ClusterSnapshotArgs.java b/sdk/java/src/main/java/com/pulumi/aws/redshift/ClusterSnapshotArgs.java new file mode 100644 index 00000000000..e6aecce44f3 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/redshift/ClusterSnapshotArgs.java @@ -0,0 +1,198 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.redshift; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.lang.String; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ClusterSnapshotArgs extends com.pulumi.resources.ResourceArgs { + + public static final ClusterSnapshotArgs Empty = new ClusterSnapshotArgs(); + + /** + * The cluster identifier for which you want a snapshot. + * + */ + @Import(name="clusterIdentifier", required=true) + private Output clusterIdentifier; + + /** + * @return The cluster identifier for which you want a snapshot. + * + */ + public Output clusterIdentifier() { + return this.clusterIdentifier; + } + + /** + * The number of days that a manual snapshot is retained. If the value is `-1`, the manual snapshot is retained indefinitely. Valid values are -1 and between `1` and `3653`. + * + */ + @Import(name="manualSnapshotRetentionPeriod") + private @Nullable Output manualSnapshotRetentionPeriod; + + /** + * @return The number of days that a manual snapshot is retained. If the value is `-1`, the manual snapshot is retained indefinitely. Valid values are -1 and between `1` and `3653`. + * + */ + public Optional> manualSnapshotRetentionPeriod() { + return Optional.ofNullable(this.manualSnapshotRetentionPeriod); + } + + /** + * A unique identifier for the snapshot that you are requesting. This identifier must be unique for all snapshots within the Amazon Web Services account. + * + */ + @Import(name="snapshotIdentifier", required=true) + private Output snapshotIdentifier; + + /** + * @return A unique identifier for the snapshot that you are requesting. This identifier must be unique for all snapshots within the Amazon Web Services account. + * + */ + public Output snapshotIdentifier() { + return this.snapshotIdentifier; + } + + /** + * 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. + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return 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 Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + private ClusterSnapshotArgs() {} + + private ClusterSnapshotArgs(ClusterSnapshotArgs $) { + this.clusterIdentifier = $.clusterIdentifier; + this.manualSnapshotRetentionPeriod = $.manualSnapshotRetentionPeriod; + this.snapshotIdentifier = $.snapshotIdentifier; + this.tags = $.tags; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ClusterSnapshotArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ClusterSnapshotArgs $; + + public Builder() { + $ = new ClusterSnapshotArgs(); + } + + public Builder(ClusterSnapshotArgs defaults) { + $ = new ClusterSnapshotArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param clusterIdentifier The cluster identifier for which you want a snapshot. + * + * @return builder + * + */ + public Builder clusterIdentifier(Output clusterIdentifier) { + $.clusterIdentifier = clusterIdentifier; + return this; + } + + /** + * @param clusterIdentifier The cluster identifier for which you want a snapshot. + * + * @return builder + * + */ + public Builder clusterIdentifier(String clusterIdentifier) { + return clusterIdentifier(Output.of(clusterIdentifier)); + } + + /** + * @param manualSnapshotRetentionPeriod The number of days that a manual snapshot is retained. If the value is `-1`, the manual snapshot is retained indefinitely. Valid values are -1 and between `1` and `3653`. + * + * @return builder + * + */ + public Builder manualSnapshotRetentionPeriod(@Nullable Output manualSnapshotRetentionPeriod) { + $.manualSnapshotRetentionPeriod = manualSnapshotRetentionPeriod; + return this; + } + + /** + * @param manualSnapshotRetentionPeriod The number of days that a manual snapshot is retained. If the value is `-1`, the manual snapshot is retained indefinitely. Valid values are -1 and between `1` and `3653`. + * + * @return builder + * + */ + public Builder manualSnapshotRetentionPeriod(Integer manualSnapshotRetentionPeriod) { + return manualSnapshotRetentionPeriod(Output.of(manualSnapshotRetentionPeriod)); + } + + /** + * @param snapshotIdentifier A unique identifier for the snapshot that you are requesting. This identifier must be unique for all snapshots within the Amazon Web Services account. + * + * @return builder + * + */ + public Builder snapshotIdentifier(Output snapshotIdentifier) { + $.snapshotIdentifier = snapshotIdentifier; + return this; + } + + /** + * @param snapshotIdentifier A unique identifier for the snapshot that you are requesting. This identifier must be unique for all snapshots within the Amazon Web Services account. + * + * @return builder + * + */ + public Builder snapshotIdentifier(String snapshotIdentifier) { + return snapshotIdentifier(Output.of(snapshotIdentifier)); + } + + /** + * @param 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. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param 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. + * + * @return builder + * + */ + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + public ClusterSnapshotArgs build() { + $.clusterIdentifier = Objects.requireNonNull($.clusterIdentifier, "expected parameter 'clusterIdentifier' to be non-null"); + $.snapshotIdentifier = Objects.requireNonNull($.snapshotIdentifier, "expected parameter 'snapshotIdentifier' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/redshift/inputs/ClusterSnapshotState.java b/sdk/java/src/main/java/com/pulumi/aws/redshift/inputs/ClusterSnapshotState.java new file mode 100644 index 00000000000..f1270de90e9 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/redshift/inputs/ClusterSnapshotState.java @@ -0,0 +1,344 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.redshift.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.lang.String; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ClusterSnapshotState extends com.pulumi.resources.ResourceArgs { + + public static final ClusterSnapshotState Empty = new ClusterSnapshotState(); + + /** + * Amazon Resource Name (ARN) of the snapshot. + * + */ + @Import(name="arn") + private @Nullable Output arn; + + /** + * @return Amazon Resource Name (ARN) of the snapshot. + * + */ + public Optional> arn() { + return Optional.ofNullable(this.arn); + } + + /** + * The cluster identifier for which you want a snapshot. + * + */ + @Import(name="clusterIdentifier") + private @Nullable Output clusterIdentifier; + + /** + * @return The cluster identifier for which you want a snapshot. + * + */ + public Optional> clusterIdentifier() { + return Optional.ofNullable(this.clusterIdentifier); + } + + /** + * The Key Management Service (KMS) key ID of the encryption key that was used to encrypt data in the cluster from which the snapshot was taken. + * + */ + @Import(name="kmsKeyId") + private @Nullable Output kmsKeyId; + + /** + * @return The Key Management Service (KMS) key ID of the encryption key that was used to encrypt data in the cluster from which the snapshot was taken. + * + */ + public Optional> kmsKeyId() { + return Optional.ofNullable(this.kmsKeyId); + } + + /** + * The number of days that a manual snapshot is retained. If the value is `-1`, the manual snapshot is retained indefinitely. Valid values are -1 and between `1` and `3653`. + * + */ + @Import(name="manualSnapshotRetentionPeriod") + private @Nullable Output manualSnapshotRetentionPeriod; + + /** + * @return The number of days that a manual snapshot is retained. If the value is `-1`, the manual snapshot is retained indefinitely. Valid values are -1 and between `1` and `3653`. + * + */ + public Optional> manualSnapshotRetentionPeriod() { + return Optional.ofNullable(this.manualSnapshotRetentionPeriod); + } + + /** + * For manual snapshots, the Amazon Web Services account used to create or copy the snapshot. For automatic snapshots, the owner of the cluster. The owner can perform all snapshot actions, such as sharing a manual snapshot. + * + */ + @Import(name="ownerAccount") + private @Nullable Output ownerAccount; + + /** + * @return For manual snapshots, the Amazon Web Services account used to create or copy the snapshot. For automatic snapshots, the owner of the cluster. The owner can perform all snapshot actions, such as sharing a manual snapshot. + * + */ + public Optional> ownerAccount() { + return Optional.ofNullable(this.ownerAccount); + } + + /** + * A unique identifier for the snapshot that you are requesting. This identifier must be unique for all snapshots within the Amazon Web Services account. + * + */ + @Import(name="snapshotIdentifier") + private @Nullable Output snapshotIdentifier; + + /** + * @return A unique identifier for the snapshot that you are requesting. This identifier must be unique for all snapshots within the Amazon Web Services account. + * + */ + public Optional> snapshotIdentifier() { + return Optional.ofNullable(this.snapshotIdentifier); + } + + /** + * 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. + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return 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 Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + /** + * A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + /** + * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + + private ClusterSnapshotState() {} + + private ClusterSnapshotState(ClusterSnapshotState $) { + this.arn = $.arn; + this.clusterIdentifier = $.clusterIdentifier; + this.kmsKeyId = $.kmsKeyId; + this.manualSnapshotRetentionPeriod = $.manualSnapshotRetentionPeriod; + this.ownerAccount = $.ownerAccount; + this.snapshotIdentifier = $.snapshotIdentifier; + this.tags = $.tags; + this.tagsAll = $.tagsAll; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ClusterSnapshotState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ClusterSnapshotState $; + + public Builder() { + $ = new ClusterSnapshotState(); + } + + public Builder(ClusterSnapshotState defaults) { + $ = new ClusterSnapshotState(Objects.requireNonNull(defaults)); + } + + /** + * @param arn Amazon Resource Name (ARN) of the snapshot. + * + * @return builder + * + */ + public Builder arn(@Nullable Output arn) { + $.arn = arn; + return this; + } + + /** + * @param arn Amazon Resource Name (ARN) of the snapshot. + * + * @return builder + * + */ + public Builder arn(String arn) { + return arn(Output.of(arn)); + } + + /** + * @param clusterIdentifier The cluster identifier for which you want a snapshot. + * + * @return builder + * + */ + public Builder clusterIdentifier(@Nullable Output clusterIdentifier) { + $.clusterIdentifier = clusterIdentifier; + return this; + } + + /** + * @param clusterIdentifier The cluster identifier for which you want a snapshot. + * + * @return builder + * + */ + public Builder clusterIdentifier(String clusterIdentifier) { + return clusterIdentifier(Output.of(clusterIdentifier)); + } + + /** + * @param kmsKeyId The Key Management Service (KMS) key ID of the encryption key that was used to encrypt data in the cluster from which the snapshot was taken. + * + * @return builder + * + */ + public Builder kmsKeyId(@Nullable Output kmsKeyId) { + $.kmsKeyId = kmsKeyId; + return this; + } + + /** + * @param kmsKeyId The Key Management Service (KMS) key ID of the encryption key that was used to encrypt data in the cluster from which the snapshot was taken. + * + * @return builder + * + */ + public Builder kmsKeyId(String kmsKeyId) { + return kmsKeyId(Output.of(kmsKeyId)); + } + + /** + * @param manualSnapshotRetentionPeriod The number of days that a manual snapshot is retained. If the value is `-1`, the manual snapshot is retained indefinitely. Valid values are -1 and between `1` and `3653`. + * + * @return builder + * + */ + public Builder manualSnapshotRetentionPeriod(@Nullable Output manualSnapshotRetentionPeriod) { + $.manualSnapshotRetentionPeriod = manualSnapshotRetentionPeriod; + return this; + } + + /** + * @param manualSnapshotRetentionPeriod The number of days that a manual snapshot is retained. If the value is `-1`, the manual snapshot is retained indefinitely. Valid values are -1 and between `1` and `3653`. + * + * @return builder + * + */ + public Builder manualSnapshotRetentionPeriod(Integer manualSnapshotRetentionPeriod) { + return manualSnapshotRetentionPeriod(Output.of(manualSnapshotRetentionPeriod)); + } + + /** + * @param ownerAccount For manual snapshots, the Amazon Web Services account used to create or copy the snapshot. For automatic snapshots, the owner of the cluster. The owner can perform all snapshot actions, such as sharing a manual snapshot. + * + * @return builder + * + */ + public Builder ownerAccount(@Nullable Output ownerAccount) { + $.ownerAccount = ownerAccount; + return this; + } + + /** + * @param ownerAccount For manual snapshots, the Amazon Web Services account used to create or copy the snapshot. For automatic snapshots, the owner of the cluster. The owner can perform all snapshot actions, such as sharing a manual snapshot. + * + * @return builder + * + */ + public Builder ownerAccount(String ownerAccount) { + return ownerAccount(Output.of(ownerAccount)); + } + + /** + * @param snapshotIdentifier A unique identifier for the snapshot that you are requesting. This identifier must be unique for all snapshots within the Amazon Web Services account. + * + * @return builder + * + */ + public Builder snapshotIdentifier(@Nullable Output snapshotIdentifier) { + $.snapshotIdentifier = snapshotIdentifier; + return this; + } + + /** + * @param snapshotIdentifier A unique identifier for the snapshot that you are requesting. This identifier must be unique for all snapshots within the Amazon Web Services account. + * + * @return builder + * + */ + public Builder snapshotIdentifier(String snapshotIdentifier) { + return snapshotIdentifier(Output.of(snapshotIdentifier)); + } + + /** + * @param 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. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param 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. + * + * @return builder + * + */ + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + + public ClusterSnapshotState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/redshiftserverless/Namespace.java b/sdk/java/src/main/java/com/pulumi/aws/redshiftserverless/Namespace.java index aec14269b18..f94d226e2ab 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/redshiftserverless/Namespace.java +++ b/sdk/java/src/main/java/com/pulumi/aws/redshiftserverless/Namespace.java @@ -117,14 +117,14 @@ public Output dbName() { return this.dbName; } /** - * The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. + * The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. When specifying `default_iam_role_arn`, it also must be part of `iam_roles`. * */ @Export(name="defaultIamRoleArn", refs={String.class}, tree="[0]") private Output defaultIamRoleArn; /** - * @return The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. + * @return The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. When specifying `default_iam_role_arn`, it also must be part of `iam_roles`. * */ public Output> defaultIamRoleArn() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/redshiftserverless/NamespaceArgs.java b/sdk/java/src/main/java/com/pulumi/aws/redshiftserverless/NamespaceArgs.java index e802f0a581a..95836add808 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/redshiftserverless/NamespaceArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/redshiftserverless/NamespaceArgs.java @@ -63,14 +63,14 @@ public Optional> dbName() { } /** - * The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. + * The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. When specifying `default_iam_role_arn`, it also must be part of `iam_roles`. * */ @Import(name="defaultIamRoleArn") private @Nullable Output defaultIamRoleArn; /** - * @return The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. + * @return The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. When specifying `default_iam_role_arn`, it also must be part of `iam_roles`. * */ public Optional> defaultIamRoleArn() { @@ -248,7 +248,7 @@ public Builder dbName(String dbName) { } /** - * @param defaultIamRoleArn The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. + * @param defaultIamRoleArn The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. When specifying `default_iam_role_arn`, it also must be part of `iam_roles`. * * @return builder * @@ -259,7 +259,7 @@ public Builder defaultIamRoleArn(@Nullable Output defaultIamRoleArn) { } /** - * @param defaultIamRoleArn The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. + * @param defaultIamRoleArn The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. When specifying `default_iam_role_arn`, it also must be part of `iam_roles`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/redshiftserverless/inputs/NamespaceState.java b/sdk/java/src/main/java/com/pulumi/aws/redshiftserverless/inputs/NamespaceState.java index 91d77b0c51e..57b26d6745d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/redshiftserverless/inputs/NamespaceState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/redshiftserverless/inputs/NamespaceState.java @@ -78,14 +78,14 @@ public Optional> dbName() { } /** - * The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. + * The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. When specifying `default_iam_role_arn`, it also must be part of `iam_roles`. * */ @Import(name="defaultIamRoleArn") private @Nullable Output defaultIamRoleArn; /** - * @return The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. + * @return The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. When specifying `default_iam_role_arn`, it also must be part of `iam_roles`. * */ public Optional> defaultIamRoleArn() { @@ -317,7 +317,7 @@ public Builder dbName(String dbName) { } /** - * @param defaultIamRoleArn The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. + * @param defaultIamRoleArn The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. When specifying `default_iam_role_arn`, it also must be part of `iam_roles`. * * @return builder * @@ -328,7 +328,7 @@ public Builder defaultIamRoleArn(@Nullable Output defaultIamRoleArn) { } /** - * @param defaultIamRoleArn The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. + * @param defaultIamRoleArn The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. When specifying `default_iam_role_arn`, it also must be part of `iam_roles`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53/HostedZoneDnsSec.java b/sdk/java/src/main/java/com/pulumi/aws/route53/HostedZoneDnsSec.java index aba419ff7a5..26ca9b9dcd2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53/HostedZoneDnsSec.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53/HostedZoneDnsSec.java @@ -62,36 +62,15 @@ * jsonProperty("Action", jsonArray( * "kms:DescribeKey", * "kms:GetPublicKey", - * "kms:Sign" + * "kms:Sign", + * "kms:Verify" * )), * jsonProperty("Effect", "Allow"), * jsonProperty("Principal", jsonObject( * jsonProperty("Service", "dnssec-route53.amazonaws.com") * )), - * jsonProperty("Sid", "Allow Route 53 DNSSEC Service"), * jsonProperty("Resource", "*"), - * jsonProperty("Condition", jsonObject( - * jsonProperty("StringEquals", jsonObject( - * jsonProperty("aws:SourceAccount", current.applyValue(getCallerIdentityResult -> getCallerIdentityResult.accountId())) - * )), - * jsonProperty("ArnLike", jsonObject( - * jsonProperty("aws:SourceArn", "arn:aws:route53:::hostedzone/*") - * )) - * )) - * ), - * jsonObject( - * jsonProperty("Action", "kms:CreateGrant"), - * jsonProperty("Effect", "Allow"), - * jsonProperty("Principal", jsonObject( - * jsonProperty("Service", "dnssec-route53.amazonaws.com") - * )), - * jsonProperty("Sid", "Allow Route 53 DNSSEC Service to CreateGrant"), - * jsonProperty("Resource", "*"), - * jsonProperty("Condition", jsonObject( - * jsonProperty("Bool", jsonObject( - * jsonProperty("kms:GrantIsForAWSResource", "true") - * )) - * )) + * jsonProperty("Sid", "Allow Route 53 DNSSEC Service") * ), * jsonObject( * jsonProperty("Action", "kms:*"), diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/Domain.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/Domain.java index 889e59264fb..bec172b81ed 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/Domain.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/Domain.java @@ -176,14 +176,14 @@ public Output> appNetworkAccessType() { return Codegen.optional(this.appNetworkAccessType); } /** - * The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`.* `domain_settings` - (Optional) The domain settings. See Domain Settings below. + * The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`. * */ @Export(name="appSecurityGroupManagement", refs={String.class}, tree="[0]") private Output appSecurityGroupManagement; /** - * @return The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`.* `domain_settings` - (Optional) The domain settings. See Domain Settings below. + * @return The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`. * */ public Output> appSecurityGroupManagement() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/DomainArgs.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/DomainArgs.java index e1cb46c8bb4..3d5ffd37069 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/DomainArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/DomainArgs.java @@ -37,14 +37,14 @@ public Optional> appNetworkAccessType() { } /** - * The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`.* `domain_settings` - (Optional) The domain settings. See Domain Settings below. + * The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`. * */ @Import(name="appSecurityGroupManagement") private @Nullable Output appSecurityGroupManagement; /** - * @return The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`.* `domain_settings` - (Optional) The domain settings. See Domain Settings below. + * @return The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`. * */ public Optional> appSecurityGroupManagement() { @@ -250,7 +250,7 @@ public Builder appNetworkAccessType(String appNetworkAccessType) { } /** - * @param appSecurityGroupManagement The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`.* `domain_settings` - (Optional) The domain settings. See Domain Settings below. + * @param appSecurityGroupManagement The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`. * * @return builder * @@ -261,7 +261,7 @@ public Builder appSecurityGroupManagement(@Nullable Output appSecurityGr } /** - * @param appSecurityGroupManagement The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`.* `domain_settings` - (Optional) The domain settings. See Domain Settings below. + * @param appSecurityGroupManagement The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/inputs/DomainState.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/inputs/DomainState.java index b746a884871..49d62e6230c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/inputs/DomainState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/inputs/DomainState.java @@ -37,14 +37,14 @@ public Optional> appNetworkAccessType() { } /** - * The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`.* `domain_settings` - (Optional) The domain settings. See Domain Settings below. + * The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`. * */ @Import(name="appSecurityGroupManagement") private @Nullable Output appSecurityGroupManagement; /** - * @return The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`.* `domain_settings` - (Optional) The domain settings. See Domain Settings below. + * @return The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`. * */ public Optional> appSecurityGroupManagement() { @@ -346,7 +346,7 @@ public Builder appNetworkAccessType(String appNetworkAccessType) { } /** - * @param appSecurityGroupManagement The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`.* `domain_settings` - (Optional) The domain settings. See Domain Settings below. + * @param appSecurityGroupManagement The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`. * * @return builder * @@ -357,7 +357,7 @@ public Builder appSecurityGroupManagement(@Nullable Output appSecurityGr } /** - * @param appSecurityGroupManagement The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`.* `domain_settings` - (Optional) The domain settings. See Domain Settings below. + * @param appSecurityGroupManagement The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/sesv2/ConfigurationSet.java b/sdk/java/src/main/java/com/pulumi/aws/sesv2/ConfigurationSet.java index d1ac0410b55..c0f7f4195ee 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sesv2/ConfigurationSet.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sesv2/ConfigurationSet.java @@ -11,6 +11,7 @@ import com.pulumi.aws.sesv2.outputs.ConfigurationSetSendingOptions; import com.pulumi.aws.sesv2.outputs.ConfigurationSetSuppressionOptions; import com.pulumi.aws.sesv2.outputs.ConfigurationSetTrackingOptions; +import com.pulumi.aws.sesv2.outputs.ConfigurationSetVdmOptions; import com.pulumi.core.Output; import com.pulumi.core.annotations.Export; import com.pulumi.core.annotations.ResourceType; @@ -205,6 +206,20 @@ public Output> tagsAll() { public Output> trackingOptions() { return Codegen.optional(this.trackingOptions); } + /** + * An object that defines the VDM settings that apply to emails that you send using the configuration set. + * + */ + @Export(name="vdmOptions", refs={ConfigurationSetVdmOptions.class}, tree="[0]") + private Output vdmOptions; + + /** + * @return An object that defines the VDM settings that apply to emails that you send using the configuration set. + * + */ + public Output> vdmOptions() { + return Codegen.optional(this.vdmOptions); + } /** * diff --git a/sdk/java/src/main/java/com/pulumi/aws/sesv2/ConfigurationSetArgs.java b/sdk/java/src/main/java/com/pulumi/aws/sesv2/ConfigurationSetArgs.java index e50fdcedf5f..117d897e2ae 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sesv2/ConfigurationSetArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sesv2/ConfigurationSetArgs.java @@ -8,6 +8,7 @@ import com.pulumi.aws.sesv2.inputs.ConfigurationSetSendingOptionsArgs; import com.pulumi.aws.sesv2.inputs.ConfigurationSetSuppressionOptionsArgs; import com.pulumi.aws.sesv2.inputs.ConfigurationSetTrackingOptionsArgs; +import com.pulumi.aws.sesv2.inputs.ConfigurationSetVdmOptionsArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.lang.String; @@ -126,6 +127,21 @@ public Optional> trackingOptions() { return Optional.ofNullable(this.trackingOptions); } + /** + * An object that defines the VDM settings that apply to emails that you send using the configuration set. + * + */ + @Import(name="vdmOptions") + private @Nullable Output vdmOptions; + + /** + * @return An object that defines the VDM settings that apply to emails that you send using the configuration set. + * + */ + public Optional> vdmOptions() { + return Optional.ofNullable(this.vdmOptions); + } + private ConfigurationSetArgs() {} private ConfigurationSetArgs(ConfigurationSetArgs $) { @@ -136,6 +152,7 @@ private ConfigurationSetArgs(ConfigurationSetArgs $) { this.suppressionOptions = $.suppressionOptions; this.tags = $.tags; this.trackingOptions = $.trackingOptions; + this.vdmOptions = $.vdmOptions; } public static Builder builder() { @@ -303,6 +320,27 @@ public Builder trackingOptions(ConfigurationSetTrackingOptionsArgs trackingOptio return trackingOptions(Output.of(trackingOptions)); } + /** + * @param vdmOptions An object that defines the VDM settings that apply to emails that you send using the configuration set. + * + * @return builder + * + */ + public Builder vdmOptions(@Nullable Output vdmOptions) { + $.vdmOptions = vdmOptions; + return this; + } + + /** + * @param vdmOptions An object that defines the VDM settings that apply to emails that you send using the configuration set. + * + * @return builder + * + */ + public Builder vdmOptions(ConfigurationSetVdmOptionsArgs vdmOptions) { + return vdmOptions(Output.of(vdmOptions)); + } + public ConfigurationSetArgs build() { $.configurationSetName = Objects.requireNonNull($.configurationSetName, "expected parameter 'configurationSetName' to be non-null"); return $; diff --git a/sdk/java/src/main/java/com/pulumi/aws/sesv2/inputs/ConfigurationSetState.java b/sdk/java/src/main/java/com/pulumi/aws/sesv2/inputs/ConfigurationSetState.java index eb2ce7d6aac..aa1cef43c27 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sesv2/inputs/ConfigurationSetState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sesv2/inputs/ConfigurationSetState.java @@ -8,6 +8,7 @@ import com.pulumi.aws.sesv2.inputs.ConfigurationSetSendingOptionsArgs; import com.pulumi.aws.sesv2.inputs.ConfigurationSetSuppressionOptionsArgs; import com.pulumi.aws.sesv2.inputs.ConfigurationSetTrackingOptionsArgs; +import com.pulumi.aws.sesv2.inputs.ConfigurationSetVdmOptionsArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.lang.String; @@ -148,6 +149,21 @@ public Optional> trackingOptions() { return Optional.ofNullable(this.trackingOptions); } + /** + * An object that defines the VDM settings that apply to emails that you send using the configuration set. + * + */ + @Import(name="vdmOptions") + private @Nullable Output vdmOptions; + + /** + * @return An object that defines the VDM settings that apply to emails that you send using the configuration set. + * + */ + public Optional> vdmOptions() { + return Optional.ofNullable(this.vdmOptions); + } + private ConfigurationSetState() {} private ConfigurationSetState(ConfigurationSetState $) { @@ -160,6 +176,7 @@ private ConfigurationSetState(ConfigurationSetState $) { this.tags = $.tags; this.tagsAll = $.tagsAll; this.trackingOptions = $.trackingOptions; + this.vdmOptions = $.vdmOptions; } public static Builder builder() { @@ -357,6 +374,27 @@ public Builder trackingOptions(ConfigurationSetTrackingOptionsArgs trackingOptio return trackingOptions(Output.of(trackingOptions)); } + /** + * @param vdmOptions An object that defines the VDM settings that apply to emails that you send using the configuration set. + * + * @return builder + * + */ + public Builder vdmOptions(@Nullable Output vdmOptions) { + $.vdmOptions = vdmOptions; + return this; + } + + /** + * @param vdmOptions An object that defines the VDM settings that apply to emails that you send using the configuration set. + * + * @return builder + * + */ + public Builder vdmOptions(ConfigurationSetVdmOptionsArgs vdmOptions) { + return vdmOptions(Output.of(vdmOptions)); + } + public ConfigurationSetState build() { return $; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/sesv2/inputs/ConfigurationSetVdmOptionsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/sesv2/inputs/ConfigurationSetVdmOptionsArgs.java new file mode 100644 index 00000000000..4d2bc743ad4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/sesv2/inputs/ConfigurationSetVdmOptionsArgs.java @@ -0,0 +1,121 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.sesv2.inputs; + +import com.pulumi.aws.sesv2.inputs.ConfigurationSetVdmOptionsDashboardOptionsArgs; +import com.pulumi.aws.sesv2.inputs.ConfigurationSetVdmOptionsGuardianOptionsArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ConfigurationSetVdmOptionsArgs extends com.pulumi.resources.ResourceArgs { + + public static final ConfigurationSetVdmOptionsArgs Empty = new ConfigurationSetVdmOptionsArgs(); + + /** + * Specifies additional settings for your VDM configuration as applicable to the Dashboard. + * + */ + @Import(name="dashboardOptions") + private @Nullable Output dashboardOptions; + + /** + * @return Specifies additional settings for your VDM configuration as applicable to the Dashboard. + * + */ + public Optional> dashboardOptions() { + return Optional.ofNullable(this.dashboardOptions); + } + + /** + * Specifies additional settings for your VDM configuration as applicable to the Guardian. + * + */ + @Import(name="guardianOptions") + private @Nullable Output guardianOptions; + + /** + * @return Specifies additional settings for your VDM configuration as applicable to the Guardian. + * + */ + public Optional> guardianOptions() { + return Optional.ofNullable(this.guardianOptions); + } + + private ConfigurationSetVdmOptionsArgs() {} + + private ConfigurationSetVdmOptionsArgs(ConfigurationSetVdmOptionsArgs $) { + this.dashboardOptions = $.dashboardOptions; + this.guardianOptions = $.guardianOptions; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ConfigurationSetVdmOptionsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ConfigurationSetVdmOptionsArgs $; + + public Builder() { + $ = new ConfigurationSetVdmOptionsArgs(); + } + + public Builder(ConfigurationSetVdmOptionsArgs defaults) { + $ = new ConfigurationSetVdmOptionsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param dashboardOptions Specifies additional settings for your VDM configuration as applicable to the Dashboard. + * + * @return builder + * + */ + public Builder dashboardOptions(@Nullable Output dashboardOptions) { + $.dashboardOptions = dashboardOptions; + return this; + } + + /** + * @param dashboardOptions Specifies additional settings for your VDM configuration as applicable to the Dashboard. + * + * @return builder + * + */ + public Builder dashboardOptions(ConfigurationSetVdmOptionsDashboardOptionsArgs dashboardOptions) { + return dashboardOptions(Output.of(dashboardOptions)); + } + + /** + * @param guardianOptions Specifies additional settings for your VDM configuration as applicable to the Guardian. + * + * @return builder + * + */ + public Builder guardianOptions(@Nullable Output guardianOptions) { + $.guardianOptions = guardianOptions; + return this; + } + + /** + * @param guardianOptions Specifies additional settings for your VDM configuration as applicable to the Guardian. + * + * @return builder + * + */ + public Builder guardianOptions(ConfigurationSetVdmOptionsGuardianOptionsArgs guardianOptions) { + return guardianOptions(Output.of(guardianOptions)); + } + + public ConfigurationSetVdmOptionsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/sesv2/inputs/ConfigurationSetVdmOptionsDashboardOptionsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/sesv2/inputs/ConfigurationSetVdmOptionsDashboardOptionsArgs.java new file mode 100644 index 00000000000..2cb69c19ac2 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/sesv2/inputs/ConfigurationSetVdmOptionsDashboardOptionsArgs.java @@ -0,0 +1,83 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.sesv2.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ConfigurationSetVdmOptionsDashboardOptionsArgs extends com.pulumi.resources.ResourceArgs { + + public static final ConfigurationSetVdmOptionsDashboardOptionsArgs Empty = new ConfigurationSetVdmOptionsDashboardOptionsArgs(); + + /** + * Specifies the status of your VDM engagement metrics collection. Valid values: `ENABLED`, `DISABLED`. + * + */ + @Import(name="engagementMetrics") + private @Nullable Output engagementMetrics; + + /** + * @return Specifies the status of your VDM engagement metrics collection. Valid values: `ENABLED`, `DISABLED`. + * + */ + public Optional> engagementMetrics() { + return Optional.ofNullable(this.engagementMetrics); + } + + private ConfigurationSetVdmOptionsDashboardOptionsArgs() {} + + private ConfigurationSetVdmOptionsDashboardOptionsArgs(ConfigurationSetVdmOptionsDashboardOptionsArgs $) { + this.engagementMetrics = $.engagementMetrics; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ConfigurationSetVdmOptionsDashboardOptionsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ConfigurationSetVdmOptionsDashboardOptionsArgs $; + + public Builder() { + $ = new ConfigurationSetVdmOptionsDashboardOptionsArgs(); + } + + public Builder(ConfigurationSetVdmOptionsDashboardOptionsArgs defaults) { + $ = new ConfigurationSetVdmOptionsDashboardOptionsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param engagementMetrics Specifies the status of your VDM engagement metrics collection. Valid values: `ENABLED`, `DISABLED`. + * + * @return builder + * + */ + public Builder engagementMetrics(@Nullable Output engagementMetrics) { + $.engagementMetrics = engagementMetrics; + return this; + } + + /** + * @param engagementMetrics Specifies the status of your VDM engagement metrics collection. Valid values: `ENABLED`, `DISABLED`. + * + * @return builder + * + */ + public Builder engagementMetrics(String engagementMetrics) { + return engagementMetrics(Output.of(engagementMetrics)); + } + + public ConfigurationSetVdmOptionsDashboardOptionsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/sesv2/inputs/ConfigurationSetVdmOptionsGuardianOptionsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/sesv2/inputs/ConfigurationSetVdmOptionsGuardianOptionsArgs.java new file mode 100644 index 00000000000..e8e2f514eb8 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/sesv2/inputs/ConfigurationSetVdmOptionsGuardianOptionsArgs.java @@ -0,0 +1,83 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.sesv2.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ConfigurationSetVdmOptionsGuardianOptionsArgs extends com.pulumi.resources.ResourceArgs { + + public static final ConfigurationSetVdmOptionsGuardianOptionsArgs Empty = new ConfigurationSetVdmOptionsGuardianOptionsArgs(); + + /** + * Specifies the status of your VDM optimized shared delivery. Valid values: `ENABLED`, `DISABLED`. + * + */ + @Import(name="optimizedSharedDelivery") + private @Nullable Output optimizedSharedDelivery; + + /** + * @return Specifies the status of your VDM optimized shared delivery. Valid values: `ENABLED`, `DISABLED`. + * + */ + public Optional> optimizedSharedDelivery() { + return Optional.ofNullable(this.optimizedSharedDelivery); + } + + private ConfigurationSetVdmOptionsGuardianOptionsArgs() {} + + private ConfigurationSetVdmOptionsGuardianOptionsArgs(ConfigurationSetVdmOptionsGuardianOptionsArgs $) { + this.optimizedSharedDelivery = $.optimizedSharedDelivery; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ConfigurationSetVdmOptionsGuardianOptionsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ConfigurationSetVdmOptionsGuardianOptionsArgs $; + + public Builder() { + $ = new ConfigurationSetVdmOptionsGuardianOptionsArgs(); + } + + public Builder(ConfigurationSetVdmOptionsGuardianOptionsArgs defaults) { + $ = new ConfigurationSetVdmOptionsGuardianOptionsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param optimizedSharedDelivery Specifies the status of your VDM optimized shared delivery. Valid values: `ENABLED`, `DISABLED`. + * + * @return builder + * + */ + public Builder optimizedSharedDelivery(@Nullable Output optimizedSharedDelivery) { + $.optimizedSharedDelivery = optimizedSharedDelivery; + return this; + } + + /** + * @param optimizedSharedDelivery Specifies the status of your VDM optimized shared delivery. Valid values: `ENABLED`, `DISABLED`. + * + * @return builder + * + */ + public Builder optimizedSharedDelivery(String optimizedSharedDelivery) { + return optimizedSharedDelivery(Output.of(optimizedSharedDelivery)); + } + + public ConfigurationSetVdmOptionsGuardianOptionsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/sesv2/outputs/ConfigurationSetVdmOptions.java b/sdk/java/src/main/java/com/pulumi/aws/sesv2/outputs/ConfigurationSetVdmOptions.java new file mode 100644 index 00000000000..43c43d0ba7f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/sesv2/outputs/ConfigurationSetVdmOptions.java @@ -0,0 +1,77 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.sesv2.outputs; + +import com.pulumi.aws.sesv2.outputs.ConfigurationSetVdmOptionsDashboardOptions; +import com.pulumi.aws.sesv2.outputs.ConfigurationSetVdmOptionsGuardianOptions; +import com.pulumi.core.annotations.CustomType; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class ConfigurationSetVdmOptions { + /** + * @return Specifies additional settings for your VDM configuration as applicable to the Dashboard. + * + */ + private @Nullable ConfigurationSetVdmOptionsDashboardOptions dashboardOptions; + /** + * @return Specifies additional settings for your VDM configuration as applicable to the Guardian. + * + */ + private @Nullable ConfigurationSetVdmOptionsGuardianOptions guardianOptions; + + private ConfigurationSetVdmOptions() {} + /** + * @return Specifies additional settings for your VDM configuration as applicable to the Dashboard. + * + */ + public Optional dashboardOptions() { + return Optional.ofNullable(this.dashboardOptions); + } + /** + * @return Specifies additional settings for your VDM configuration as applicable to the Guardian. + * + */ + public Optional guardianOptions() { + return Optional.ofNullable(this.guardianOptions); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ConfigurationSetVdmOptions defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable ConfigurationSetVdmOptionsDashboardOptions dashboardOptions; + private @Nullable ConfigurationSetVdmOptionsGuardianOptions guardianOptions; + public Builder() {} + public Builder(ConfigurationSetVdmOptions defaults) { + Objects.requireNonNull(defaults); + this.dashboardOptions = defaults.dashboardOptions; + this.guardianOptions = defaults.guardianOptions; + } + + @CustomType.Setter + public Builder dashboardOptions(@Nullable ConfigurationSetVdmOptionsDashboardOptions dashboardOptions) { + this.dashboardOptions = dashboardOptions; + return this; + } + @CustomType.Setter + public Builder guardianOptions(@Nullable ConfigurationSetVdmOptionsGuardianOptions guardianOptions) { + this.guardianOptions = guardianOptions; + return this; + } + public ConfigurationSetVdmOptions build() { + final var o = new ConfigurationSetVdmOptions(); + o.dashboardOptions = dashboardOptions; + o.guardianOptions = guardianOptions; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/sesv2/outputs/ConfigurationSetVdmOptionsDashboardOptions.java b/sdk/java/src/main/java/com/pulumi/aws/sesv2/outputs/ConfigurationSetVdmOptionsDashboardOptions.java new file mode 100644 index 00000000000..6e2a49d0e82 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/sesv2/outputs/ConfigurationSetVdmOptionsDashboardOptions.java @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.sesv2.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class ConfigurationSetVdmOptionsDashboardOptions { + /** + * @return Specifies the status of your VDM engagement metrics collection. Valid values: `ENABLED`, `DISABLED`. + * + */ + private @Nullable String engagementMetrics; + + private ConfigurationSetVdmOptionsDashboardOptions() {} + /** + * @return Specifies the status of your VDM engagement metrics collection. Valid values: `ENABLED`, `DISABLED`. + * + */ + public Optional engagementMetrics() { + return Optional.ofNullable(this.engagementMetrics); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ConfigurationSetVdmOptionsDashboardOptions defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String engagementMetrics; + public Builder() {} + public Builder(ConfigurationSetVdmOptionsDashboardOptions defaults) { + Objects.requireNonNull(defaults); + this.engagementMetrics = defaults.engagementMetrics; + } + + @CustomType.Setter + public Builder engagementMetrics(@Nullable String engagementMetrics) { + this.engagementMetrics = engagementMetrics; + return this; + } + public ConfigurationSetVdmOptionsDashboardOptions build() { + final var o = new ConfigurationSetVdmOptionsDashboardOptions(); + o.engagementMetrics = engagementMetrics; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/sesv2/outputs/ConfigurationSetVdmOptionsGuardianOptions.java b/sdk/java/src/main/java/com/pulumi/aws/sesv2/outputs/ConfigurationSetVdmOptionsGuardianOptions.java new file mode 100644 index 00000000000..968c9325eb3 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/sesv2/outputs/ConfigurationSetVdmOptionsGuardianOptions.java @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.sesv2.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class ConfigurationSetVdmOptionsGuardianOptions { + /** + * @return Specifies the status of your VDM optimized shared delivery. Valid values: `ENABLED`, `DISABLED`. + * + */ + private @Nullable String optimizedSharedDelivery; + + private ConfigurationSetVdmOptionsGuardianOptions() {} + /** + * @return Specifies the status of your VDM optimized shared delivery. Valid values: `ENABLED`, `DISABLED`. + * + */ + public Optional optimizedSharedDelivery() { + return Optional.ofNullable(this.optimizedSharedDelivery); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ConfigurationSetVdmOptionsGuardianOptions defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String optimizedSharedDelivery; + public Builder() {} + public Builder(ConfigurationSetVdmOptionsGuardianOptions defaults) { + Objects.requireNonNull(defaults); + this.optimizedSharedDelivery = defaults.optimizedSharedDelivery; + } + + @CustomType.Setter + public Builder optimizedSharedDelivery(@Nullable String optimizedSharedDelivery) { + this.optimizedSharedDelivery = optimizedSharedDelivery; + return this; + } + public ConfigurationSetVdmOptionsGuardianOptions build() { + final var o = new ConfigurationSetVdmOptionsGuardianOptions(); + o.optimizedSharedDelivery = optimizedSharedDelivery; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/transfer/Server.java b/sdk/java/src/main/java/com/pulumi/aws/transfer/Server.java index 6ea14232521..081e28e867a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/transfer/Server.java +++ b/sdk/java/src/main/java/com/pulumi/aws/transfer/Server.java @@ -7,6 +7,7 @@ import com.pulumi.aws.transfer.ServerArgs; import com.pulumi.aws.transfer.inputs.ServerState; import com.pulumi.aws.transfer.outputs.ServerEndpointDetails; +import com.pulumi.aws.transfer.outputs.ServerProtocolDetails; import com.pulumi.aws.transfer.outputs.ServerWorkflowDetails; import com.pulumi.core.Output; import com.pulumi.core.annotations.Export; @@ -361,14 +362,14 @@ public Output> function() { return Codegen.optional(this.function); } /** - * RSA private key (e.g., as generated by the `ssh-keygen -N "" -m PEM -f my-new-server-key` command). + * RSA, ECDSA, or ED25519 private key (e.g., as generated by the `ssh-keygen -t rsa -b 2048 -N "" -m PEM -f my-new-server-key`, `ssh-keygen -t ecdsa -b 256 -N "" -m PEM -f my-new-server-key` or `ssh-keygen -t ed25519 -N "" -f my-new-server-key` commands). * */ @Export(name="hostKey", refs={String.class}, tree="[0]") private Output hostKey; /** - * @return RSA private key (e.g., as generated by the `ssh-keygen -N "" -m PEM -f my-new-server-key` command). + * @return RSA, ECDSA, or ED25519 private key (e.g., as generated by the `ssh-keygen -t rsa -b 2048 -N "" -m PEM -f my-new-server-key`, `ssh-keygen -t ecdsa -b 256 -N "" -m PEM -f my-new-server-key` or `ssh-keygen -t ed25519 -N "" -f my-new-server-key` commands). * */ public Output> hostKey() { @@ -458,6 +459,20 @@ public Output> postAuthenticationLoginBanner() { public Output> preAuthenticationLoginBanner() { return Codegen.optional(this.preAuthenticationLoginBanner); } + /** + * The protocol settings that are configured for your server. + * + */ + @Export(name="protocolDetails", refs={ServerProtocolDetails.class}, tree="[0]") + private Output protocolDetails; + + /** + * @return The protocol settings that are configured for your server. + * + */ + public Output protocolDetails() { + return this.protocolDetails; + } /** * Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are: * diff --git a/sdk/java/src/main/java/com/pulumi/aws/transfer/ServerArgs.java b/sdk/java/src/main/java/com/pulumi/aws/transfer/ServerArgs.java index a1c690c31af..c7d7a874502 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/transfer/ServerArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/transfer/ServerArgs.java @@ -4,6 +4,7 @@ package com.pulumi.aws.transfer; import com.pulumi.aws.transfer.inputs.ServerEndpointDetailsArgs; +import com.pulumi.aws.transfer.inputs.ServerProtocolDetailsArgs; import com.pulumi.aws.transfer.inputs.ServerWorkflowDetailsArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; @@ -126,14 +127,14 @@ public Optional> function() { } /** - * RSA private key (e.g., as generated by the `ssh-keygen -N "" -m PEM -f my-new-server-key` command). + * RSA, ECDSA, or ED25519 private key (e.g., as generated by the `ssh-keygen -t rsa -b 2048 -N "" -m PEM -f my-new-server-key`, `ssh-keygen -t ecdsa -b 256 -N "" -m PEM -f my-new-server-key` or `ssh-keygen -t ed25519 -N "" -f my-new-server-key` commands). * */ @Import(name="hostKey") private @Nullable Output hostKey; /** - * @return RSA private key (e.g., as generated by the `ssh-keygen -N "" -m PEM -f my-new-server-key` command). + * @return RSA, ECDSA, or ED25519 private key (e.g., as generated by the `ssh-keygen -t rsa -b 2048 -N "" -m PEM -f my-new-server-key`, `ssh-keygen -t ecdsa -b 256 -N "" -m PEM -f my-new-server-key` or `ssh-keygen -t ed25519 -N "" -f my-new-server-key` commands). * */ public Optional> hostKey() { @@ -215,6 +216,21 @@ public Optional> preAuthenticationLoginBanner() { return Optional.ofNullable(this.preAuthenticationLoginBanner); } + /** + * The protocol settings that are configured for your server. + * + */ + @Import(name="protocolDetails") + private @Nullable Output protocolDetails; + + /** + * @return The protocol settings that are configured for your server. + * + */ + public Optional> protocolDetails() { + return Optional.ofNullable(this.protocolDetails); + } + /** * Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are: * @@ -306,6 +322,7 @@ private ServerArgs(ServerArgs $) { this.loggingRole = $.loggingRole; this.postAuthenticationLoginBanner = $.postAuthenticationLoginBanner; this.preAuthenticationLoginBanner = $.preAuthenticationLoginBanner; + this.protocolDetails = $.protocolDetails; this.protocols = $.protocols; this.securityPolicyName = $.securityPolicyName; this.tags = $.tags; @@ -479,7 +496,7 @@ public Builder function(String function) { } /** - * @param hostKey RSA private key (e.g., as generated by the `ssh-keygen -N "" -m PEM -f my-new-server-key` command). + * @param hostKey RSA, ECDSA, or ED25519 private key (e.g., as generated by the `ssh-keygen -t rsa -b 2048 -N "" -m PEM -f my-new-server-key`, `ssh-keygen -t ecdsa -b 256 -N "" -m PEM -f my-new-server-key` or `ssh-keygen -t ed25519 -N "" -f my-new-server-key` commands). * * @return builder * @@ -490,7 +507,7 @@ public Builder hostKey(@Nullable Output hostKey) { } /** - * @param hostKey RSA private key (e.g., as generated by the `ssh-keygen -N "" -m PEM -f my-new-server-key` command). + * @param hostKey RSA, ECDSA, or ED25519 private key (e.g., as generated by the `ssh-keygen -t rsa -b 2048 -N "" -m PEM -f my-new-server-key`, `ssh-keygen -t ecdsa -b 256 -N "" -m PEM -f my-new-server-key` or `ssh-keygen -t ed25519 -N "" -f my-new-server-key` commands). * * @return builder * @@ -604,6 +621,27 @@ public Builder preAuthenticationLoginBanner(String preAuthenticationLoginBanner) return preAuthenticationLoginBanner(Output.of(preAuthenticationLoginBanner)); } + /** + * @param protocolDetails The protocol settings that are configured for your server. + * + * @return builder + * + */ + public Builder protocolDetails(@Nullable Output protocolDetails) { + $.protocolDetails = protocolDetails; + return this; + } + + /** + * @param protocolDetails The protocol settings that are configured for your server. + * + * @return builder + * + */ + public Builder protocolDetails(ServerProtocolDetailsArgs protocolDetails) { + return protocolDetails(Output.of(protocolDetails)); + } + /** * @param protocols Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are: * diff --git a/sdk/java/src/main/java/com/pulumi/aws/transfer/inputs/ServerProtocolDetailsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/transfer/inputs/ServerProtocolDetailsArgs.java new file mode 100644 index 00000000000..d74ef00ebca --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/transfer/inputs/ServerProtocolDetailsArgs.java @@ -0,0 +1,205 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.transfer.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ServerProtocolDetailsArgs extends com.pulumi.resources.ResourceArgs { + + public static final ServerProtocolDetailsArgs Empty = new ServerProtocolDetailsArgs(); + + /** + * Indicates the transport method for the AS2 messages. Currently, only `HTTP` is supported. + * + */ + @Import(name="as2Transports") + private @Nullable Output> as2Transports; + + /** + * @return Indicates the transport method for the AS2 messages. Currently, only `HTTP` is supported. + * + */ + public Optional>> as2Transports() { + return Optional.ofNullable(this.as2Transports); + } + + /** + * Indicates passive mode, for FTP and FTPS protocols. Enter a single IPv4 address, such as the public IP address of a firewall, router, or load balancer. + * + */ + @Import(name="passiveIp") + private @Nullable Output passiveIp; + + /** + * @return Indicates passive mode, for FTP and FTPS protocols. Enter a single IPv4 address, such as the public IP address of a firewall, router, or load balancer. + * + */ + public Optional> passiveIp() { + return Optional.ofNullable(this.passiveIp); + } + + /** + * Use to ignore the error that is generated when the client attempts to use `SETSTAT` on a file you are uploading to an S3 bucket. Valid values: `DEFAULT`, `ENABLE_NO_OP`. + * + */ + @Import(name="setStatOption") + private @Nullable Output setStatOption; + + /** + * @return Use to ignore the error that is generated when the client attempts to use `SETSTAT` on a file you are uploading to an S3 bucket. Valid values: `DEFAULT`, `ENABLE_NO_OP`. + * + */ + public Optional> setStatOption() { + return Optional.ofNullable(this.setStatOption); + } + + /** + * A property used with Transfer Family servers that use the FTPS protocol. Provides a mechanism to resume or share a negotiated secret key between the control and data connection for an FTPS session. Valid values: `DISABLED`, `ENABLED`, `ENFORCED`. + * + */ + @Import(name="tlsSessionResumptionMode") + private @Nullable Output tlsSessionResumptionMode; + + /** + * @return A property used with Transfer Family servers that use the FTPS protocol. Provides a mechanism to resume or share a negotiated secret key between the control and data connection for an FTPS session. Valid values: `DISABLED`, `ENABLED`, `ENFORCED`. + * + */ + public Optional> tlsSessionResumptionMode() { + return Optional.ofNullable(this.tlsSessionResumptionMode); + } + + private ServerProtocolDetailsArgs() {} + + private ServerProtocolDetailsArgs(ServerProtocolDetailsArgs $) { + this.as2Transports = $.as2Transports; + this.passiveIp = $.passiveIp; + this.setStatOption = $.setStatOption; + this.tlsSessionResumptionMode = $.tlsSessionResumptionMode; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ServerProtocolDetailsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ServerProtocolDetailsArgs $; + + public Builder() { + $ = new ServerProtocolDetailsArgs(); + } + + public Builder(ServerProtocolDetailsArgs defaults) { + $ = new ServerProtocolDetailsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param as2Transports Indicates the transport method for the AS2 messages. Currently, only `HTTP` is supported. + * + * @return builder + * + */ + public Builder as2Transports(@Nullable Output> as2Transports) { + $.as2Transports = as2Transports; + return this; + } + + /** + * @param as2Transports Indicates the transport method for the AS2 messages. Currently, only `HTTP` is supported. + * + * @return builder + * + */ + public Builder as2Transports(List as2Transports) { + return as2Transports(Output.of(as2Transports)); + } + + /** + * @param as2Transports Indicates the transport method for the AS2 messages. Currently, only `HTTP` is supported. + * + * @return builder + * + */ + public Builder as2Transports(String... as2Transports) { + return as2Transports(List.of(as2Transports)); + } + + /** + * @param passiveIp Indicates passive mode, for FTP and FTPS protocols. Enter a single IPv4 address, such as the public IP address of a firewall, router, or load balancer. + * + * @return builder + * + */ + public Builder passiveIp(@Nullable Output passiveIp) { + $.passiveIp = passiveIp; + return this; + } + + /** + * @param passiveIp Indicates passive mode, for FTP and FTPS protocols. Enter a single IPv4 address, such as the public IP address of a firewall, router, or load balancer. + * + * @return builder + * + */ + public Builder passiveIp(String passiveIp) { + return passiveIp(Output.of(passiveIp)); + } + + /** + * @param setStatOption Use to ignore the error that is generated when the client attempts to use `SETSTAT` on a file you are uploading to an S3 bucket. Valid values: `DEFAULT`, `ENABLE_NO_OP`. + * + * @return builder + * + */ + public Builder setStatOption(@Nullable Output setStatOption) { + $.setStatOption = setStatOption; + return this; + } + + /** + * @param setStatOption Use to ignore the error that is generated when the client attempts to use `SETSTAT` on a file you are uploading to an S3 bucket. Valid values: `DEFAULT`, `ENABLE_NO_OP`. + * + * @return builder + * + */ + public Builder setStatOption(String setStatOption) { + return setStatOption(Output.of(setStatOption)); + } + + /** + * @param tlsSessionResumptionMode A property used with Transfer Family servers that use the FTPS protocol. Provides a mechanism to resume or share a negotiated secret key between the control and data connection for an FTPS session. Valid values: `DISABLED`, `ENABLED`, `ENFORCED`. + * + * @return builder + * + */ + public Builder tlsSessionResumptionMode(@Nullable Output tlsSessionResumptionMode) { + $.tlsSessionResumptionMode = tlsSessionResumptionMode; + return this; + } + + /** + * @param tlsSessionResumptionMode A property used with Transfer Family servers that use the FTPS protocol. Provides a mechanism to resume or share a negotiated secret key between the control and data connection for an FTPS session. Valid values: `DISABLED`, `ENABLED`, `ENFORCED`. + * + * @return builder + * + */ + public Builder tlsSessionResumptionMode(String tlsSessionResumptionMode) { + return tlsSessionResumptionMode(Output.of(tlsSessionResumptionMode)); + } + + public ServerProtocolDetailsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/transfer/inputs/ServerState.java b/sdk/java/src/main/java/com/pulumi/aws/transfer/inputs/ServerState.java index ee526932c46..a1a42875a12 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/transfer/inputs/ServerState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/transfer/inputs/ServerState.java @@ -4,6 +4,7 @@ package com.pulumi.aws.transfer.inputs; import com.pulumi.aws.transfer.inputs.ServerEndpointDetailsArgs; +import com.pulumi.aws.transfer.inputs.ServerProtocolDetailsArgs; import com.pulumi.aws.transfer.inputs.ServerWorkflowDetailsArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; @@ -156,14 +157,14 @@ public Optional> function() { } /** - * RSA private key (e.g., as generated by the `ssh-keygen -N "" -m PEM -f my-new-server-key` command). + * RSA, ECDSA, or ED25519 private key (e.g., as generated by the `ssh-keygen -t rsa -b 2048 -N "" -m PEM -f my-new-server-key`, `ssh-keygen -t ecdsa -b 256 -N "" -m PEM -f my-new-server-key` or `ssh-keygen -t ed25519 -N "" -f my-new-server-key` commands). * */ @Import(name="hostKey") private @Nullable Output hostKey; /** - * @return RSA private key (e.g., as generated by the `ssh-keygen -N "" -m PEM -f my-new-server-key` command). + * @return RSA, ECDSA, or ED25519 private key (e.g., as generated by the `ssh-keygen -t rsa -b 2048 -N "" -m PEM -f my-new-server-key`, `ssh-keygen -t ecdsa -b 256 -N "" -m PEM -f my-new-server-key` or `ssh-keygen -t ed25519 -N "" -f my-new-server-key` commands). * */ public Optional> hostKey() { @@ -260,6 +261,21 @@ public Optional> preAuthenticationLoginBanner() { return Optional.ofNullable(this.preAuthenticationLoginBanner); } + /** + * The protocol settings that are configured for your server. + * + */ + @Import(name="protocolDetails") + private @Nullable Output protocolDetails; + + /** + * @return The protocol settings that are configured for your server. + * + */ + public Optional> protocolDetails() { + return Optional.ofNullable(this.protocolDetails); + } + /** * Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are: * @@ -369,6 +385,7 @@ private ServerState(ServerState $) { this.loggingRole = $.loggingRole; this.postAuthenticationLoginBanner = $.postAuthenticationLoginBanner; this.preAuthenticationLoginBanner = $.preAuthenticationLoginBanner; + this.protocolDetails = $.protocolDetails; this.protocols = $.protocols; this.securityPolicyName = $.securityPolicyName; this.tags = $.tags; @@ -585,7 +602,7 @@ public Builder function(String function) { } /** - * @param hostKey RSA private key (e.g., as generated by the `ssh-keygen -N "" -m PEM -f my-new-server-key` command). + * @param hostKey RSA, ECDSA, or ED25519 private key (e.g., as generated by the `ssh-keygen -t rsa -b 2048 -N "" -m PEM -f my-new-server-key`, `ssh-keygen -t ecdsa -b 256 -N "" -m PEM -f my-new-server-key` or `ssh-keygen -t ed25519 -N "" -f my-new-server-key` commands). * * @return builder * @@ -596,7 +613,7 @@ public Builder hostKey(@Nullable Output hostKey) { } /** - * @param hostKey RSA private key (e.g., as generated by the `ssh-keygen -N "" -m PEM -f my-new-server-key` command). + * @param hostKey RSA, ECDSA, or ED25519 private key (e.g., as generated by the `ssh-keygen -t rsa -b 2048 -N "" -m PEM -f my-new-server-key`, `ssh-keygen -t ecdsa -b 256 -N "" -m PEM -f my-new-server-key` or `ssh-keygen -t ed25519 -N "" -f my-new-server-key` commands). * * @return builder * @@ -731,6 +748,27 @@ public Builder preAuthenticationLoginBanner(String preAuthenticationLoginBanner) return preAuthenticationLoginBanner(Output.of(preAuthenticationLoginBanner)); } + /** + * @param protocolDetails The protocol settings that are configured for your server. + * + * @return builder + * + */ + public Builder protocolDetails(@Nullable Output protocolDetails) { + $.protocolDetails = protocolDetails; + return this; + } + + /** + * @param protocolDetails The protocol settings that are configured for your server. + * + * @return builder + * + */ + public Builder protocolDetails(ServerProtocolDetailsArgs protocolDetails) { + return protocolDetails(Output.of(protocolDetails)); + } + /** * @param protocols Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are: * diff --git a/sdk/java/src/main/java/com/pulumi/aws/transfer/inputs/WorkflowOnExceptionStepArgs.java b/sdk/java/src/main/java/com/pulumi/aws/transfer/inputs/WorkflowOnExceptionStepArgs.java index fc7efc348f5..c96372878a5 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/transfer/inputs/WorkflowOnExceptionStepArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/transfer/inputs/WorkflowOnExceptionStepArgs.java @@ -5,6 +5,7 @@ import com.pulumi.aws.transfer.inputs.WorkflowOnExceptionStepCopyStepDetailsArgs; import com.pulumi.aws.transfer.inputs.WorkflowOnExceptionStepCustomStepDetailsArgs; +import com.pulumi.aws.transfer.inputs.WorkflowOnExceptionStepDecryptStepDetailsArgs; import com.pulumi.aws.transfer.inputs.WorkflowOnExceptionStepDeleteStepDetailsArgs; import com.pulumi.aws.transfer.inputs.WorkflowOnExceptionStepTagStepDetailsArgs; import com.pulumi.core.Output; @@ -49,6 +50,21 @@ public Optional> customStep return Optional.ofNullable(this.customStepDetails); } + /** + * Details for a step that decrypts the file. + * + */ + @Import(name="decryptStepDetails") + private @Nullable Output decryptStepDetails; + + /** + * @return Details for a step that decrypts the file. + * + */ + public Optional> decryptStepDetails() { + return Optional.ofNullable(this.decryptStepDetails); + } + /** * Details for a step that deletes the file. * @@ -80,14 +96,14 @@ public Optional> tagStepDetail } /** - * One of the following step types are supported. `COPY`, `CUSTOM`, `DELETE`, and `TAG`. + * One of the following step types are supported. `COPY`, `CUSTOM`, `DECRYPT`, `DELETE`, and `TAG`. * */ @Import(name="type", required=true) private Output type; /** - * @return One of the following step types are supported. `COPY`, `CUSTOM`, `DELETE`, and `TAG`. + * @return One of the following step types are supported. `COPY`, `CUSTOM`, `DECRYPT`, `DELETE`, and `TAG`. * */ public Output type() { @@ -99,6 +115,7 @@ private WorkflowOnExceptionStepArgs() {} private WorkflowOnExceptionStepArgs(WorkflowOnExceptionStepArgs $) { this.copyStepDetails = $.copyStepDetails; this.customStepDetails = $.customStepDetails; + this.decryptStepDetails = $.decryptStepDetails; this.deleteStepDetails = $.deleteStepDetails; this.tagStepDetails = $.tagStepDetails; this.type = $.type; @@ -164,6 +181,27 @@ public Builder customStepDetails(WorkflowOnExceptionStepCustomStepDetailsArgs cu return customStepDetails(Output.of(customStepDetails)); } + /** + * @param decryptStepDetails Details for a step that decrypts the file. + * + * @return builder + * + */ + public Builder decryptStepDetails(@Nullable Output decryptStepDetails) { + $.decryptStepDetails = decryptStepDetails; + return this; + } + + /** + * @param decryptStepDetails Details for a step that decrypts the file. + * + * @return builder + * + */ + public Builder decryptStepDetails(WorkflowOnExceptionStepDecryptStepDetailsArgs decryptStepDetails) { + return decryptStepDetails(Output.of(decryptStepDetails)); + } + /** * @param deleteStepDetails Details for a step that deletes the file. * @@ -207,7 +245,7 @@ public Builder tagStepDetails(WorkflowOnExceptionStepTagStepDetailsArgs tagStepD } /** - * @param type One of the following step types are supported. `COPY`, `CUSTOM`, `DELETE`, and `TAG`. + * @param type One of the following step types are supported. `COPY`, `CUSTOM`, `DECRYPT`, `DELETE`, and `TAG`. * * @return builder * @@ -218,7 +256,7 @@ public Builder type(Output type) { } /** - * @param type One of the following step types are supported. `COPY`, `CUSTOM`, `DELETE`, and `TAG`. + * @param type One of the following step types are supported. `COPY`, `CUSTOM`, `DECRYPT`, `DELETE`, and `TAG`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/transfer/inputs/WorkflowOnExceptionStepDecryptStepDetailsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/transfer/inputs/WorkflowOnExceptionStepDecryptStepDetailsArgs.java new file mode 100644 index 00000000000..cf36393c9b0 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/transfer/inputs/WorkflowOnExceptionStepDecryptStepDetailsArgs.java @@ -0,0 +1,233 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.transfer.inputs; + +import com.pulumi.aws.transfer.inputs.WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class WorkflowOnExceptionStepDecryptStepDetailsArgs extends com.pulumi.resources.ResourceArgs { + + public static final WorkflowOnExceptionStepDecryptStepDetailsArgs Empty = new WorkflowOnExceptionStepDecryptStepDetailsArgs(); + + /** + * Specifies the location for the file being copied. Use ${Transfer:username} in this field to parametrize the destination prefix by username. + * + */ + @Import(name="destinationFileLocation") + private @Nullable Output destinationFileLocation; + + /** + * @return Specifies the location for the file being copied. Use ${Transfer:username} in this field to parametrize the destination prefix by username. + * + */ + public Optional> destinationFileLocation() { + return Optional.ofNullable(this.destinationFileLocation); + } + + /** + * The name of the step, used as an identifier. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return The name of the step, used as an identifier. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * A flag that indicates whether or not to overwrite an existing file of the same name. The default is `FALSE`. Valid values are `TRUE` and `FALSE`. + * + */ + @Import(name="overwriteExisting") + private @Nullable Output overwriteExisting; + + /** + * @return A flag that indicates whether or not to overwrite an existing file of the same name. The default is `FALSE`. Valid values are `TRUE` and `FALSE`. + * + */ + public Optional> overwriteExisting() { + return Optional.ofNullable(this.overwriteExisting); + } + + /** + * Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. + * + */ + @Import(name="sourceFileLocation") + private @Nullable Output sourceFileLocation; + + /** + * @return Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. + * + */ + public Optional> sourceFileLocation() { + return Optional.ofNullable(this.sourceFileLocation); + } + + /** + * The type of encryption used. Currently, this value must be `"PGP"`. + * + */ + @Import(name="type", required=true) + private Output type; + + /** + * @return The type of encryption used. Currently, this value must be `"PGP"`. + * + */ + public Output type() { + return this.type; + } + + private WorkflowOnExceptionStepDecryptStepDetailsArgs() {} + + private WorkflowOnExceptionStepDecryptStepDetailsArgs(WorkflowOnExceptionStepDecryptStepDetailsArgs $) { + this.destinationFileLocation = $.destinationFileLocation; + this.name = $.name; + this.overwriteExisting = $.overwriteExisting; + this.sourceFileLocation = $.sourceFileLocation; + this.type = $.type; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(WorkflowOnExceptionStepDecryptStepDetailsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private WorkflowOnExceptionStepDecryptStepDetailsArgs $; + + public Builder() { + $ = new WorkflowOnExceptionStepDecryptStepDetailsArgs(); + } + + public Builder(WorkflowOnExceptionStepDecryptStepDetailsArgs defaults) { + $ = new WorkflowOnExceptionStepDecryptStepDetailsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param destinationFileLocation Specifies the location for the file being copied. Use ${Transfer:username} in this field to parametrize the destination prefix by username. + * + * @return builder + * + */ + public Builder destinationFileLocation(@Nullable Output destinationFileLocation) { + $.destinationFileLocation = destinationFileLocation; + return this; + } + + /** + * @param destinationFileLocation Specifies the location for the file being copied. Use ${Transfer:username} in this field to parametrize the destination prefix by username. + * + * @return builder + * + */ + public Builder destinationFileLocation(WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationArgs destinationFileLocation) { + return destinationFileLocation(Output.of(destinationFileLocation)); + } + + /** + * @param name The name of the step, used as an identifier. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name The name of the step, used as an identifier. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param overwriteExisting A flag that indicates whether or not to overwrite an existing file of the same name. The default is `FALSE`. Valid values are `TRUE` and `FALSE`. + * + * @return builder + * + */ + public Builder overwriteExisting(@Nullable Output overwriteExisting) { + $.overwriteExisting = overwriteExisting; + return this; + } + + /** + * @param overwriteExisting A flag that indicates whether or not to overwrite an existing file of the same name. The default is `FALSE`. Valid values are `TRUE` and `FALSE`. + * + * @return builder + * + */ + public Builder overwriteExisting(String overwriteExisting) { + return overwriteExisting(Output.of(overwriteExisting)); + } + + /** + * @param sourceFileLocation Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. + * + * @return builder + * + */ + public Builder sourceFileLocation(@Nullable Output sourceFileLocation) { + $.sourceFileLocation = sourceFileLocation; + return this; + } + + /** + * @param sourceFileLocation Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. + * + * @return builder + * + */ + public Builder sourceFileLocation(String sourceFileLocation) { + return sourceFileLocation(Output.of(sourceFileLocation)); + } + + /** + * @param type The type of encryption used. Currently, this value must be `"PGP"`. + * + * @return builder + * + */ + public Builder type(Output type) { + $.type = type; + return this; + } + + /** + * @param type The type of encryption used. Currently, this value must be `"PGP"`. + * + * @return builder + * + */ + public Builder type(String type) { + return type(Output.of(type)); + } + + public WorkflowOnExceptionStepDecryptStepDetailsArgs build() { + $.type = Objects.requireNonNull($.type, "expected parameter 'type' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/transfer/inputs/WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/transfer/inputs/WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationArgs.java new file mode 100644 index 00000000000..dbb1df59441 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/transfer/inputs/WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationArgs.java @@ -0,0 +1,121 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.transfer.inputs; + +import com.pulumi.aws.transfer.inputs.WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs; +import com.pulumi.aws.transfer.inputs.WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationArgs extends com.pulumi.resources.ResourceArgs { + + public static final WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationArgs Empty = new WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationArgs(); + + /** + * Specifies the details for the EFS file being copied. + * + */ + @Import(name="efsFileLocation") + private @Nullable Output efsFileLocation; + + /** + * @return Specifies the details for the EFS file being copied. + * + */ + public Optional> efsFileLocation() { + return Optional.ofNullable(this.efsFileLocation); + } + + /** + * Specifies the details for the S3 file being copied. + * + */ + @Import(name="s3FileLocation") + private @Nullable Output s3FileLocation; + + /** + * @return Specifies the details for the S3 file being copied. + * + */ + public Optional> s3FileLocation() { + return Optional.ofNullable(this.s3FileLocation); + } + + private WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationArgs() {} + + private WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationArgs(WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationArgs $) { + this.efsFileLocation = $.efsFileLocation; + this.s3FileLocation = $.s3FileLocation; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationArgs $; + + public Builder() { + $ = new WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationArgs(); + } + + public Builder(WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationArgs defaults) { + $ = new WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param efsFileLocation Specifies the details for the EFS file being copied. + * + * @return builder + * + */ + public Builder efsFileLocation(@Nullable Output efsFileLocation) { + $.efsFileLocation = efsFileLocation; + return this; + } + + /** + * @param efsFileLocation Specifies the details for the EFS file being copied. + * + * @return builder + * + */ + public Builder efsFileLocation(WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs efsFileLocation) { + return efsFileLocation(Output.of(efsFileLocation)); + } + + /** + * @param s3FileLocation Specifies the details for the S3 file being copied. + * + * @return builder + * + */ + public Builder s3FileLocation(@Nullable Output s3FileLocation) { + $.s3FileLocation = s3FileLocation; + return this; + } + + /** + * @param s3FileLocation Specifies the details for the S3 file being copied. + * + * @return builder + * + */ + public Builder s3FileLocation(WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs s3FileLocation) { + return s3FileLocation(Output.of(s3FileLocation)); + } + + public WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/transfer/inputs/WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/transfer/inputs/WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs.java new file mode 100644 index 00000000000..c2d281bac9b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/transfer/inputs/WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs.java @@ -0,0 +1,120 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.transfer.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs extends com.pulumi.resources.ResourceArgs { + + public static final WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs Empty = new WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs(); + + /** + * The ID of the file system, assigned by Amazon EFS. + * + */ + @Import(name="fileSystemId") + private @Nullable Output fileSystemId; + + /** + * @return The ID of the file system, assigned by Amazon EFS. + * + */ + public Optional> fileSystemId() { + return Optional.ofNullable(this.fileSystemId); + } + + /** + * The pathname for the folder being used by a workflow. + * + */ + @Import(name="path") + private @Nullable Output path; + + /** + * @return The pathname for the folder being used by a workflow. + * + */ + public Optional> path() { + return Optional.ofNullable(this.path); + } + + private WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs() {} + + private WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs(WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs $) { + this.fileSystemId = $.fileSystemId; + this.path = $.path; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs $; + + public Builder() { + $ = new WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs(); + } + + public Builder(WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs defaults) { + $ = new WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param fileSystemId The ID of the file system, assigned by Amazon EFS. + * + * @return builder + * + */ + public Builder fileSystemId(@Nullable Output fileSystemId) { + $.fileSystemId = fileSystemId; + return this; + } + + /** + * @param fileSystemId The ID of the file system, assigned by Amazon EFS. + * + * @return builder + * + */ + public Builder fileSystemId(String fileSystemId) { + return fileSystemId(Output.of(fileSystemId)); + } + + /** + * @param path The pathname for the folder being used by a workflow. + * + * @return builder + * + */ + public Builder path(@Nullable Output path) { + $.path = path; + return this; + } + + /** + * @param path The pathname for the folder being used by a workflow. + * + * @return builder + * + */ + public Builder path(String path) { + return path(Output.of(path)); + } + + public WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/transfer/inputs/WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/transfer/inputs/WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs.java new file mode 100644 index 00000000000..d405c9260aa --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/transfer/inputs/WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs.java @@ -0,0 +1,120 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.transfer.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs extends com.pulumi.resources.ResourceArgs { + + public static final WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs Empty = new WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs(); + + /** + * Specifies the S3 bucket for the customer input file. + * + */ + @Import(name="bucket") + private @Nullable Output bucket; + + /** + * @return Specifies the S3 bucket for the customer input file. + * + */ + public Optional> bucket() { + return Optional.ofNullable(this.bucket); + } + + /** + * The name assigned to the file when it was created in S3. You use the object key to retrieve the object. + * + */ + @Import(name="key") + private @Nullable Output key; + + /** + * @return The name assigned to the file when it was created in S3. You use the object key to retrieve the object. + * + */ + public Optional> key() { + return Optional.ofNullable(this.key); + } + + private WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs() {} + + private WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs(WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs $) { + this.bucket = $.bucket; + this.key = $.key; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs $; + + public Builder() { + $ = new WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs(); + } + + public Builder(WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs defaults) { + $ = new WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param bucket Specifies the S3 bucket for the customer input file. + * + * @return builder + * + */ + public Builder bucket(@Nullable Output bucket) { + $.bucket = bucket; + return this; + } + + /** + * @param bucket Specifies the S3 bucket for the customer input file. + * + * @return builder + * + */ + public Builder bucket(String bucket) { + return bucket(Output.of(bucket)); + } + + /** + * @param key The name assigned to the file when it was created in S3. You use the object key to retrieve the object. + * + * @return builder + * + */ + public Builder key(@Nullable Output key) { + $.key = key; + return this; + } + + /** + * @param key The name assigned to the file when it was created in S3. You use the object key to retrieve the object. + * + * @return builder + * + */ + public Builder key(String key) { + return key(Output.of(key)); + } + + public WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/transfer/inputs/WorkflowStepArgs.java b/sdk/java/src/main/java/com/pulumi/aws/transfer/inputs/WorkflowStepArgs.java index e226f218e4a..a65fea10d9d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/transfer/inputs/WorkflowStepArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/transfer/inputs/WorkflowStepArgs.java @@ -5,6 +5,7 @@ import com.pulumi.aws.transfer.inputs.WorkflowStepCopyStepDetailsArgs; import com.pulumi.aws.transfer.inputs.WorkflowStepCustomStepDetailsArgs; +import com.pulumi.aws.transfer.inputs.WorkflowStepDecryptStepDetailsArgs; import com.pulumi.aws.transfer.inputs.WorkflowStepDeleteStepDetailsArgs; import com.pulumi.aws.transfer.inputs.WorkflowStepTagStepDetailsArgs; import com.pulumi.core.Output; @@ -49,6 +50,21 @@ public Optional> customStepDetails() { return Optional.ofNullable(this.customStepDetails); } + /** + * Details for a step that decrypts the file. + * + */ + @Import(name="decryptStepDetails") + private @Nullable Output decryptStepDetails; + + /** + * @return Details for a step that decrypts the file. + * + */ + public Optional> decryptStepDetails() { + return Optional.ofNullable(this.decryptStepDetails); + } + /** * Details for a step that deletes the file. * @@ -80,14 +96,14 @@ public Optional> tagStepDetails() { } /** - * One of the following step types are supported. `COPY`, `CUSTOM`, `DELETE`, and `TAG`. + * One of the following step types are supported. `COPY`, `CUSTOM`, `DECRYPT`, `DELETE`, and `TAG`. * */ @Import(name="type", required=true) private Output type; /** - * @return One of the following step types are supported. `COPY`, `CUSTOM`, `DELETE`, and `TAG`. + * @return One of the following step types are supported. `COPY`, `CUSTOM`, `DECRYPT`, `DELETE`, and `TAG`. * */ public Output type() { @@ -99,6 +115,7 @@ private WorkflowStepArgs() {} private WorkflowStepArgs(WorkflowStepArgs $) { this.copyStepDetails = $.copyStepDetails; this.customStepDetails = $.customStepDetails; + this.decryptStepDetails = $.decryptStepDetails; this.deleteStepDetails = $.deleteStepDetails; this.tagStepDetails = $.tagStepDetails; this.type = $.type; @@ -164,6 +181,27 @@ public Builder customStepDetails(WorkflowStepCustomStepDetailsArgs customStepDet return customStepDetails(Output.of(customStepDetails)); } + /** + * @param decryptStepDetails Details for a step that decrypts the file. + * + * @return builder + * + */ + public Builder decryptStepDetails(@Nullable Output decryptStepDetails) { + $.decryptStepDetails = decryptStepDetails; + return this; + } + + /** + * @param decryptStepDetails Details for a step that decrypts the file. + * + * @return builder + * + */ + public Builder decryptStepDetails(WorkflowStepDecryptStepDetailsArgs decryptStepDetails) { + return decryptStepDetails(Output.of(decryptStepDetails)); + } + /** * @param deleteStepDetails Details for a step that deletes the file. * @@ -207,7 +245,7 @@ public Builder tagStepDetails(WorkflowStepTagStepDetailsArgs tagStepDetails) { } /** - * @param type One of the following step types are supported. `COPY`, `CUSTOM`, `DELETE`, and `TAG`. + * @param type One of the following step types are supported. `COPY`, `CUSTOM`, `DECRYPT`, `DELETE`, and `TAG`. * * @return builder * @@ -218,7 +256,7 @@ public Builder type(Output type) { } /** - * @param type One of the following step types are supported. `COPY`, `CUSTOM`, `DELETE`, and `TAG`. + * @param type One of the following step types are supported. `COPY`, `CUSTOM`, `DECRYPT`, `DELETE`, and `TAG`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/transfer/inputs/WorkflowStepDecryptStepDetailsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/transfer/inputs/WorkflowStepDecryptStepDetailsArgs.java new file mode 100644 index 00000000000..99e2c1ef674 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/transfer/inputs/WorkflowStepDecryptStepDetailsArgs.java @@ -0,0 +1,233 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.transfer.inputs; + +import com.pulumi.aws.transfer.inputs.WorkflowStepDecryptStepDetailsDestinationFileLocationArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class WorkflowStepDecryptStepDetailsArgs extends com.pulumi.resources.ResourceArgs { + + public static final WorkflowStepDecryptStepDetailsArgs Empty = new WorkflowStepDecryptStepDetailsArgs(); + + /** + * Specifies the location for the file being copied. Use ${Transfer:username} in this field to parametrize the destination prefix by username. + * + */ + @Import(name="destinationFileLocation") + private @Nullable Output destinationFileLocation; + + /** + * @return Specifies the location for the file being copied. Use ${Transfer:username} in this field to parametrize the destination prefix by username. + * + */ + public Optional> destinationFileLocation() { + return Optional.ofNullable(this.destinationFileLocation); + } + + /** + * The name of the step, used as an identifier. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return The name of the step, used as an identifier. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * A flag that indicates whether or not to overwrite an existing file of the same name. The default is `FALSE`. Valid values are `TRUE` and `FALSE`. + * + */ + @Import(name="overwriteExisting") + private @Nullable Output overwriteExisting; + + /** + * @return A flag that indicates whether or not to overwrite an existing file of the same name. The default is `FALSE`. Valid values are `TRUE` and `FALSE`. + * + */ + public Optional> overwriteExisting() { + return Optional.ofNullable(this.overwriteExisting); + } + + /** + * Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. + * + */ + @Import(name="sourceFileLocation") + private @Nullable Output sourceFileLocation; + + /** + * @return Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. + * + */ + public Optional> sourceFileLocation() { + return Optional.ofNullable(this.sourceFileLocation); + } + + /** + * The type of encryption used. Currently, this value must be `"PGP"`. + * + */ + @Import(name="type", required=true) + private Output type; + + /** + * @return The type of encryption used. Currently, this value must be `"PGP"`. + * + */ + public Output type() { + return this.type; + } + + private WorkflowStepDecryptStepDetailsArgs() {} + + private WorkflowStepDecryptStepDetailsArgs(WorkflowStepDecryptStepDetailsArgs $) { + this.destinationFileLocation = $.destinationFileLocation; + this.name = $.name; + this.overwriteExisting = $.overwriteExisting; + this.sourceFileLocation = $.sourceFileLocation; + this.type = $.type; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(WorkflowStepDecryptStepDetailsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private WorkflowStepDecryptStepDetailsArgs $; + + public Builder() { + $ = new WorkflowStepDecryptStepDetailsArgs(); + } + + public Builder(WorkflowStepDecryptStepDetailsArgs defaults) { + $ = new WorkflowStepDecryptStepDetailsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param destinationFileLocation Specifies the location for the file being copied. Use ${Transfer:username} in this field to parametrize the destination prefix by username. + * + * @return builder + * + */ + public Builder destinationFileLocation(@Nullable Output destinationFileLocation) { + $.destinationFileLocation = destinationFileLocation; + return this; + } + + /** + * @param destinationFileLocation Specifies the location for the file being copied. Use ${Transfer:username} in this field to parametrize the destination prefix by username. + * + * @return builder + * + */ + public Builder destinationFileLocation(WorkflowStepDecryptStepDetailsDestinationFileLocationArgs destinationFileLocation) { + return destinationFileLocation(Output.of(destinationFileLocation)); + } + + /** + * @param name The name of the step, used as an identifier. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name The name of the step, used as an identifier. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param overwriteExisting A flag that indicates whether or not to overwrite an existing file of the same name. The default is `FALSE`. Valid values are `TRUE` and `FALSE`. + * + * @return builder + * + */ + public Builder overwriteExisting(@Nullable Output overwriteExisting) { + $.overwriteExisting = overwriteExisting; + return this; + } + + /** + * @param overwriteExisting A flag that indicates whether or not to overwrite an existing file of the same name. The default is `FALSE`. Valid values are `TRUE` and `FALSE`. + * + * @return builder + * + */ + public Builder overwriteExisting(String overwriteExisting) { + return overwriteExisting(Output.of(overwriteExisting)); + } + + /** + * @param sourceFileLocation Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. + * + * @return builder + * + */ + public Builder sourceFileLocation(@Nullable Output sourceFileLocation) { + $.sourceFileLocation = sourceFileLocation; + return this; + } + + /** + * @param sourceFileLocation Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. + * + * @return builder + * + */ + public Builder sourceFileLocation(String sourceFileLocation) { + return sourceFileLocation(Output.of(sourceFileLocation)); + } + + /** + * @param type The type of encryption used. Currently, this value must be `"PGP"`. + * + * @return builder + * + */ + public Builder type(Output type) { + $.type = type; + return this; + } + + /** + * @param type The type of encryption used. Currently, this value must be `"PGP"`. + * + * @return builder + * + */ + public Builder type(String type) { + return type(Output.of(type)); + } + + public WorkflowStepDecryptStepDetailsArgs build() { + $.type = Objects.requireNonNull($.type, "expected parameter 'type' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/transfer/inputs/WorkflowStepDecryptStepDetailsDestinationFileLocationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/transfer/inputs/WorkflowStepDecryptStepDetailsDestinationFileLocationArgs.java new file mode 100644 index 00000000000..2ece1355c3a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/transfer/inputs/WorkflowStepDecryptStepDetailsDestinationFileLocationArgs.java @@ -0,0 +1,121 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.transfer.inputs; + +import com.pulumi.aws.transfer.inputs.WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs; +import com.pulumi.aws.transfer.inputs.WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class WorkflowStepDecryptStepDetailsDestinationFileLocationArgs extends com.pulumi.resources.ResourceArgs { + + public static final WorkflowStepDecryptStepDetailsDestinationFileLocationArgs Empty = new WorkflowStepDecryptStepDetailsDestinationFileLocationArgs(); + + /** + * Specifies the details for the EFS file being copied. + * + */ + @Import(name="efsFileLocation") + private @Nullable Output efsFileLocation; + + /** + * @return Specifies the details for the EFS file being copied. + * + */ + public Optional> efsFileLocation() { + return Optional.ofNullable(this.efsFileLocation); + } + + /** + * Specifies the details for the S3 file being copied. + * + */ + @Import(name="s3FileLocation") + private @Nullable Output s3FileLocation; + + /** + * @return Specifies the details for the S3 file being copied. + * + */ + public Optional> s3FileLocation() { + return Optional.ofNullable(this.s3FileLocation); + } + + private WorkflowStepDecryptStepDetailsDestinationFileLocationArgs() {} + + private WorkflowStepDecryptStepDetailsDestinationFileLocationArgs(WorkflowStepDecryptStepDetailsDestinationFileLocationArgs $) { + this.efsFileLocation = $.efsFileLocation; + this.s3FileLocation = $.s3FileLocation; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(WorkflowStepDecryptStepDetailsDestinationFileLocationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private WorkflowStepDecryptStepDetailsDestinationFileLocationArgs $; + + public Builder() { + $ = new WorkflowStepDecryptStepDetailsDestinationFileLocationArgs(); + } + + public Builder(WorkflowStepDecryptStepDetailsDestinationFileLocationArgs defaults) { + $ = new WorkflowStepDecryptStepDetailsDestinationFileLocationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param efsFileLocation Specifies the details for the EFS file being copied. + * + * @return builder + * + */ + public Builder efsFileLocation(@Nullable Output efsFileLocation) { + $.efsFileLocation = efsFileLocation; + return this; + } + + /** + * @param efsFileLocation Specifies the details for the EFS file being copied. + * + * @return builder + * + */ + public Builder efsFileLocation(WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs efsFileLocation) { + return efsFileLocation(Output.of(efsFileLocation)); + } + + /** + * @param s3FileLocation Specifies the details for the S3 file being copied. + * + * @return builder + * + */ + public Builder s3FileLocation(@Nullable Output s3FileLocation) { + $.s3FileLocation = s3FileLocation; + return this; + } + + /** + * @param s3FileLocation Specifies the details for the S3 file being copied. + * + * @return builder + * + */ + public Builder s3FileLocation(WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs s3FileLocation) { + return s3FileLocation(Output.of(s3FileLocation)); + } + + public WorkflowStepDecryptStepDetailsDestinationFileLocationArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/transfer/inputs/WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/transfer/inputs/WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs.java new file mode 100644 index 00000000000..fba300a1457 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/transfer/inputs/WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs.java @@ -0,0 +1,120 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.transfer.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs extends com.pulumi.resources.ResourceArgs { + + public static final WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs Empty = new WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs(); + + /** + * The ID of the file system, assigned by Amazon EFS. + * + */ + @Import(name="fileSystemId") + private @Nullable Output fileSystemId; + + /** + * @return The ID of the file system, assigned by Amazon EFS. + * + */ + public Optional> fileSystemId() { + return Optional.ofNullable(this.fileSystemId); + } + + /** + * The pathname for the folder being used by a workflow. + * + */ + @Import(name="path") + private @Nullable Output path; + + /** + * @return The pathname for the folder being used by a workflow. + * + */ + public Optional> path() { + return Optional.ofNullable(this.path); + } + + private WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs() {} + + private WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs(WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs $) { + this.fileSystemId = $.fileSystemId; + this.path = $.path; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs $; + + public Builder() { + $ = new WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs(); + } + + public Builder(WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs defaults) { + $ = new WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param fileSystemId The ID of the file system, assigned by Amazon EFS. + * + * @return builder + * + */ + public Builder fileSystemId(@Nullable Output fileSystemId) { + $.fileSystemId = fileSystemId; + return this; + } + + /** + * @param fileSystemId The ID of the file system, assigned by Amazon EFS. + * + * @return builder + * + */ + public Builder fileSystemId(String fileSystemId) { + return fileSystemId(Output.of(fileSystemId)); + } + + /** + * @param path The pathname for the folder being used by a workflow. + * + * @return builder + * + */ + public Builder path(@Nullable Output path) { + $.path = path; + return this; + } + + /** + * @param path The pathname for the folder being used by a workflow. + * + * @return builder + * + */ + public Builder path(String path) { + return path(Output.of(path)); + } + + public WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/transfer/inputs/WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/transfer/inputs/WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs.java new file mode 100644 index 00000000000..039408d092e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/transfer/inputs/WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs.java @@ -0,0 +1,120 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.transfer.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs extends com.pulumi.resources.ResourceArgs { + + public static final WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs Empty = new WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs(); + + /** + * Specifies the S3 bucket for the customer input file. + * + */ + @Import(name="bucket") + private @Nullable Output bucket; + + /** + * @return Specifies the S3 bucket for the customer input file. + * + */ + public Optional> bucket() { + return Optional.ofNullable(this.bucket); + } + + /** + * The name assigned to the file when it was created in S3. You use the object key to retrieve the object. + * + */ + @Import(name="key") + private @Nullable Output key; + + /** + * @return The name assigned to the file when it was created in S3. You use the object key to retrieve the object. + * + */ + public Optional> key() { + return Optional.ofNullable(this.key); + } + + private WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs() {} + + private WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs(WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs $) { + this.bucket = $.bucket; + this.key = $.key; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs $; + + public Builder() { + $ = new WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs(); + } + + public Builder(WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs defaults) { + $ = new WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param bucket Specifies the S3 bucket for the customer input file. + * + * @return builder + * + */ + public Builder bucket(@Nullable Output bucket) { + $.bucket = bucket; + return this; + } + + /** + * @param bucket Specifies the S3 bucket for the customer input file. + * + * @return builder + * + */ + public Builder bucket(String bucket) { + return bucket(Output.of(bucket)); + } + + /** + * @param key The name assigned to the file when it was created in S3. You use the object key to retrieve the object. + * + * @return builder + * + */ + public Builder key(@Nullable Output key) { + $.key = key; + return this; + } + + /** + * @param key The name assigned to the file when it was created in S3. You use the object key to retrieve the object. + * + * @return builder + * + */ + public Builder key(String key) { + return key(Output.of(key)); + } + + public WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/transfer/outputs/ServerProtocolDetails.java b/sdk/java/src/main/java/com/pulumi/aws/transfer/outputs/ServerProtocolDetails.java new file mode 100644 index 00000000000..6bfe79a5f5b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/transfer/outputs/ServerProtocolDetails.java @@ -0,0 +1,120 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.transfer.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class ServerProtocolDetails { + /** + * @return Indicates the transport method for the AS2 messages. Currently, only `HTTP` is supported. + * + */ + private @Nullable List as2Transports; + /** + * @return Indicates passive mode, for FTP and FTPS protocols. Enter a single IPv4 address, such as the public IP address of a firewall, router, or load balancer. + * + */ + private @Nullable String passiveIp; + /** + * @return Use to ignore the error that is generated when the client attempts to use `SETSTAT` on a file you are uploading to an S3 bucket. Valid values: `DEFAULT`, `ENABLE_NO_OP`. + * + */ + private @Nullable String setStatOption; + /** + * @return A property used with Transfer Family servers that use the FTPS protocol. Provides a mechanism to resume or share a negotiated secret key between the control and data connection for an FTPS session. Valid values: `DISABLED`, `ENABLED`, `ENFORCED`. + * + */ + private @Nullable String tlsSessionResumptionMode; + + private ServerProtocolDetails() {} + /** + * @return Indicates the transport method for the AS2 messages. Currently, only `HTTP` is supported. + * + */ + public List as2Transports() { + return this.as2Transports == null ? List.of() : this.as2Transports; + } + /** + * @return Indicates passive mode, for FTP and FTPS protocols. Enter a single IPv4 address, such as the public IP address of a firewall, router, or load balancer. + * + */ + public Optional passiveIp() { + return Optional.ofNullable(this.passiveIp); + } + /** + * @return Use to ignore the error that is generated when the client attempts to use `SETSTAT` on a file you are uploading to an S3 bucket. Valid values: `DEFAULT`, `ENABLE_NO_OP`. + * + */ + public Optional setStatOption() { + return Optional.ofNullable(this.setStatOption); + } + /** + * @return A property used with Transfer Family servers that use the FTPS protocol. Provides a mechanism to resume or share a negotiated secret key between the control and data connection for an FTPS session. Valid values: `DISABLED`, `ENABLED`, `ENFORCED`. + * + */ + public Optional tlsSessionResumptionMode() { + return Optional.ofNullable(this.tlsSessionResumptionMode); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ServerProtocolDetails defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List as2Transports; + private @Nullable String passiveIp; + private @Nullable String setStatOption; + private @Nullable String tlsSessionResumptionMode; + public Builder() {} + public Builder(ServerProtocolDetails defaults) { + Objects.requireNonNull(defaults); + this.as2Transports = defaults.as2Transports; + this.passiveIp = defaults.passiveIp; + this.setStatOption = defaults.setStatOption; + this.tlsSessionResumptionMode = defaults.tlsSessionResumptionMode; + } + + @CustomType.Setter + public Builder as2Transports(@Nullable List as2Transports) { + this.as2Transports = as2Transports; + return this; + } + public Builder as2Transports(String... as2Transports) { + return as2Transports(List.of(as2Transports)); + } + @CustomType.Setter + public Builder passiveIp(@Nullable String passiveIp) { + this.passiveIp = passiveIp; + return this; + } + @CustomType.Setter + public Builder setStatOption(@Nullable String setStatOption) { + this.setStatOption = setStatOption; + return this; + } + @CustomType.Setter + public Builder tlsSessionResumptionMode(@Nullable String tlsSessionResumptionMode) { + this.tlsSessionResumptionMode = tlsSessionResumptionMode; + return this; + } + public ServerProtocolDetails build() { + final var o = new ServerProtocolDetails(); + o.as2Transports = as2Transports; + o.passiveIp = passiveIp; + o.setStatOption = setStatOption; + o.tlsSessionResumptionMode = tlsSessionResumptionMode; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/transfer/outputs/WorkflowOnExceptionStep.java b/sdk/java/src/main/java/com/pulumi/aws/transfer/outputs/WorkflowOnExceptionStep.java index 3ecc708fa73..ed72c38be67 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/transfer/outputs/WorkflowOnExceptionStep.java +++ b/sdk/java/src/main/java/com/pulumi/aws/transfer/outputs/WorkflowOnExceptionStep.java @@ -5,6 +5,7 @@ import com.pulumi.aws.transfer.outputs.WorkflowOnExceptionStepCopyStepDetails; import com.pulumi.aws.transfer.outputs.WorkflowOnExceptionStepCustomStepDetails; +import com.pulumi.aws.transfer.outputs.WorkflowOnExceptionStepDecryptStepDetails; import com.pulumi.aws.transfer.outputs.WorkflowOnExceptionStepDeleteStepDetails; import com.pulumi.aws.transfer.outputs.WorkflowOnExceptionStepTagStepDetails; import com.pulumi.core.annotations.CustomType; @@ -25,6 +26,11 @@ public final class WorkflowOnExceptionStep { * */ private @Nullable WorkflowOnExceptionStepCustomStepDetails customStepDetails; + /** + * @return Details for a step that decrypts the file. + * + */ + private @Nullable WorkflowOnExceptionStepDecryptStepDetails decryptStepDetails; /** * @return Details for a step that deletes the file. * @@ -36,7 +42,7 @@ public final class WorkflowOnExceptionStep { */ private @Nullable WorkflowOnExceptionStepTagStepDetails tagStepDetails; /** - * @return One of the following step types are supported. `COPY`, `CUSTOM`, `DELETE`, and `TAG`. + * @return One of the following step types are supported. `COPY`, `CUSTOM`, `DECRYPT`, `DELETE`, and `TAG`. * */ private String type; @@ -56,6 +62,13 @@ public Optional copyStepDetails() { public Optional customStepDetails() { return Optional.ofNullable(this.customStepDetails); } + /** + * @return Details for a step that decrypts the file. + * + */ + public Optional decryptStepDetails() { + return Optional.ofNullable(this.decryptStepDetails); + } /** * @return Details for a step that deletes the file. * @@ -71,7 +84,7 @@ public Optional tagStepDetails() { return Optional.ofNullable(this.tagStepDetails); } /** - * @return One of the following step types are supported. `COPY`, `CUSTOM`, `DELETE`, and `TAG`. + * @return One of the following step types are supported. `COPY`, `CUSTOM`, `DECRYPT`, `DELETE`, and `TAG`. * */ public String type() { @@ -89,6 +102,7 @@ public static Builder builder(WorkflowOnExceptionStep defaults) { public static final class Builder { private @Nullable WorkflowOnExceptionStepCopyStepDetails copyStepDetails; private @Nullable WorkflowOnExceptionStepCustomStepDetails customStepDetails; + private @Nullable WorkflowOnExceptionStepDecryptStepDetails decryptStepDetails; private @Nullable WorkflowOnExceptionStepDeleteStepDetails deleteStepDetails; private @Nullable WorkflowOnExceptionStepTagStepDetails tagStepDetails; private String type; @@ -97,6 +111,7 @@ public Builder(WorkflowOnExceptionStep defaults) { Objects.requireNonNull(defaults); this.copyStepDetails = defaults.copyStepDetails; this.customStepDetails = defaults.customStepDetails; + this.decryptStepDetails = defaults.decryptStepDetails; this.deleteStepDetails = defaults.deleteStepDetails; this.tagStepDetails = defaults.tagStepDetails; this.type = defaults.type; @@ -113,6 +128,11 @@ public Builder customStepDetails(@Nullable WorkflowOnExceptionStepCustomStepDeta return this; } @CustomType.Setter + public Builder decryptStepDetails(@Nullable WorkflowOnExceptionStepDecryptStepDetails decryptStepDetails) { + this.decryptStepDetails = decryptStepDetails; + return this; + } + @CustomType.Setter public Builder deleteStepDetails(@Nullable WorkflowOnExceptionStepDeleteStepDetails deleteStepDetails) { this.deleteStepDetails = deleteStepDetails; return this; @@ -131,6 +151,7 @@ public WorkflowOnExceptionStep build() { final var o = new WorkflowOnExceptionStep(); o.copyStepDetails = copyStepDetails; o.customStepDetails = customStepDetails; + o.decryptStepDetails = decryptStepDetails; o.deleteStepDetails = deleteStepDetails; o.tagStepDetails = tagStepDetails; o.type = type; diff --git a/sdk/java/src/main/java/com/pulumi/aws/transfer/outputs/WorkflowOnExceptionStepDecryptStepDetails.java b/sdk/java/src/main/java/com/pulumi/aws/transfer/outputs/WorkflowOnExceptionStepDecryptStepDetails.java new file mode 100644 index 00000000000..d3bde3902d1 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/transfer/outputs/WorkflowOnExceptionStepDecryptStepDetails.java @@ -0,0 +1,137 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.transfer.outputs; + +import com.pulumi.aws.transfer.outputs.WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocation; +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class WorkflowOnExceptionStepDecryptStepDetails { + /** + * @return Specifies the location for the file being copied. Use ${Transfer:username} in this field to parametrize the destination prefix by username. + * + */ + private @Nullable WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocation destinationFileLocation; + /** + * @return The name of the step, used as an identifier. + * + */ + private @Nullable String name; + /** + * @return A flag that indicates whether or not to overwrite an existing file of the same name. The default is `FALSE`. Valid values are `TRUE` and `FALSE`. + * + */ + private @Nullable String overwriteExisting; + /** + * @return Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. + * + */ + private @Nullable String sourceFileLocation; + /** + * @return The type of encryption used. Currently, this value must be `"PGP"`. + * + */ + private String type; + + private WorkflowOnExceptionStepDecryptStepDetails() {} + /** + * @return Specifies the location for the file being copied. Use ${Transfer:username} in this field to parametrize the destination prefix by username. + * + */ + public Optional destinationFileLocation() { + return Optional.ofNullable(this.destinationFileLocation); + } + /** + * @return The name of the step, used as an identifier. + * + */ + public Optional name() { + return Optional.ofNullable(this.name); + } + /** + * @return A flag that indicates whether or not to overwrite an existing file of the same name. The default is `FALSE`. Valid values are `TRUE` and `FALSE`. + * + */ + public Optional overwriteExisting() { + return Optional.ofNullable(this.overwriteExisting); + } + /** + * @return Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. + * + */ + public Optional sourceFileLocation() { + return Optional.ofNullable(this.sourceFileLocation); + } + /** + * @return The type of encryption used. Currently, this value must be `"PGP"`. + * + */ + public String type() { + return this.type; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(WorkflowOnExceptionStepDecryptStepDetails defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocation destinationFileLocation; + private @Nullable String name; + private @Nullable String overwriteExisting; + private @Nullable String sourceFileLocation; + private String type; + public Builder() {} + public Builder(WorkflowOnExceptionStepDecryptStepDetails defaults) { + Objects.requireNonNull(defaults); + this.destinationFileLocation = defaults.destinationFileLocation; + this.name = defaults.name; + this.overwriteExisting = defaults.overwriteExisting; + this.sourceFileLocation = defaults.sourceFileLocation; + this.type = defaults.type; + } + + @CustomType.Setter + public Builder destinationFileLocation(@Nullable WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocation destinationFileLocation) { + this.destinationFileLocation = destinationFileLocation; + return this; + } + @CustomType.Setter + public Builder name(@Nullable String name) { + this.name = name; + return this; + } + @CustomType.Setter + public Builder overwriteExisting(@Nullable String overwriteExisting) { + this.overwriteExisting = overwriteExisting; + return this; + } + @CustomType.Setter + public Builder sourceFileLocation(@Nullable String sourceFileLocation) { + this.sourceFileLocation = sourceFileLocation; + return this; + } + @CustomType.Setter + public Builder type(String type) { + this.type = Objects.requireNonNull(type); + return this; + } + public WorkflowOnExceptionStepDecryptStepDetails build() { + final var o = new WorkflowOnExceptionStepDecryptStepDetails(); + o.destinationFileLocation = destinationFileLocation; + o.name = name; + o.overwriteExisting = overwriteExisting; + o.sourceFileLocation = sourceFileLocation; + o.type = type; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/transfer/outputs/WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocation.java b/sdk/java/src/main/java/com/pulumi/aws/transfer/outputs/WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocation.java new file mode 100644 index 00000000000..7124bfe4dc5 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/transfer/outputs/WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocation.java @@ -0,0 +1,77 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.transfer.outputs; + +import com.pulumi.aws.transfer.outputs.WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocation; +import com.pulumi.aws.transfer.outputs.WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocation; +import com.pulumi.core.annotations.CustomType; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocation { + /** + * @return Specifies the details for the EFS file being copied. + * + */ + private @Nullable WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocation efsFileLocation; + /** + * @return Specifies the details for the S3 file being copied. + * + */ + private @Nullable WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocation s3FileLocation; + + private WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocation() {} + /** + * @return Specifies the details for the EFS file being copied. + * + */ + public Optional efsFileLocation() { + return Optional.ofNullable(this.efsFileLocation); + } + /** + * @return Specifies the details for the S3 file being copied. + * + */ + public Optional s3FileLocation() { + return Optional.ofNullable(this.s3FileLocation); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocation defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocation efsFileLocation; + private @Nullable WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocation s3FileLocation; + public Builder() {} + public Builder(WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocation defaults) { + Objects.requireNonNull(defaults); + this.efsFileLocation = defaults.efsFileLocation; + this.s3FileLocation = defaults.s3FileLocation; + } + + @CustomType.Setter + public Builder efsFileLocation(@Nullable WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocation efsFileLocation) { + this.efsFileLocation = efsFileLocation; + return this; + } + @CustomType.Setter + public Builder s3FileLocation(@Nullable WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocation s3FileLocation) { + this.s3FileLocation = s3FileLocation; + return this; + } + public WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocation build() { + final var o = new WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocation(); + o.efsFileLocation = efsFileLocation; + o.s3FileLocation = s3FileLocation; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/transfer/outputs/WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocation.java b/sdk/java/src/main/java/com/pulumi/aws/transfer/outputs/WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocation.java new file mode 100644 index 00000000000..ada31564087 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/transfer/outputs/WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocation.java @@ -0,0 +1,76 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.transfer.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocation { + /** + * @return The ID of the file system, assigned by Amazon EFS. + * + */ + private @Nullable String fileSystemId; + /** + * @return The pathname for the folder being used by a workflow. + * + */ + private @Nullable String path; + + private WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocation() {} + /** + * @return The ID of the file system, assigned by Amazon EFS. + * + */ + public Optional fileSystemId() { + return Optional.ofNullable(this.fileSystemId); + } + /** + * @return The pathname for the folder being used by a workflow. + * + */ + public Optional path() { + return Optional.ofNullable(this.path); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocation defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String fileSystemId; + private @Nullable String path; + public Builder() {} + public Builder(WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocation defaults) { + Objects.requireNonNull(defaults); + this.fileSystemId = defaults.fileSystemId; + this.path = defaults.path; + } + + @CustomType.Setter + public Builder fileSystemId(@Nullable String fileSystemId) { + this.fileSystemId = fileSystemId; + return this; + } + @CustomType.Setter + public Builder path(@Nullable String path) { + this.path = path; + return this; + } + public WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocation build() { + final var o = new WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocation(); + o.fileSystemId = fileSystemId; + o.path = path; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/transfer/outputs/WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocation.java b/sdk/java/src/main/java/com/pulumi/aws/transfer/outputs/WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocation.java new file mode 100644 index 00000000000..9cd5849388c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/transfer/outputs/WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocation.java @@ -0,0 +1,76 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.transfer.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocation { + /** + * @return Specifies the S3 bucket for the customer input file. + * + */ + private @Nullable String bucket; + /** + * @return The name assigned to the file when it was created in S3. You use the object key to retrieve the object. + * + */ + private @Nullable String key; + + private WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocation() {} + /** + * @return Specifies the S3 bucket for the customer input file. + * + */ + public Optional bucket() { + return Optional.ofNullable(this.bucket); + } + /** + * @return The name assigned to the file when it was created in S3. You use the object key to retrieve the object. + * + */ + public Optional key() { + return Optional.ofNullable(this.key); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocation defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String bucket; + private @Nullable String key; + public Builder() {} + public Builder(WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocation defaults) { + Objects.requireNonNull(defaults); + this.bucket = defaults.bucket; + this.key = defaults.key; + } + + @CustomType.Setter + public Builder bucket(@Nullable String bucket) { + this.bucket = bucket; + return this; + } + @CustomType.Setter + public Builder key(@Nullable String key) { + this.key = key; + return this; + } + public WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocation build() { + final var o = new WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocation(); + o.bucket = bucket; + o.key = key; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/transfer/outputs/WorkflowStep.java b/sdk/java/src/main/java/com/pulumi/aws/transfer/outputs/WorkflowStep.java index c80dd6ca93c..8d4106dc962 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/transfer/outputs/WorkflowStep.java +++ b/sdk/java/src/main/java/com/pulumi/aws/transfer/outputs/WorkflowStep.java @@ -5,6 +5,7 @@ import com.pulumi.aws.transfer.outputs.WorkflowStepCopyStepDetails; import com.pulumi.aws.transfer.outputs.WorkflowStepCustomStepDetails; +import com.pulumi.aws.transfer.outputs.WorkflowStepDecryptStepDetails; import com.pulumi.aws.transfer.outputs.WorkflowStepDeleteStepDetails; import com.pulumi.aws.transfer.outputs.WorkflowStepTagStepDetails; import com.pulumi.core.annotations.CustomType; @@ -25,6 +26,11 @@ public final class WorkflowStep { * */ private @Nullable WorkflowStepCustomStepDetails customStepDetails; + /** + * @return Details for a step that decrypts the file. + * + */ + private @Nullable WorkflowStepDecryptStepDetails decryptStepDetails; /** * @return Details for a step that deletes the file. * @@ -36,7 +42,7 @@ public final class WorkflowStep { */ private @Nullable WorkflowStepTagStepDetails tagStepDetails; /** - * @return One of the following step types are supported. `COPY`, `CUSTOM`, `DELETE`, and `TAG`. + * @return One of the following step types are supported. `COPY`, `CUSTOM`, `DECRYPT`, `DELETE`, and `TAG`. * */ private String type; @@ -56,6 +62,13 @@ public Optional copyStepDetails() { public Optional customStepDetails() { return Optional.ofNullable(this.customStepDetails); } + /** + * @return Details for a step that decrypts the file. + * + */ + public Optional decryptStepDetails() { + return Optional.ofNullable(this.decryptStepDetails); + } /** * @return Details for a step that deletes the file. * @@ -71,7 +84,7 @@ public Optional tagStepDetails() { return Optional.ofNullable(this.tagStepDetails); } /** - * @return One of the following step types are supported. `COPY`, `CUSTOM`, `DELETE`, and `TAG`. + * @return One of the following step types are supported. `COPY`, `CUSTOM`, `DECRYPT`, `DELETE`, and `TAG`. * */ public String type() { @@ -89,6 +102,7 @@ public static Builder builder(WorkflowStep defaults) { public static final class Builder { private @Nullable WorkflowStepCopyStepDetails copyStepDetails; private @Nullable WorkflowStepCustomStepDetails customStepDetails; + private @Nullable WorkflowStepDecryptStepDetails decryptStepDetails; private @Nullable WorkflowStepDeleteStepDetails deleteStepDetails; private @Nullable WorkflowStepTagStepDetails tagStepDetails; private String type; @@ -97,6 +111,7 @@ public Builder(WorkflowStep defaults) { Objects.requireNonNull(defaults); this.copyStepDetails = defaults.copyStepDetails; this.customStepDetails = defaults.customStepDetails; + this.decryptStepDetails = defaults.decryptStepDetails; this.deleteStepDetails = defaults.deleteStepDetails; this.tagStepDetails = defaults.tagStepDetails; this.type = defaults.type; @@ -113,6 +128,11 @@ public Builder customStepDetails(@Nullable WorkflowStepCustomStepDetails customS return this; } @CustomType.Setter + public Builder decryptStepDetails(@Nullable WorkflowStepDecryptStepDetails decryptStepDetails) { + this.decryptStepDetails = decryptStepDetails; + return this; + } + @CustomType.Setter public Builder deleteStepDetails(@Nullable WorkflowStepDeleteStepDetails deleteStepDetails) { this.deleteStepDetails = deleteStepDetails; return this; @@ -131,6 +151,7 @@ public WorkflowStep build() { final var o = new WorkflowStep(); o.copyStepDetails = copyStepDetails; o.customStepDetails = customStepDetails; + o.decryptStepDetails = decryptStepDetails; o.deleteStepDetails = deleteStepDetails; o.tagStepDetails = tagStepDetails; o.type = type; diff --git a/sdk/java/src/main/java/com/pulumi/aws/transfer/outputs/WorkflowStepDecryptStepDetails.java b/sdk/java/src/main/java/com/pulumi/aws/transfer/outputs/WorkflowStepDecryptStepDetails.java new file mode 100644 index 00000000000..494f3fdadb1 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/transfer/outputs/WorkflowStepDecryptStepDetails.java @@ -0,0 +1,137 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.transfer.outputs; + +import com.pulumi.aws.transfer.outputs.WorkflowStepDecryptStepDetailsDestinationFileLocation; +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class WorkflowStepDecryptStepDetails { + /** + * @return Specifies the location for the file being copied. Use ${Transfer:username} in this field to parametrize the destination prefix by username. + * + */ + private @Nullable WorkflowStepDecryptStepDetailsDestinationFileLocation destinationFileLocation; + /** + * @return The name of the step, used as an identifier. + * + */ + private @Nullable String name; + /** + * @return A flag that indicates whether or not to overwrite an existing file of the same name. The default is `FALSE`. Valid values are `TRUE` and `FALSE`. + * + */ + private @Nullable String overwriteExisting; + /** + * @return Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. + * + */ + private @Nullable String sourceFileLocation; + /** + * @return The type of encryption used. Currently, this value must be `"PGP"`. + * + */ + private String type; + + private WorkflowStepDecryptStepDetails() {} + /** + * @return Specifies the location for the file being copied. Use ${Transfer:username} in this field to parametrize the destination prefix by username. + * + */ + public Optional destinationFileLocation() { + return Optional.ofNullable(this.destinationFileLocation); + } + /** + * @return The name of the step, used as an identifier. + * + */ + public Optional name() { + return Optional.ofNullable(this.name); + } + /** + * @return A flag that indicates whether or not to overwrite an existing file of the same name. The default is `FALSE`. Valid values are `TRUE` and `FALSE`. + * + */ + public Optional overwriteExisting() { + return Optional.ofNullable(this.overwriteExisting); + } + /** + * @return Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. + * + */ + public Optional sourceFileLocation() { + return Optional.ofNullable(this.sourceFileLocation); + } + /** + * @return The type of encryption used. Currently, this value must be `"PGP"`. + * + */ + public String type() { + return this.type; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(WorkflowStepDecryptStepDetails defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable WorkflowStepDecryptStepDetailsDestinationFileLocation destinationFileLocation; + private @Nullable String name; + private @Nullable String overwriteExisting; + private @Nullable String sourceFileLocation; + private String type; + public Builder() {} + public Builder(WorkflowStepDecryptStepDetails defaults) { + Objects.requireNonNull(defaults); + this.destinationFileLocation = defaults.destinationFileLocation; + this.name = defaults.name; + this.overwriteExisting = defaults.overwriteExisting; + this.sourceFileLocation = defaults.sourceFileLocation; + this.type = defaults.type; + } + + @CustomType.Setter + public Builder destinationFileLocation(@Nullable WorkflowStepDecryptStepDetailsDestinationFileLocation destinationFileLocation) { + this.destinationFileLocation = destinationFileLocation; + return this; + } + @CustomType.Setter + public Builder name(@Nullable String name) { + this.name = name; + return this; + } + @CustomType.Setter + public Builder overwriteExisting(@Nullable String overwriteExisting) { + this.overwriteExisting = overwriteExisting; + return this; + } + @CustomType.Setter + public Builder sourceFileLocation(@Nullable String sourceFileLocation) { + this.sourceFileLocation = sourceFileLocation; + return this; + } + @CustomType.Setter + public Builder type(String type) { + this.type = Objects.requireNonNull(type); + return this; + } + public WorkflowStepDecryptStepDetails build() { + final var o = new WorkflowStepDecryptStepDetails(); + o.destinationFileLocation = destinationFileLocation; + o.name = name; + o.overwriteExisting = overwriteExisting; + o.sourceFileLocation = sourceFileLocation; + o.type = type; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/transfer/outputs/WorkflowStepDecryptStepDetailsDestinationFileLocation.java b/sdk/java/src/main/java/com/pulumi/aws/transfer/outputs/WorkflowStepDecryptStepDetailsDestinationFileLocation.java new file mode 100644 index 00000000000..04951d3c214 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/transfer/outputs/WorkflowStepDecryptStepDetailsDestinationFileLocation.java @@ -0,0 +1,77 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.transfer.outputs; + +import com.pulumi.aws.transfer.outputs.WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocation; +import com.pulumi.aws.transfer.outputs.WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocation; +import com.pulumi.core.annotations.CustomType; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class WorkflowStepDecryptStepDetailsDestinationFileLocation { + /** + * @return Specifies the details for the EFS file being copied. + * + */ + private @Nullable WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocation efsFileLocation; + /** + * @return Specifies the details for the S3 file being copied. + * + */ + private @Nullable WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocation s3FileLocation; + + private WorkflowStepDecryptStepDetailsDestinationFileLocation() {} + /** + * @return Specifies the details for the EFS file being copied. + * + */ + public Optional efsFileLocation() { + return Optional.ofNullable(this.efsFileLocation); + } + /** + * @return Specifies the details for the S3 file being copied. + * + */ + public Optional s3FileLocation() { + return Optional.ofNullable(this.s3FileLocation); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(WorkflowStepDecryptStepDetailsDestinationFileLocation defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocation efsFileLocation; + private @Nullable WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocation s3FileLocation; + public Builder() {} + public Builder(WorkflowStepDecryptStepDetailsDestinationFileLocation defaults) { + Objects.requireNonNull(defaults); + this.efsFileLocation = defaults.efsFileLocation; + this.s3FileLocation = defaults.s3FileLocation; + } + + @CustomType.Setter + public Builder efsFileLocation(@Nullable WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocation efsFileLocation) { + this.efsFileLocation = efsFileLocation; + return this; + } + @CustomType.Setter + public Builder s3FileLocation(@Nullable WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocation s3FileLocation) { + this.s3FileLocation = s3FileLocation; + return this; + } + public WorkflowStepDecryptStepDetailsDestinationFileLocation build() { + final var o = new WorkflowStepDecryptStepDetailsDestinationFileLocation(); + o.efsFileLocation = efsFileLocation; + o.s3FileLocation = s3FileLocation; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/transfer/outputs/WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocation.java b/sdk/java/src/main/java/com/pulumi/aws/transfer/outputs/WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocation.java new file mode 100644 index 00000000000..67801702cfe --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/transfer/outputs/WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocation.java @@ -0,0 +1,76 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.transfer.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocation { + /** + * @return The ID of the file system, assigned by Amazon EFS. + * + */ + private @Nullable String fileSystemId; + /** + * @return The pathname for the folder being used by a workflow. + * + */ + private @Nullable String path; + + private WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocation() {} + /** + * @return The ID of the file system, assigned by Amazon EFS. + * + */ + public Optional fileSystemId() { + return Optional.ofNullable(this.fileSystemId); + } + /** + * @return The pathname for the folder being used by a workflow. + * + */ + public Optional path() { + return Optional.ofNullable(this.path); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocation defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String fileSystemId; + private @Nullable String path; + public Builder() {} + public Builder(WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocation defaults) { + Objects.requireNonNull(defaults); + this.fileSystemId = defaults.fileSystemId; + this.path = defaults.path; + } + + @CustomType.Setter + public Builder fileSystemId(@Nullable String fileSystemId) { + this.fileSystemId = fileSystemId; + return this; + } + @CustomType.Setter + public Builder path(@Nullable String path) { + this.path = path; + return this; + } + public WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocation build() { + final var o = new WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocation(); + o.fileSystemId = fileSystemId; + o.path = path; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/transfer/outputs/WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocation.java b/sdk/java/src/main/java/com/pulumi/aws/transfer/outputs/WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocation.java new file mode 100644 index 00000000000..56d84dddf91 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/transfer/outputs/WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocation.java @@ -0,0 +1,76 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.transfer.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocation { + /** + * @return Specifies the S3 bucket for the customer input file. + * + */ + private @Nullable String bucket; + /** + * @return The name assigned to the file when it was created in S3. You use the object key to retrieve the object. + * + */ + private @Nullable String key; + + private WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocation() {} + /** + * @return Specifies the S3 bucket for the customer input file. + * + */ + public Optional bucket() { + return Optional.ofNullable(this.bucket); + } + /** + * @return The name assigned to the file when it was created in S3. You use the object key to retrieve the object. + * + */ + public Optional key() { + return Optional.ofNullable(this.key); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocation defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String bucket; + private @Nullable String key; + public Builder() {} + public Builder(WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocation defaults) { + Objects.requireNonNull(defaults); + this.bucket = defaults.bucket; + this.key = defaults.key; + } + + @CustomType.Setter + public Builder bucket(@Nullable String bucket) { + this.bucket = bucket; + return this; + } + @CustomType.Setter + public Builder key(@Nullable String key) { + this.key = key; + return this; + } + public WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocation build() { + final var o = new WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocation(); + o.bucket = bucket; + o.key = key; + return o; + } + } +} diff --git a/sdk/nodejs/acm/certificate.ts b/sdk/nodejs/acm/certificate.ts index 4f99d90e6c3..270989d36fd 100644 --- a/sdk/nodejs/acm/certificate.ts +++ b/sdk/nodejs/acm/certificate.ts @@ -214,7 +214,7 @@ export class Certificate extends pulumi.CustomResource { /** * Configuration block used to set certificate options. Detailed below. */ - public readonly options!: pulumi.Output; + public readonly options!: pulumi.Output; /** * `true` if a Private certificate eligible for managed renewal is within the `earlyRenewalDuration` period. */ diff --git a/sdk/nodejs/amplify/domainAssociation.ts b/sdk/nodejs/amplify/domainAssociation.ts index 6372532498b..c50af33fbb8 100644 --- a/sdk/nodejs/amplify/domainAssociation.ts +++ b/sdk/nodejs/amplify/domainAssociation.ts @@ -93,6 +93,10 @@ export class DomainAssociation extends pulumi.CustomResource { * Domain name for the domain association. */ public readonly domainName!: pulumi.Output; + /** + * Enables the automated creation of subdomains for branches. + */ + public readonly enableAutoSubDomain!: pulumi.Output; /** * Setting for the subdomain. Documented below. */ @@ -119,6 +123,7 @@ export class DomainAssociation extends pulumi.CustomResource { resourceInputs["arn"] = state ? state.arn : undefined; resourceInputs["certificateVerificationDnsRecord"] = state ? state.certificateVerificationDnsRecord : undefined; resourceInputs["domainName"] = state ? state.domainName : undefined; + resourceInputs["enableAutoSubDomain"] = state ? state.enableAutoSubDomain : undefined; resourceInputs["subDomains"] = state ? state.subDomains : undefined; resourceInputs["waitForVerification"] = state ? state.waitForVerification : undefined; } else { @@ -134,6 +139,7 @@ export class DomainAssociation extends pulumi.CustomResource { } resourceInputs["appId"] = args ? args.appId : undefined; resourceInputs["domainName"] = args ? args.domainName : undefined; + resourceInputs["enableAutoSubDomain"] = args ? args.enableAutoSubDomain : undefined; resourceInputs["subDomains"] = args ? args.subDomains : undefined; resourceInputs["waitForVerification"] = args ? args.waitForVerification : undefined; resourceInputs["arn"] = undefined /*out*/; @@ -164,6 +170,10 @@ export interface DomainAssociationState { * Domain name for the domain association. */ domainName?: pulumi.Input; + /** + * Enables the automated creation of subdomains for branches. + */ + enableAutoSubDomain?: pulumi.Input; /** * Setting for the subdomain. Documented below. */ @@ -186,6 +196,10 @@ export interface DomainAssociationArgs { * Domain name for the domain association. */ domainName: pulumi.Input; + /** + * Enables the automated creation of subdomains for branches. + */ + enableAutoSubDomain?: pulumi.Input; /** * Setting for the subdomain. Documented below. */ diff --git a/sdk/nodejs/apigateway/account.ts b/sdk/nodejs/apigateway/account.ts index b1f41824892..3459e7f14d1 100644 --- a/sdk/nodejs/apigateway/account.ts +++ b/sdk/nodejs/apigateway/account.ts @@ -47,7 +47,7 @@ import * as utilities from "../utilities"; * }); * const cloudwatchRolePolicy = new aws.iam.RolePolicy("cloudwatchRolePolicy", { * role: cloudwatchRole.id, - * policy: data.aws_iam_policy_document.json, + * policy: cloudwatchPolicyDocument.then(cloudwatchPolicyDocument => cloudwatchPolicyDocument.json), * }); * ``` * diff --git a/sdk/nodejs/appsync/dataSource.ts b/sdk/nodejs/appsync/dataSource.ts index 4a545b911af..1965ce0e878 100644 --- a/sdk/nodejs/appsync/dataSource.ts +++ b/sdk/nodejs/appsync/dataSource.ts @@ -10,6 +10,55 @@ import * as utilities from "../utilities"; /** * Provides an AppSync Data Source. * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const exampleTable = new aws.dynamodb.Table("exampleTable", { + * readCapacity: 1, + * writeCapacity: 1, + * hashKey: "UserId", + * attributes: [{ + * name: "UserId", + * type: "S", + * }], + * }); + * const assumeRole = aws.iam.getPolicyDocument({ + * statements: [{ + * effect: "Allow", + * principals: [{ + * type: "Service", + * identifiers: ["appsync.amazonaws.com"], + * }], + * actions: ["sts:AssumeRole"], + * }], + * }); + * const exampleRole = new aws.iam.Role("exampleRole", {assumeRolePolicy: assumeRole.then(assumeRole => assumeRole.json)}); + * const examplePolicyDocument = aws.iam.getPolicyDocumentOutput({ + * statements: [{ + * effect: "Allow", + * actions: ["dynamodb:*"], + * resources: [exampleTable.arn], + * }], + * }); + * const exampleRolePolicy = new aws.iam.RolePolicy("exampleRolePolicy", { + * role: exampleRole.id, + * policy: examplePolicyDocument.apply(examplePolicyDocument => examplePolicyDocument.json), + * }); + * const exampleGraphQLApi = new aws.appsync.GraphQLApi("exampleGraphQLApi", {authenticationType: "API_KEY"}); + * const exampleDataSource = new aws.appsync.DataSource("exampleDataSource", { + * apiId: exampleGraphQLApi.id, + * name: "my_appsync_example", + * serviceRoleArn: exampleRole.arn, + * type: "AMAZON_DYNAMODB", + * dynamodbConfig: { + * tableName: exampleTable.name, + * }, + * }); + * ``` + * * ## Import * * `aws_appsync_datasource` can be imported with their `api_id`, a hyphen, and `name`, e.g., diff --git a/sdk/nodejs/cloudhsmv2/hsm.ts b/sdk/nodejs/cloudhsmv2/hsm.ts index 141796d02c1..3d3ef38ec42 100644 --- a/sdk/nodejs/cloudhsmv2/hsm.ts +++ b/sdk/nodejs/cloudhsmv2/hsm.ts @@ -61,7 +61,7 @@ export class Hsm extends pulumi.CustomResource { } /** - * The IDs of AZ in which HSM module will be located. Do not use together with subnet_id. + * The IDs of AZ in which HSM module will be located. Conflicts with `subnetId`. */ public readonly availabilityZone!: pulumi.Output; /** @@ -85,7 +85,7 @@ export class Hsm extends pulumi.CustomResource { */ public readonly ipAddress!: pulumi.Output; /** - * The ID of subnet in which HSM module will be located. + * The ID of subnet in which HSM module will be located. Conflicts with `availabilityZone`. */ public readonly subnetId!: pulumi.Output; @@ -132,7 +132,7 @@ export class Hsm extends pulumi.CustomResource { */ export interface HsmState { /** - * The IDs of AZ in which HSM module will be located. Do not use together with subnet_id. + * The IDs of AZ in which HSM module will be located. Conflicts with `subnetId`. */ availabilityZone?: pulumi.Input; /** @@ -156,7 +156,7 @@ export interface HsmState { */ ipAddress?: pulumi.Input; /** - * The ID of subnet in which HSM module will be located. + * The ID of subnet in which HSM module will be located. Conflicts with `availabilityZone`. */ subnetId?: pulumi.Input; } @@ -166,7 +166,7 @@ export interface HsmState { */ export interface HsmArgs { /** - * The IDs of AZ in which HSM module will be located. Do not use together with subnet_id. + * The IDs of AZ in which HSM module will be located. Conflicts with `subnetId`. */ availabilityZone?: pulumi.Input; /** @@ -178,7 +178,7 @@ export interface HsmArgs { */ ipAddress?: pulumi.Input; /** - * The ID of subnet in which HSM module will be located. + * The ID of subnet in which HSM module will be located. Conflicts with `availabilityZone`. */ subnetId?: pulumi.Input; } diff --git a/sdk/nodejs/codebuild/project.ts b/sdk/nodejs/codebuild/project.ts index 314e8badb1b..1d8a0139926 100644 --- a/sdk/nodejs/codebuild/project.ts +++ b/sdk/nodejs/codebuild/project.ts @@ -10,6 +10,184 @@ import * as utilities from "../utilities"; /** * Provides a CodeBuild Project resource. See also the `aws.codebuild.Webhook` resource, which manages the webhook to the source (e.g., the "rebuild every time a code change is pushed" option in the CodeBuild web console). * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const exampleBucketV2 = new aws.s3.BucketV2("exampleBucketV2", {}); + * const exampleBucketAclV2 = new aws.s3.BucketAclV2("exampleBucketAclV2", { + * bucket: exampleBucketV2.id, + * acl: "private", + * }); + * const assumeRole = aws.iam.getPolicyDocument({ + * statements: [{ + * effect: "Allow", + * principals: [{ + * type: "Service", + * identifiers: ["codebuild.amazonaws.com"], + * }], + * actions: ["sts:AssumeRole"], + * }], + * }); + * const exampleRole = new aws.iam.Role("exampleRole", {assumeRolePolicy: assumeRole.then(assumeRole => assumeRole.json)}); + * const examplePolicyDocument = pulumi.all([exampleBucketV2.arn, exampleBucketV2.arn]).apply(([exampleBucketV2Arn, exampleBucketV2Arn1]) => aws.iam.getPolicyDocumentOutput({ + * statements: [ + * { + * effect: "Allow", + * actions: [ + * "logs:CreateLogGroup", + * "logs:CreateLogStream", + * "logs:PutLogEvents", + * ], + * resources: ["*"], + * }, + * { + * effect: "Allow", + * actions: [ + * "ec2:CreateNetworkInterface", + * "ec2:DescribeDhcpOptions", + * "ec2:DescribeNetworkInterfaces", + * "ec2:DeleteNetworkInterface", + * "ec2:DescribeSubnets", + * "ec2:DescribeSecurityGroups", + * "ec2:DescribeVpcs", + * ], + * resources: ["*"], + * }, + * { + * effect: "Allow", + * actions: ["ec2:CreateNetworkInterfacePermission"], + * resources: ["arn:aws:ec2:us-east-1:123456789012:network-interface/*"], + * conditions: [ + * { + * test: "StringEquals", + * variable: "ec2:Subnet", + * values: [ + * aws_subnet.example1.arn, + * aws_subnet.example2.arn, + * ], + * }, + * { + * test: "StringEquals", + * variable: "ec2:AuthorizedService", + * values: ["codebuild.amazonaws.com"], + * }, + * ], + * }, + * { + * effect: "Allow", + * actions: ["s3:*"], + * resources: [ + * exampleBucketV2Arn, + * `${exampleBucketV2Arn1}/*`, + * ], + * }, + * ], + * })); + * const exampleRolePolicy = new aws.iam.RolePolicy("exampleRolePolicy", { + * role: exampleRole.name, + * policy: examplePolicyDocument.apply(examplePolicyDocument => examplePolicyDocument.json), + * }); + * const exampleProject = new aws.codebuild.Project("exampleProject", { + * description: "test_codebuild_project", + * buildTimeout: 5, + * serviceRole: exampleRole.arn, + * artifacts: { + * type: "NO_ARTIFACTS", + * }, + * cache: { + * type: "S3", + * location: exampleBucketV2.bucket, + * }, + * environment: { + * computeType: "BUILD_GENERAL1_SMALL", + * image: "aws/codebuild/standard:1.0", + * type: "LINUX_CONTAINER", + * imagePullCredentialsType: "CODEBUILD", + * environmentVariables: [ + * { + * name: "SOME_KEY1", + * value: "SOME_VALUE1", + * }, + * { + * name: "SOME_KEY2", + * value: "SOME_VALUE2", + * type: "PARAMETER_STORE", + * }, + * ], + * }, + * logsConfig: { + * cloudwatchLogs: { + * groupName: "log-group", + * streamName: "log-stream", + * }, + * s3Logs: { + * status: "ENABLED", + * location: pulumi.interpolate`${exampleBucketV2.id}/build-log`, + * }, + * }, + * source: { + * type: "GITHUB", + * location: "https://github.com/mitchellh/packer.git", + * gitCloneDepth: 1, + * gitSubmodulesConfig: { + * fetchSubmodules: true, + * }, + * }, + * sourceVersion: "master", + * vpcConfig: { + * vpcId: aws_vpc.example.id, + * subnets: [ + * aws_subnet.example1.id, + * aws_subnet.example2.id, + * ], + * securityGroupIds: [ + * aws_security_group.example1.id, + * aws_security_group.example2.id, + * ], + * }, + * tags: { + * Environment: "Test", + * }, + * }); + * const project_with_cache = new aws.codebuild.Project("project-with-cache", { + * description: "test_codebuild_project_cache", + * buildTimeout: 5, + * queuedTimeout: 5, + * serviceRole: exampleRole.arn, + * artifacts: { + * type: "NO_ARTIFACTS", + * }, + * cache: { + * type: "LOCAL", + * modes: [ + * "LOCAL_DOCKER_LAYER_CACHE", + * "LOCAL_SOURCE_CACHE", + * ], + * }, + * environment: { + * computeType: "BUILD_GENERAL1_SMALL", + * image: "aws/codebuild/standard:1.0", + * type: "LINUX_CONTAINER", + * imagePullCredentialsType: "CODEBUILD", + * environmentVariables: [{ + * name: "SOME_KEY1", + * value: "SOME_VALUE1", + * }], + * }, + * source: { + * type: "GITHUB", + * location: "https://github.com/mitchellh/packer.git", + * gitCloneDepth: 1, + * }, + * tags: { + * Environment: "Test", + * }, + * }); + * ``` + * * ## Import * * CodeBuild Project can be imported using the `name`, e.g., diff --git a/sdk/nodejs/cognito/resourceServer.ts b/sdk/nodejs/cognito/resourceServer.ts index d44d78e8442..aed37724161 100644 --- a/sdk/nodejs/cognito/resourceServer.ts +++ b/sdk/nodejs/cognito/resourceServer.ts @@ -45,7 +45,7 @@ import * as utilities from "../utilities"; * `aws_cognito_resource_server` can be imported using their User Pool ID and Identifier, e.g., * * ```sh - * $ pulumi import aws:cognito/resourceServer:ResourceServer example us-west-2_abc123:https://example.com + * $ pulumi import aws:cognito/resourceServer:ResourceServer example "us-west-2_abc123|https://example.com" * ``` */ export class ResourceServer extends pulumi.CustomResource { diff --git a/sdk/nodejs/dynamodb/table.ts b/sdk/nodejs/dynamodb/table.ts index 484b40b5c48..630dede67b7 100644 --- a/sdk/nodejs/dynamodb/table.ts +++ b/sdk/nodejs/dynamodb/table.ts @@ -158,7 +158,7 @@ export class Table extends pulumi.CustomResource { */ public readonly hashKey!: pulumi.Output; /** - * Describe an LSI on the table; these can only be allocated *at creation* so you cannot change this definition after you have created the resource. See below. + * Describe an LSI on the table; these can only be allocated _at creation_ so you cannot change this definition after you have created the resource. See below. */ public readonly localSecondaryIndexes!: pulumi.Output; /** @@ -214,7 +214,9 @@ export class Table extends pulumi.CustomResource { */ public readonly streamViewType!: pulumi.Output; /** - * Storage class of the table. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + * Storage class of the table. + * Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + * Default value is `STANDARD`. */ public readonly tableClass!: pulumi.Output; /** @@ -328,7 +330,7 @@ export interface TableState { */ hashKey?: pulumi.Input; /** - * Describe an LSI on the table; these can only be allocated *at creation* so you cannot change this definition after you have created the resource. See below. + * Describe an LSI on the table; these can only be allocated _at creation_ so you cannot change this definition after you have created the resource. See below. */ localSecondaryIndexes?: pulumi.Input[]>; /** @@ -384,7 +386,9 @@ export interface TableState { */ streamViewType?: pulumi.Input; /** - * Storage class of the table. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + * Storage class of the table. + * Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + * Default value is `STANDARD`. */ tableClass?: pulumi.Input; /** @@ -426,7 +430,7 @@ export interface TableArgs { */ hashKey?: pulumi.Input; /** - * Describe an LSI on the table; these can only be allocated *at creation* so you cannot change this definition after you have created the resource. See below. + * Describe an LSI on the table; these can only be allocated _at creation_ so you cannot change this definition after you have created the resource. See below. */ localSecondaryIndexes?: pulumi.Input[]>; /** @@ -474,7 +478,9 @@ export interface TableArgs { */ streamViewType?: pulumi.Input; /** - * Storage class of the table. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + * Storage class of the table. + * Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + * Default value is `STANDARD`. */ tableClass?: pulumi.Input; /** diff --git a/sdk/nodejs/ec2/flowLog.ts b/sdk/nodejs/ec2/flowLog.ts index 4f2faaf6eae..47840e68395 100644 --- a/sdk/nodejs/ec2/flowLog.ts +++ b/sdk/nodejs/ec2/flowLog.ts @@ -127,6 +127,10 @@ export class FlowLog extends pulumi.CustomResource { * The ARN of the Flow Log. */ public /*out*/ readonly arn!: pulumi.Output; + /** + * ARN of the IAM role that allows Amazon EC2 to publish flow logs across accounts. + */ + public readonly deliverCrossAccountRole!: pulumi.Output; /** * Describes the destination options for a flow log. More details below. */ @@ -207,6 +211,7 @@ export class FlowLog extends pulumi.CustomResource { if (opts.id) { const state = argsOrState as FlowLogState | undefined; resourceInputs["arn"] = state ? state.arn : undefined; + resourceInputs["deliverCrossAccountRole"] = state ? state.deliverCrossAccountRole : undefined; resourceInputs["destinationOptions"] = state ? state.destinationOptions : undefined; resourceInputs["eniId"] = state ? state.eniId : undefined; resourceInputs["iamRoleArn"] = state ? state.iamRoleArn : undefined; @@ -224,6 +229,7 @@ export class FlowLog extends pulumi.CustomResource { resourceInputs["vpcId"] = state ? state.vpcId : undefined; } else { const args = argsOrState as FlowLogArgs | undefined; + resourceInputs["deliverCrossAccountRole"] = args ? args.deliverCrossAccountRole : undefined; resourceInputs["destinationOptions"] = args ? args.destinationOptions : undefined; resourceInputs["eniId"] = args ? args.eniId : undefined; resourceInputs["iamRoleArn"] = args ? args.iamRoleArn : undefined; @@ -254,6 +260,10 @@ export interface FlowLogState { * The ARN of the Flow Log. */ arn?: pulumi.Input; + /** + * ARN of the IAM role that allows Amazon EC2 to publish flow logs across accounts. + */ + deliverCrossAccountRole?: pulumi.Input; /** * Describes the destination options for a flow log. More details below. */ @@ -325,6 +335,10 @@ export interface FlowLogState { * The set of arguments for constructing a FlowLog resource. */ export interface FlowLogArgs { + /** + * ARN of the IAM role that allows Amazon EC2 to publish flow logs across accounts. + */ + deliverCrossAccountRole?: pulumi.Input; /** * Describes the destination options for a flow log. More details below. */ diff --git a/sdk/nodejs/ec2/getInstances.ts b/sdk/nodejs/ec2/getInstances.ts index 2319e4c329c..0cb1343f4f3 100644 --- a/sdk/nodejs/ec2/getInstances.ts +++ b/sdk/nodejs/ec2/getInstances.ts @@ -63,6 +63,10 @@ export interface GetInstancesResult { readonly ids: string[]; readonly instanceStateNames?: string[]; readonly instanceTags: {[key: string]: string}; + /** + * IPv6 addresses of instances found through the filter + */ + readonly ipv6Addresses: string[]; /** * Private IP addresses of instances found through the filter */ diff --git a/sdk/nodejs/ec2/launchConfiguration.ts b/sdk/nodejs/ec2/launchConfiguration.ts index 531e302c892..bb965d7e450 100644 --- a/sdk/nodejs/ec2/launchConfiguration.ts +++ b/sdk/nodejs/ec2/launchConfiguration.ts @@ -12,6 +12,8 @@ import {InstanceProfile} from "../iam"; /** * Provides a resource to create a new launch configuration, used for autoscaling groups. * + * !> **WARNING:** The use of launch configurations is discouraged in favour of launch templates. Read more in the [AWS EC2 Documentation](https://docs.aws.amazon.com/autoscaling/ec2/userguide/launch-configurations.html). + * * > **Note** When using `aws.ec2.LaunchConfiguration` with `aws.autoscaling.Group`, it is recommended to use the `namePrefix` (Optional) instead of the `name` (Optional) attribute. * * ## Example Usage diff --git a/sdk/nodejs/ec2transitgateway/getAttachment.ts b/sdk/nodejs/ec2transitgateway/getAttachment.ts index 894315fc56c..54fb543328f 100644 --- a/sdk/nodejs/ec2transitgateway/getAttachment.ts +++ b/sdk/nodejs/ec2transitgateway/getAttachment.ts @@ -67,6 +67,14 @@ export interface GetAttachmentResult { * ARN of the attachment. */ readonly arn: string; + /** + * The state of the association (see [the underlying AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_TransitGatewayAttachmentAssociation.html) for valid values). + */ + readonly associationState: string; + /** + * The ID of the route table for the transit gateway. + */ + readonly associationTransitGatewayRouteTableId: string; readonly filters?: outputs.ec2transitgateway.GetAttachmentFilter[]; /** * The provider-assigned unique ID for this managed resource. diff --git a/sdk/nodejs/ecs/getTaskExecution.ts b/sdk/nodejs/ecs/getTaskExecution.ts new file mode 100644 index 00000000000..2a6b707f7ac --- /dev/null +++ b/sdk/nodejs/ecs/getTaskExecution.ts @@ -0,0 +1,228 @@ +// *** 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! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Data source for managing an AWS ECS (Elastic Container) Task Execution. This data source calls the [RunTask](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html) API, allowing execution of one-time tasks that don't fit a standard resource lifecycle. See the feature request issue for additional context. + * + * > **NOTE on preview operations:** This data source calls the `RunTask` API on every read operation, which means new task(s) may be created from a `pulumi preview` command if all attributes are known. Placing this functionality behind a data source is an intentional trade off to enable use cases requiring a one-time task execution without relying on provisioners. Caution should be taken to ensure the data source is only executed once, or that the resulting tasks can safely run in parallel. + * + * ## Example Usage + */ +export function getTaskExecution(args: GetTaskExecutionArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws:ecs/getTaskExecution:getTaskExecution", { + "capacityProviderStrategies": args.capacityProviderStrategies, + "cluster": args.cluster, + "desiredCount": args.desiredCount, + "enableEcsManagedTags": args.enableEcsManagedTags, + "enableExecuteCommand": args.enableExecuteCommand, + "group": args.group, + "launchType": args.launchType, + "networkConfiguration": args.networkConfiguration, + "overrides": args.overrides, + "placementConstraints": args.placementConstraints, + "placementStrategies": args.placementStrategies, + "platformVersion": args.platformVersion, + "propagateTags": args.propagateTags, + "referenceId": args.referenceId, + "startedBy": args.startedBy, + "tags": args.tags, + "taskDefinition": args.taskDefinition, + }, opts); +} + +/** + * A collection of arguments for invoking getTaskExecution. + */ +export interface GetTaskExecutionArgs { + /** + * Set of capacity provider strategies to use for the cluster. See below. + */ + capacityProviderStrategies?: inputs.ecs.GetTaskExecutionCapacityProviderStrategy[]; + /** + * Short name or full Amazon Resource Name (ARN) of the cluster to run the task on. + */ + cluster: string; + /** + * Number of instantiations of the specified task to place on your cluster. You can specify up to 10 tasks for each call. + */ + desiredCount?: number; + /** + * Specifies whether to enable Amazon ECS managed tags for the tasks within the service. + */ + enableEcsManagedTags?: boolean; + /** + * Specifies whether to enable Amazon ECS Exec for the tasks within the service. + */ + enableExecuteCommand?: boolean; + /** + * Name of the task group to associate with the task. The default value is the family name of the task definition. + */ + group?: string; + /** + * Launch type on which to run your service. Valid values are `EC2`, `FARGATE`, and `EXTERNAL`. + */ + launchType?: string; + /** + * Network configuration for the service. This parameter is required for task definitions that use the `awsvpc` network mode to receive their own Elastic Network Interface, and it is not supported for other network modes. See below. + */ + networkConfiguration?: inputs.ecs.GetTaskExecutionNetworkConfiguration; + /** + * A list of container overrides that specify the name of a container in the specified task definition and the overrides it should receive. + */ + overrides?: inputs.ecs.GetTaskExecutionOverrides; + /** + * An array of placement constraint objects to use for the task. You can specify up to 10 constraints for each task. See below. + */ + placementConstraints?: inputs.ecs.GetTaskExecutionPlacementConstraint[]; + /** + * The placement strategy objects to use for the task. You can specify a maximum of 5 strategy rules for each task. See below. + */ + placementStrategies?: inputs.ecs.GetTaskExecutionPlacementStrategy[]; + /** + * The platform version the task uses. A platform version is only specified for tasks hosted on Fargate. If one isn't specified, the `LATEST` platform version is used. + */ + platformVersion?: string; + /** + * Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. An error will be received if you specify the `SERVICE` option when running a task. Valid values are `TASK_DEFINITION` or `NONE`. + */ + propagateTags?: string; + /** + * The reference ID to use for the task. + */ + referenceId?: string; + /** + * An optional tag specified when a task is started. + */ + startedBy?: string; + /** + * Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ + tags?: {[key: string]: string}; + /** + * The `family` and `revision` (`family:revision`) or full ARN of the task definition to run. If a revision isn't specified, the latest `ACTIVE` revision is used. + */ + taskDefinition: string; +} + +/** + * A collection of values returned by getTaskExecution. + */ +export interface GetTaskExecutionResult { + readonly capacityProviderStrategies?: outputs.ecs.GetTaskExecutionCapacityProviderStrategy[]; + readonly cluster: string; + readonly desiredCount?: number; + readonly enableEcsManagedTags?: boolean; + readonly enableExecuteCommand?: boolean; + readonly group?: string; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + readonly launchType?: string; + readonly networkConfiguration?: outputs.ecs.GetTaskExecutionNetworkConfiguration; + readonly overrides?: outputs.ecs.GetTaskExecutionOverrides; + readonly placementConstraints?: outputs.ecs.GetTaskExecutionPlacementConstraint[]; + readonly placementStrategies?: outputs.ecs.GetTaskExecutionPlacementStrategy[]; + readonly platformVersion?: string; + readonly propagateTags?: string; + readonly referenceId?: string; + readonly startedBy?: string; + readonly tags?: {[key: string]: string}; + /** + * A list of the provisioned task ARNs. + */ + readonly taskArns: string[]; + readonly taskDefinition: string; +} +/** + * Data source for managing an AWS ECS (Elastic Container) Task Execution. This data source calls the [RunTask](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html) API, allowing execution of one-time tasks that don't fit a standard resource lifecycle. See the feature request issue for additional context. + * + * > **NOTE on preview operations:** This data source calls the `RunTask` API on every read operation, which means new task(s) may be created from a `pulumi preview` command if all attributes are known. Placing this functionality behind a data source is an intentional trade off to enable use cases requiring a one-time task execution without relying on provisioners. Caution should be taken to ensure the data source is only executed once, or that the resulting tasks can safely run in parallel. + * + * ## Example Usage + */ +export function getTaskExecutionOutput(args: GetTaskExecutionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getTaskExecution(a, opts)) +} + +/** + * A collection of arguments for invoking getTaskExecution. + */ +export interface GetTaskExecutionOutputArgs { + /** + * Set of capacity provider strategies to use for the cluster. See below. + */ + capacityProviderStrategies?: pulumi.Input[]>; + /** + * Short name or full Amazon Resource Name (ARN) of the cluster to run the task on. + */ + cluster: pulumi.Input; + /** + * Number of instantiations of the specified task to place on your cluster. You can specify up to 10 tasks for each call. + */ + desiredCount?: pulumi.Input; + /** + * Specifies whether to enable Amazon ECS managed tags for the tasks within the service. + */ + enableEcsManagedTags?: pulumi.Input; + /** + * Specifies whether to enable Amazon ECS Exec for the tasks within the service. + */ + enableExecuteCommand?: pulumi.Input; + /** + * Name of the task group to associate with the task. The default value is the family name of the task definition. + */ + group?: pulumi.Input; + /** + * Launch type on which to run your service. Valid values are `EC2`, `FARGATE`, and `EXTERNAL`. + */ + launchType?: pulumi.Input; + /** + * Network configuration for the service. This parameter is required for task definitions that use the `awsvpc` network mode to receive their own Elastic Network Interface, and it is not supported for other network modes. See below. + */ + networkConfiguration?: pulumi.Input; + /** + * A list of container overrides that specify the name of a container in the specified task definition and the overrides it should receive. + */ + overrides?: pulumi.Input; + /** + * An array of placement constraint objects to use for the task. You can specify up to 10 constraints for each task. See below. + */ + placementConstraints?: pulumi.Input[]>; + /** + * The placement strategy objects to use for the task. You can specify a maximum of 5 strategy rules for each task. See below. + */ + placementStrategies?: pulumi.Input[]>; + /** + * The platform version the task uses. A platform version is only specified for tasks hosted on Fargate. If one isn't specified, the `LATEST` platform version is used. + */ + platformVersion?: pulumi.Input; + /** + * Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. An error will be received if you specify the `SERVICE` option when running a task. Valid values are `TASK_DEFINITION` or `NONE`. + */ + propagateTags?: pulumi.Input; + /** + * The reference ID to use for the task. + */ + referenceId?: pulumi.Input; + /** + * An optional tag specified when a task is started. + */ + startedBy?: pulumi.Input; + /** + * Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * The `family` and `revision` (`family:revision`) or full ARN of the task definition to run. If a revision isn't specified, the latest `ACTIVE` revision is used. + */ + taskDefinition: pulumi.Input; +} diff --git a/sdk/nodejs/ecs/index.ts b/sdk/nodejs/ecs/index.ts index 8fca8630e3f..8d5a15af07f 100644 --- a/sdk/nodejs/ecs/index.ts +++ b/sdk/nodejs/ecs/index.ts @@ -46,6 +46,11 @@ export const getTaskDefinition: typeof import("./getTaskDefinition").getTaskDefi export const getTaskDefinitionOutput: typeof import("./getTaskDefinition").getTaskDefinitionOutput = null as any; utilities.lazyLoad(exports, ["getTaskDefinition","getTaskDefinitionOutput"], () => require("./getTaskDefinition")); +export { GetTaskExecutionArgs, GetTaskExecutionResult, GetTaskExecutionOutputArgs } from "./getTaskExecution"; +export const getTaskExecution: typeof import("./getTaskExecution").getTaskExecution = null as any; +export const getTaskExecutionOutput: typeof import("./getTaskExecution").getTaskExecutionOutput = null as any; +utilities.lazyLoad(exports, ["getTaskExecution","getTaskExecutionOutput"], () => require("./getTaskExecution")); + export { ServiceArgs, ServiceState } from "./service"; export type Service = import("./service").Service; export const Service: typeof import("./service").Service = null as any; diff --git a/sdk/nodejs/eks/cluster.ts b/sdk/nodejs/eks/cluster.ts index acea4ed5628..0727a807113 100644 --- a/sdk/nodejs/eks/cluster.ts +++ b/sdk/nodejs/eks/cluster.ts @@ -40,6 +40,34 @@ import * as utilities from "../utilities"; * }; * } * ``` + * ### Example IAM Role for EKS Cluster + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const assumeRole = aws.iam.getPolicyDocument({ + * statements: [{ + * effect: "Allow", + * principals: [{ + * type: "Service", + * identifiers: ["eks.amazonaws.com"], + * }], + * actions: ["sts:AssumeRole"], + * }], + * }); + * const example = new aws.iam.Role("example", {assumeRolePolicy: assumeRole.then(assumeRole => assumeRole.json)}); + * const example_AmazonEKSClusterPolicy = new aws.iam.RolePolicyAttachment("example-AmazonEKSClusterPolicy", { + * policyArn: "arn:aws:iam::aws:policy/AmazonEKSClusterPolicy", + * role: example.name, + * }); + * // Optionally, enable Security Groups for Pods + * // Reference: https://docs.aws.amazon.com/eks/latest/userguide/security-groups-for-pods.html + * const example_AmazonEKSVPCResourceController = new aws.iam.RolePolicyAttachment("example-AmazonEKSVPCResourceController", { + * policyArn: "arn:aws:iam::aws:policy/AmazonEKSVPCResourceController", + * role: example.name, + * }); + * ``` * ### Enabling Control Plane Logging * * [EKS Control Plane Logging](https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html) can be enabled via the `enabledClusterLogTypes` argument. To manage the CloudWatch Log Group retention period, the `aws.cloudwatch.LogGroup` resource can be used. diff --git a/sdk/nodejs/grafana/workspace.ts b/sdk/nodejs/grafana/workspace.ts index 04f57320d41..b1ecc237c79 100644 --- a/sdk/nodejs/grafana/workspace.ts +++ b/sdk/nodejs/grafana/workspace.ts @@ -108,6 +108,10 @@ export class Workspace extends pulumi.CustomResource { * The Grafana workspace name. */ public readonly name!: pulumi.Output; + /** + * Configuration for network access to your workspace.See Network Access Control below. + */ + public readonly networkAccessControl!: pulumi.Output; /** * The notification destinations. If a data source is specified here, Amazon Managed Grafana will create IAM roles and permissions needed to use these destinations. Must be set to `SNS`. */ @@ -168,6 +172,7 @@ export class Workspace extends pulumi.CustomResource { resourceInputs["endpoint"] = state ? state.endpoint : undefined; resourceInputs["grafanaVersion"] = state ? state.grafanaVersion : undefined; resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["networkAccessControl"] = state ? state.networkAccessControl : undefined; resourceInputs["notificationDestinations"] = state ? state.notificationDestinations : undefined; resourceInputs["organizationRoleName"] = state ? state.organizationRoleName : undefined; resourceInputs["organizationalUnits"] = state ? state.organizationalUnits : undefined; @@ -195,6 +200,7 @@ export class Workspace extends pulumi.CustomResource { resourceInputs["dataSources"] = args ? args.dataSources : undefined; resourceInputs["description"] = args ? args.description : undefined; resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["networkAccessControl"] = args ? args.networkAccessControl : undefined; resourceInputs["notificationDestinations"] = args ? args.notificationDestinations : undefined; resourceInputs["organizationRoleName"] = args ? args.organizationRoleName : undefined; resourceInputs["organizationalUnits"] = args ? args.organizationalUnits : undefined; @@ -254,6 +260,10 @@ export interface WorkspaceState { * The Grafana workspace name. */ name?: pulumi.Input; + /** + * Configuration for network access to your workspace.See Network Access Control below. + */ + networkAccessControl?: pulumi.Input; /** * The notification destinations. If a data source is specified here, Amazon Managed Grafana will create IAM roles and permissions needed to use these destinations. Must be set to `SNS`. */ @@ -321,6 +331,10 @@ export interface WorkspaceArgs { * The Grafana workspace name. */ name?: pulumi.Input; + /** + * Configuration for network access to your workspace.See Network Access Control below. + */ + networkAccessControl?: pulumi.Input; /** * The notification destinations. If a data source is specified here, Amazon Managed Grafana will create IAM roles and permissions needed to use these destinations. Must be set to `SNS`. */ diff --git a/sdk/nodejs/iam/policyAttachment.ts b/sdk/nodejs/iam/policyAttachment.ts index c2f333d8fdd..a87e935ceb4 100644 --- a/sdk/nodejs/iam/policyAttachment.ts +++ b/sdk/nodejs/iam/policyAttachment.ts @@ -15,6 +15,44 @@ import {Group, Role, User} from "./index"; * > **NOTE:** The usage of this resource conflicts with the `aws.iam.GroupPolicyAttachment`, `aws.iam.RolePolicyAttachment`, and `aws.iam.UserPolicyAttachment` resources and will permanently show a difference if both are defined. * * > **NOTE:** For a given role, this resource is incompatible with using the `aws.iam.Role` resource `managedPolicyArns` argument. When using that argument and this resource, both will attempt to manage the role's managed policy attachments and the provider will show a permanent difference. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const user = new aws.iam.User("user", {}); + * const assumeRole = aws.iam.getPolicyDocument({ + * statements: [{ + * effect: "Allow", + * principals: [{ + * type: "Service", + * identifiers: ["ec2.amazonaws.com"], + * }], + * actions: ["sts:AssumeRole"], + * }], + * }); + * const role = new aws.iam.Role("role", {assumeRolePolicy: assumeRole.then(assumeRole => assumeRole.json)}); + * const group = new aws.iam.Group("group", {}); + * const policyPolicyDocument = aws.iam.getPolicyDocument({ + * statements: [{ + * effect: "Allow", + * actions: ["ec2:Describe*"], + * resources: ["*"], + * }], + * }); + * const policyPolicy = new aws.iam.Policy("policyPolicy", { + * description: "A test policy", + * policy: policyPolicyDocument.then(policyPolicyDocument => policyPolicyDocument.json), + * }); + * const test_attach = new aws.iam.PolicyAttachment("test-attach", { + * users: [user.name], + * roles: [role.name], + * groups: [group.name], + * policyArn: policyPolicy.arn, + * }); + * ``` */ export class PolicyAttachment extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/lambda/function.ts b/sdk/nodejs/lambda/function.ts index 6931c4e7931..10e86d10ddc 100644 --- a/sdk/nodejs/lambda/function.ts +++ b/sdk/nodejs/lambda/function.ts @@ -16,6 +16,8 @@ import {ARN} from ".."; * * > **NOTE:** Due to [AWS Lambda improved VPC networking changes that began deploying in September 2019](https://aws.amazon.com/blogs/compute/announcing-improved-vpc-networking-for-aws-lambda-functions/), EC2 subnets and security groups associated with Lambda Functions can take up to 45 minutes to successfully delete. * + * > **NOTE:** If you get a `KMSAccessDeniedException: Lambda was unable to decrypt the environment variables because KMS access was denied` error when invoking an `aws.lambda.Function` with environment variables, the IAM role associated with the function may have been deleted and recreated _after_ the function was created. You can fix the problem two ways: 1) updating the function's role to another role and then updating it back again to the recreated role, or 2) by using Pulumi to `taint` the function and `apply` your configuration again to recreate the function. (When you create a function, Lambda grants permissions on the KMS key to the function's IAM role. If the IAM role is recreated, the grant is no longer valid. Changing the function's role or recreating the function causes Lambda to update the grant.) + * * > To give an external source (like an EventBridge Rule, SNS, or S3) permission to access the Lambda function, use the `aws.lambda.Permission` resource. See [Lambda Permission Model](https://docs.aws.amazon.com/lambda/latest/dg/intro-permission-model.html) for more details. On the other hand, the `role` argument of this resource is the function's execution role for identity and access to AWS services and resources. * * ## Example Usage diff --git a/sdk/nodejs/lambda/getInvocation.ts b/sdk/nodejs/lambda/getInvocation.ts index 5a1d90b9c4b..d13e12d8ab2 100644 --- a/sdk/nodejs/lambda/getInvocation.ts +++ b/sdk/nodejs/lambda/getInvocation.ts @@ -8,6 +8,8 @@ import * as utilities from "../utilities"; * Use this data source to invoke custom lambda functions as data source. * The lambda function is invoked with [RequestResponse](https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html#API_Invoke_RequestSyntax) * invocation type. + * + * > **NOTE:** If you get a `KMSAccessDeniedException: Lambda was unable to decrypt the environment variables because KMS access was denied` error when invoking an `aws.lambda.Function` with environment variables, the IAM role associated with the function may have been deleted and recreated _after_ the function was created. You can fix the problem two ways: 1) updating the function's role to another role and then updating it back again to the recreated role, or 2) by using Pulumi to `taint` the function and `apply` your configuration again to recreate the function. (When you create a function, Lambda grants permissions on the KMS key to the function's IAM role. If the IAM role is recreated, the grant is no longer valid. Changing the function's role or recreating the function causes Lambda to update the grant.) */ export function getInvocation(args: GetInvocationArgs, opts?: pulumi.InvokeOptions): Promise { @@ -58,6 +60,8 @@ export interface GetInvocationResult { * Use this data source to invoke custom lambda functions as data source. * The lambda function is invoked with [RequestResponse](https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html#API_Invoke_RequestSyntax) * invocation type. + * + * > **NOTE:** If you get a `KMSAccessDeniedException: Lambda was unable to decrypt the environment variables because KMS access was denied` error when invoking an `aws.lambda.Function` with environment variables, the IAM role associated with the function may have been deleted and recreated _after_ the function was created. You can fix the problem two ways: 1) updating the function's role to another role and then updating it back again to the recreated role, or 2) by using Pulumi to `taint` the function and `apply` your configuration again to recreate the function. (When you create a function, Lambda grants permissions on the KMS key to the function's IAM role. If the IAM role is recreated, the grant is no longer valid. Changing the function's role or recreating the function causes Lambda to update the grant.) */ export function getInvocationOutput(args: GetInvocationOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { return pulumi.output(args).apply((a: any) => getInvocation(a, opts)) diff --git a/sdk/nodejs/lambda/invocation.ts b/sdk/nodejs/lambda/invocation.ts index 864f5153069..be572b0ae63 100644 --- a/sdk/nodejs/lambda/invocation.ts +++ b/sdk/nodejs/lambda/invocation.ts @@ -9,6 +9,8 @@ import * as utilities from "../utilities"; * * > **NOTE:** This resource _only_ invokes the function when the arguments call for a create or update. In other words, after an initial invocation on _apply_, if the arguments do not change, a subsequent _apply_ does not invoke the function again. To dynamically invoke the function, see the `triggers` example below. To always invoke a function on each _apply_, see the `aws.lambda.Invocation` data source. * + * > **NOTE:** If you get a `KMSAccessDeniedException: Lambda was unable to decrypt the environment variables because KMS access was denied` error when invoking an `aws.lambda.Function` with environment variables, the IAM role associated with the function may have been deleted and recreated _after_ the function was created. You can fix the problem two ways: 1) updating the function's role to another role and then updating it back again to the recreated role, or 2) by using Pulumi to `taint` the function and `apply` your configuration again to recreate the function. (When you create a function, Lambda grants permissions on the KMS key to the function's IAM role. If the IAM role is recreated, the grant is no longer valid. Changing the function's role or recreating the function causes Lambda to update the grant.) + * * ## Example Usage * ### Dynamic Invocation Example Using Triggers * diff --git a/sdk/nodejs/licensemanager/getLicenseGrants.ts b/sdk/nodejs/licensemanager/getLicenseGrants.ts new file mode 100644 index 00000000000..5cd931a0292 --- /dev/null +++ b/sdk/nodejs/licensemanager/getLicenseGrants.ts @@ -0,0 +1,95 @@ +// *** 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! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * This resource can be used to get a set of license grant ARNs matching a filter. + * + * ## Example Usage + * + * The following shows getting all license grant ARNs granted to your account. + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const current = aws.getCallerIdentity({}); + * const test = current.then(current => aws.licensemanager.getLicenseGrants({ + * filters: [{ + * name: "GranteePrincipalARN", + * values: [`arn:aws:iam::${current.accountId}:root`], + * }], + * })); + * ``` + */ +export function getLicenseGrants(args?: GetLicenseGrantsArgs, opts?: pulumi.InvokeOptions): Promise { + args = args || {}; + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws:licensemanager/getLicenseGrants:getLicenseGrants", { + "filters": args.filters, + }, opts); +} + +/** + * A collection of arguments for invoking getLicenseGrants. + */ +export interface GetLicenseGrantsArgs { + /** + * Custom filter block as described below. + */ + filters?: inputs.licensemanager.GetLicenseGrantsFilter[]; +} + +/** + * A collection of values returned by getLicenseGrants. + */ +export interface GetLicenseGrantsResult { + /** + * List of all the license grant ARNs found. + */ + readonly arns: string[]; + readonly filters?: outputs.licensemanager.GetLicenseGrantsFilter[]; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; +} +/** + * This resource can be used to get a set of license grant ARNs matching a filter. + * + * ## Example Usage + * + * The following shows getting all license grant ARNs granted to your account. + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const current = aws.getCallerIdentity({}); + * const test = current.then(current => aws.licensemanager.getLicenseGrants({ + * filters: [{ + * name: "GranteePrincipalARN", + * values: [`arn:aws:iam::${current.accountId}:root`], + * }], + * })); + * ``` + */ +export function getLicenseGrantsOutput(args?: GetLicenseGrantsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getLicenseGrants(a, opts)) +} + +/** + * A collection of arguments for invoking getLicenseGrants. + */ +export interface GetLicenseGrantsOutputArgs { + /** + * Custom filter block as described below. + */ + filters?: pulumi.Input[]>; +} diff --git a/sdk/nodejs/licensemanager/getReceivedLicense.ts b/sdk/nodejs/licensemanager/getReceivedLicense.ts new file mode 100644 index 00000000000..459b186657d --- /dev/null +++ b/sdk/nodejs/licensemanager/getReceivedLicense.ts @@ -0,0 +1,139 @@ +// *** 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! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * This resource can be used to get data on a received license using an ARN. This can be helpful for pulling in data on a license from the AWS marketplace and sharing that license with another account. + * + * ## Example Usage + * + * The following shows getting the received license data using and ARN. + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const test = aws.licensemanager.getReceivedLicense({ + * licenseArn: "arn:aws:license-manager::111111111111:license:l-ecbaa94eb71a4830b6d7e49268fecaa0", + * }); + * ``` + */ +export function getReceivedLicense(args: GetReceivedLicenseArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws:licensemanager/getReceivedLicense:getReceivedLicense", { + "licenseArn": args.licenseArn, + }, opts); +} + +/** + * A collection of arguments for invoking getReceivedLicense. + */ +export interface GetReceivedLicenseArgs { + /** + * The ARN of the received license you want data for. + */ + licenseArn: string; +} + +/** + * A collection of values returned by getReceivedLicense. + */ +export interface GetReceivedLicenseResult { + /** + * Granted license beneficiary. This is in the form of the ARN of the root user of the account. + */ + readonly beneficiary: string; + /** + * Configuration for consumption of the license. Detailed below + */ + readonly consumptionConfigurations: outputs.licensemanager.GetReceivedLicenseConsumptionConfiguration[]; + /** + * Creation time of the granted license in RFC 3339 format. + */ + readonly createTime: string; + /** + * License entitlements. Detailed below + */ + readonly entitlements: outputs.licensemanager.GetReceivedLicenseEntitlement[]; + /** + * Home Region of the granted license. + */ + readonly homeRegion: string; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + /** + * Granted license issuer. Detailed below + */ + readonly issuers: outputs.licensemanager.GetReceivedLicenseIssuer[]; + /** + * Amazon Resource Name (ARN) of the license. + */ + readonly licenseArn: string; + /** + * Granted license metadata. This is in the form of a set of all meta data. Detailed below + */ + readonly licenseMetadatas: outputs.licensemanager.GetReceivedLicenseLicenseMetadata[]; + /** + * License name. + */ + readonly licenseName: string; + /** + * Product name. + * * `productSku ` - Product SKU. + */ + readonly productName: string; + readonly productSku: string; + /** + * Granted license received metadata. Detailed below + */ + readonly receivedMetadatas: outputs.licensemanager.GetReceivedLicenseReceivedMetadata[]; + /** + * Granted license status. + */ + readonly status: string; + /** + * Date and time range during which the granted license is valid, in ISO8601-UTC format. Detailed below + */ + readonly validities: outputs.licensemanager.GetReceivedLicenseValidity[]; + /** + * Version of the granted license. + */ + readonly version: string; +} +/** + * This resource can be used to get data on a received license using an ARN. This can be helpful for pulling in data on a license from the AWS marketplace and sharing that license with another account. + * + * ## Example Usage + * + * The following shows getting the received license data using and ARN. + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const test = aws.licensemanager.getReceivedLicense({ + * licenseArn: "arn:aws:license-manager::111111111111:license:l-ecbaa94eb71a4830b6d7e49268fecaa0", + * }); + * ``` + */ +export function getReceivedLicenseOutput(args: GetReceivedLicenseOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getReceivedLicense(a, opts)) +} + +/** + * A collection of arguments for invoking getReceivedLicense. + */ +export interface GetReceivedLicenseOutputArgs { + /** + * The ARN of the received license you want data for. + */ + licenseArn: pulumi.Input; +} diff --git a/sdk/nodejs/licensemanager/getReceivedLicenses.ts b/sdk/nodejs/licensemanager/getReceivedLicenses.ts new file mode 100644 index 00000000000..1b3d601cea4 --- /dev/null +++ b/sdk/nodejs/licensemanager/getReceivedLicenses.ts @@ -0,0 +1,93 @@ +// *** 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! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * This resource can be used to get a set of license ARNs matching a filter. + * + * ## Example Usage + * + * The following shows getting all license ARNs issued from the AWS marketplace. Providing no filter, would provide all license ARNs for the entire account. + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const test = aws.licensemanager.getReceivedLicenses({ + * filters: [{ + * name: "IssuerName", + * values: ["AWS/Marketplace"], + * }], + * }); + * ``` + */ +export function getReceivedLicenses(args?: GetReceivedLicensesArgs, opts?: pulumi.InvokeOptions): Promise { + args = args || {}; + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws:licensemanager/getReceivedLicenses:getReceivedLicenses", { + "filters": args.filters, + }, opts); +} + +/** + * A collection of arguments for invoking getReceivedLicenses. + */ +export interface GetReceivedLicensesArgs { + /** + * Custom filter block as described below. + */ + filters?: inputs.licensemanager.GetReceivedLicensesFilter[]; +} + +/** + * A collection of values returned by getReceivedLicenses. + */ +export interface GetReceivedLicensesResult { + /** + * List of all the license ARNs found. + */ + readonly arns: string[]; + readonly filters?: outputs.licensemanager.GetReceivedLicensesFilter[]; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; +} +/** + * This resource can be used to get a set of license ARNs matching a filter. + * + * ## Example Usage + * + * The following shows getting all license ARNs issued from the AWS marketplace. Providing no filter, would provide all license ARNs for the entire account. + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const test = aws.licensemanager.getReceivedLicenses({ + * filters: [{ + * name: "IssuerName", + * values: ["AWS/Marketplace"], + * }], + * }); + * ``` + */ +export function getReceivedLicensesOutput(args?: GetReceivedLicensesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getReceivedLicenses(a, opts)) +} + +/** + * A collection of arguments for invoking getReceivedLicenses. + */ +export interface GetReceivedLicensesOutputArgs { + /** + * Custom filter block as described below. + */ + filters?: pulumi.Input[]>; +} diff --git a/sdk/nodejs/licensemanager/index.ts b/sdk/nodejs/licensemanager/index.ts index 4c457e58a96..f1b24b81ffb 100644 --- a/sdk/nodejs/licensemanager/index.ts +++ b/sdk/nodejs/licensemanager/index.ts @@ -10,11 +10,36 @@ export type Association = import("./association").Association; export const Association: typeof import("./association").Association = null as any; utilities.lazyLoad(exports, ["Association"], () => require("./association")); +export { GetLicenseGrantsArgs, GetLicenseGrantsResult, GetLicenseGrantsOutputArgs } from "./getLicenseGrants"; +export const getLicenseGrants: typeof import("./getLicenseGrants").getLicenseGrants = null as any; +export const getLicenseGrantsOutput: typeof import("./getLicenseGrants").getLicenseGrantsOutput = null as any; +utilities.lazyLoad(exports, ["getLicenseGrants","getLicenseGrantsOutput"], () => require("./getLicenseGrants")); + +export { GetReceivedLicenseArgs, GetReceivedLicenseResult, GetReceivedLicenseOutputArgs } from "./getReceivedLicense"; +export const getReceivedLicense: typeof import("./getReceivedLicense").getReceivedLicense = null as any; +export const getReceivedLicenseOutput: typeof import("./getReceivedLicense").getReceivedLicenseOutput = null as any; +utilities.lazyLoad(exports, ["getReceivedLicense","getReceivedLicenseOutput"], () => require("./getReceivedLicense")); + +export { GetReceivedLicensesArgs, GetReceivedLicensesResult, GetReceivedLicensesOutputArgs } from "./getReceivedLicenses"; +export const getReceivedLicenses: typeof import("./getReceivedLicenses").getReceivedLicenses = null as any; +export const getReceivedLicensesOutput: typeof import("./getReceivedLicenses").getReceivedLicensesOutput = null as any; +utilities.lazyLoad(exports, ["getReceivedLicenses","getReceivedLicensesOutput"], () => require("./getReceivedLicenses")); + export { LicenseConfigurationArgs, LicenseConfigurationState } from "./licenseConfiguration"; export type LicenseConfiguration = import("./licenseConfiguration").LicenseConfiguration; export const LicenseConfiguration: typeof import("./licenseConfiguration").LicenseConfiguration = null as any; utilities.lazyLoad(exports, ["LicenseConfiguration"], () => require("./licenseConfiguration")); +export { LicenseGrantArgs, LicenseGrantState } from "./licenseGrant"; +export type LicenseGrant = import("./licenseGrant").LicenseGrant; +export const LicenseGrant: typeof import("./licenseGrant").LicenseGrant = null as any; +utilities.lazyLoad(exports, ["LicenseGrant"], () => require("./licenseGrant")); + +export { LicenseGrantAccepterArgs, LicenseGrantAccepterState } from "./licenseGrantAccepter"; +export type LicenseGrantAccepter = import("./licenseGrantAccepter").LicenseGrantAccepter; +export const LicenseGrantAccepter: typeof import("./licenseGrantAccepter").LicenseGrantAccepter = null as any; +utilities.lazyLoad(exports, ["LicenseGrantAccepter"], () => require("./licenseGrantAccepter")); + const _module = { version: utilities.getVersion(), @@ -24,6 +49,10 @@ const _module = { return new Association(name, undefined, { urn }) case "aws:licensemanager/licenseConfiguration:LicenseConfiguration": return new LicenseConfiguration(name, undefined, { urn }) + case "aws:licensemanager/licenseGrant:LicenseGrant": + return new LicenseGrant(name, undefined, { urn }) + case "aws:licensemanager/licenseGrantAccepter:LicenseGrantAccepter": + return new LicenseGrantAccepter(name, undefined, { urn }) default: throw new Error(`unknown resource type ${type}`); } @@ -31,3 +60,5 @@ const _module = { }; pulumi.runtime.registerResourceModule("aws", "licensemanager/association", _module) pulumi.runtime.registerResourceModule("aws", "licensemanager/licenseConfiguration", _module) +pulumi.runtime.registerResourceModule("aws", "licensemanager/licenseGrant", _module) +pulumi.runtime.registerResourceModule("aws", "licensemanager/licenseGrantAccepter", _module) diff --git a/sdk/nodejs/licensemanager/licenseGrant.ts b/sdk/nodejs/licensemanager/licenseGrant.ts new file mode 100644 index 00000000000..960e2bd0e7a --- /dev/null +++ b/sdk/nodejs/licensemanager/licenseGrant.ts @@ -0,0 +1,193 @@ +// *** 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! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../utilities"; + +/** + * Provides a License Manager grant. This allows for sharing licenses with other AWS accounts. + * + * ## Import + * + * `aws_licensemanager_grant` can be imported using the grant arn. + * + * ```sh + * $ pulumi import aws:licensemanager/licenseGrant:LicenseGrant test arn:aws:license-manager::123456789011:grant:g-01d313393d9e443d8664cc054db1e089 + * ``` + */ +export class LicenseGrant extends pulumi.CustomResource { + /** + * Get an existing LicenseGrant resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: LicenseGrantState, opts?: pulumi.CustomResourceOptions): LicenseGrant { + return new LicenseGrant(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:licensemanager/licenseGrant:LicenseGrant'; + + /** + * Returns true if the given object is an instance of LicenseGrant. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is LicenseGrant { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === LicenseGrant.__pulumiType; + } + + /** + * A list of the allowed operations for the grant. This is a subset of the allowed operations on the license. + */ + public readonly allowedOperations!: pulumi.Output; + /** + * The grant ARN. + */ + public /*out*/ readonly arn!: pulumi.Output; + /** + * The home region for the license. + */ + public /*out*/ readonly homeRegion!: pulumi.Output; + /** + * The ARN of the license to grant. + */ + public readonly licenseArn!: pulumi.Output; + /** + * The Name of the grant. + */ + public readonly name!: pulumi.Output; + /** + * The parent ARN. + */ + public /*out*/ readonly parentArn!: pulumi.Output; + /** + * The target account for the grant in the form of the ARN for an account principal of the root user. + */ + public readonly principal!: pulumi.Output; + /** + * The grant status. + */ + public /*out*/ readonly status!: pulumi.Output; + /** + * The grant version. + */ + public /*out*/ readonly version!: pulumi.Output; + + /** + * Create a LicenseGrant resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: LicenseGrantArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: LicenseGrantArgs | LicenseGrantState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as LicenseGrantState | undefined; + resourceInputs["allowedOperations"] = state ? state.allowedOperations : undefined; + resourceInputs["arn"] = state ? state.arn : undefined; + resourceInputs["homeRegion"] = state ? state.homeRegion : undefined; + resourceInputs["licenseArn"] = state ? state.licenseArn : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["parentArn"] = state ? state.parentArn : undefined; + resourceInputs["principal"] = state ? state.principal : undefined; + resourceInputs["status"] = state ? state.status : undefined; + resourceInputs["version"] = state ? state.version : undefined; + } else { + const args = argsOrState as LicenseGrantArgs | undefined; + if ((!args || args.allowedOperations === undefined) && !opts.urn) { + throw new Error("Missing required property 'allowedOperations'"); + } + if ((!args || args.licenseArn === undefined) && !opts.urn) { + throw new Error("Missing required property 'licenseArn'"); + } + if ((!args || args.principal === undefined) && !opts.urn) { + throw new Error("Missing required property 'principal'"); + } + resourceInputs["allowedOperations"] = args ? args.allowedOperations : undefined; + resourceInputs["licenseArn"] = args ? args.licenseArn : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["principal"] = args ? args.principal : undefined; + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["homeRegion"] = undefined /*out*/; + resourceInputs["parentArn"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + resourceInputs["version"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(LicenseGrant.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering LicenseGrant resources. + */ +export interface LicenseGrantState { + /** + * A list of the allowed operations for the grant. This is a subset of the allowed operations on the license. + */ + allowedOperations?: pulumi.Input[]>; + /** + * The grant ARN. + */ + arn?: pulumi.Input; + /** + * The home region for the license. + */ + homeRegion?: pulumi.Input; + /** + * The ARN of the license to grant. + */ + licenseArn?: pulumi.Input; + /** + * The Name of the grant. + */ + name?: pulumi.Input; + /** + * The parent ARN. + */ + parentArn?: pulumi.Input; + /** + * The target account for the grant in the form of the ARN for an account principal of the root user. + */ + principal?: pulumi.Input; + /** + * The grant status. + */ + status?: pulumi.Input; + /** + * The grant version. + */ + version?: pulumi.Input; +} + +/** + * The set of arguments for constructing a LicenseGrant resource. + */ +export interface LicenseGrantArgs { + /** + * A list of the allowed operations for the grant. This is a subset of the allowed operations on the license. + */ + allowedOperations: pulumi.Input[]>; + /** + * The ARN of the license to grant. + */ + licenseArn: pulumi.Input; + /** + * The Name of the grant. + */ + name?: pulumi.Input; + /** + * The target account for the grant in the form of the ARN for an account principal of the root user. + */ + principal: pulumi.Input; +} diff --git a/sdk/nodejs/licensemanager/licenseGrantAccepter.ts b/sdk/nodejs/licensemanager/licenseGrantAccepter.ts new file mode 100644 index 00000000000..ce00e83bcbe --- /dev/null +++ b/sdk/nodejs/licensemanager/licenseGrantAccepter.ts @@ -0,0 +1,175 @@ +// *** 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! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../utilities"; + +/** + * Accepts a License Manager grant. This allows for sharing licenses with other aws accounts. + * + * ## Import + * + * `aws_licensemanager_grant_accepter` can be imported using the grant arn. + * + * ```sh + * $ pulumi import aws:licensemanager/licenseGrantAccepter:LicenseGrantAccepter test arn:aws:license-manager::123456789012:grant:g-1cf9fba4ba2f42dcab11c686c4b4d329 + * ``` + */ +export class LicenseGrantAccepter extends pulumi.CustomResource { + /** + * Get an existing LicenseGrantAccepter resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: LicenseGrantAccepterState, opts?: pulumi.CustomResourceOptions): LicenseGrantAccepter { + return new LicenseGrantAccepter(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:licensemanager/licenseGrantAccepter:LicenseGrantAccepter'; + + /** + * Returns true if the given object is an instance of LicenseGrantAccepter. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is LicenseGrantAccepter { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === LicenseGrantAccepter.__pulumiType; + } + + /** + * A list of the allowed operations for the grant. + */ + public /*out*/ readonly allowedOperations!: pulumi.Output; + /** + * The ARN of the grant to accept. + */ + public readonly grantArn!: pulumi.Output; + /** + * The home region for the license. + */ + public /*out*/ readonly homeRegion!: pulumi.Output; + /** + * The ARN of the license for the grant. + */ + public /*out*/ readonly licenseArn!: pulumi.Output; + /** + * The Name of the grant. + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * The parent ARN. + */ + public /*out*/ readonly parentArn!: pulumi.Output; + /** + * The target account for the grant. + */ + public /*out*/ readonly principal!: pulumi.Output; + /** + * The grant status. + */ + public /*out*/ readonly status!: pulumi.Output; + /** + * The grant version. + */ + public /*out*/ readonly version!: pulumi.Output; + + /** + * Create a LicenseGrantAccepter resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: LicenseGrantAccepterArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: LicenseGrantAccepterArgs | LicenseGrantAccepterState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as LicenseGrantAccepterState | undefined; + resourceInputs["allowedOperations"] = state ? state.allowedOperations : undefined; + resourceInputs["grantArn"] = state ? state.grantArn : undefined; + resourceInputs["homeRegion"] = state ? state.homeRegion : undefined; + resourceInputs["licenseArn"] = state ? state.licenseArn : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["parentArn"] = state ? state.parentArn : undefined; + resourceInputs["principal"] = state ? state.principal : undefined; + resourceInputs["status"] = state ? state.status : undefined; + resourceInputs["version"] = state ? state.version : undefined; + } else { + const args = argsOrState as LicenseGrantAccepterArgs | undefined; + if ((!args || args.grantArn === undefined) && !opts.urn) { + throw new Error("Missing required property 'grantArn'"); + } + resourceInputs["grantArn"] = args ? args.grantArn : undefined; + resourceInputs["allowedOperations"] = undefined /*out*/; + resourceInputs["homeRegion"] = undefined /*out*/; + resourceInputs["licenseArn"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["parentArn"] = undefined /*out*/; + resourceInputs["principal"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + resourceInputs["version"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(LicenseGrantAccepter.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering LicenseGrantAccepter resources. + */ +export interface LicenseGrantAccepterState { + /** + * A list of the allowed operations for the grant. + */ + allowedOperations?: pulumi.Input[]>; + /** + * The ARN of the grant to accept. + */ + grantArn?: pulumi.Input; + /** + * The home region for the license. + */ + homeRegion?: pulumi.Input; + /** + * The ARN of the license for the grant. + */ + licenseArn?: pulumi.Input; + /** + * The Name of the grant. + */ + name?: pulumi.Input; + /** + * The parent ARN. + */ + parentArn?: pulumi.Input; + /** + * The target account for the grant. + */ + principal?: pulumi.Input; + /** + * The grant status. + */ + status?: pulumi.Input; + /** + * The grant version. + */ + version?: pulumi.Input; +} + +/** + * The set of arguments for constructing a LicenseGrantAccepter resource. + */ +export interface LicenseGrantAccepterArgs { + /** + * The ARN of the grant to accept. + */ + grantArn: pulumi.Input; +} diff --git a/sdk/nodejs/organizations/policy.ts b/sdk/nodejs/organizations/policy.ts index 200d5ee4737..ca261b4071b 100644 --- a/sdk/nodejs/organizations/policy.ts +++ b/sdk/nodejs/organizations/policy.ts @@ -7,6 +7,22 @@ import * as utilities from "../utilities"; /** * Provides a resource to manage an [AWS Organizations policy](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies.html). * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const examplePolicyDocument = aws.iam.getPolicyDocument({ + * statements: [{ + * effect: "Allow", + * actions: ["*"], + * resources: ["*"], + * }], + * }); + * const examplePolicy = new aws.organizations.Policy("examplePolicy", {content: examplePolicyDocument.then(examplePolicyDocument => examplePolicyDocument.json)}); + * ``` + * * ## Import * * `aws_organizations_policy` can be imported by using the policy ID, e.g., diff --git a/sdk/nodejs/rds/instance.ts b/sdk/nodejs/rds/instance.ts index 35e172a1681..ce1bd86dde0 100644 --- a/sdk/nodejs/rds/instance.ts +++ b/sdk/nodejs/rds/instance.ts @@ -114,7 +114,7 @@ export class Instance extends pulumi.CustomResource { } /** - * The hostname of the RDS instance. See also `endpoint` and `port`. + * Specifies the DNS address of the DB instance. */ public /*out*/ readonly address!: pulumi.Output; /** @@ -256,8 +256,7 @@ export class Instance extends pulumi.CustomResource { */ public readonly finalSnapshotIdentifier!: pulumi.Output; /** - * The canonical hosted zone ID of the DB instance (to be used - * in a Route 53 Alias record). + * Specifies the ID that Amazon Route 53 assigns when you create a hosted zone. */ public /*out*/ readonly hostedZoneId!: pulumi.Output; /** @@ -300,6 +299,10 @@ export class Instance extends pulumi.CustomResource { * SE1) License model information for this DB instance. */ public readonly licenseModel!: pulumi.Output; + /** + * Specifies the listener connection endpoint for SQL Server Always On. See endpoint below. + */ + public /*out*/ readonly listenerEndpoints!: pulumi.Output; /** * The window to perform maintenance in. * Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00". See [RDS @@ -530,6 +533,7 @@ export class Instance extends pulumi.CustomResource { resourceInputs["kmsKeyId"] = state ? state.kmsKeyId : undefined; resourceInputs["latestRestorableTime"] = state ? state.latestRestorableTime : undefined; resourceInputs["licenseModel"] = state ? state.licenseModel : undefined; + resourceInputs["listenerEndpoints"] = state ? state.listenerEndpoints : undefined; resourceInputs["maintenanceWindow"] = state ? state.maintenanceWindow : undefined; resourceInputs["maxAllocatedStorage"] = state ? state.maxAllocatedStorage : undefined; resourceInputs["monitoringInterval"] = state ? state.monitoringInterval : undefined; @@ -635,6 +639,7 @@ export class Instance extends pulumi.CustomResource { resourceInputs["engineVersionActual"] = undefined /*out*/; resourceInputs["hostedZoneId"] = undefined /*out*/; resourceInputs["latestRestorableTime"] = undefined /*out*/; + resourceInputs["listenerEndpoints"] = undefined /*out*/; resourceInputs["replicas"] = undefined /*out*/; resourceInputs["resourceId"] = undefined /*out*/; resourceInputs["status"] = undefined /*out*/; @@ -652,7 +657,7 @@ export class Instance extends pulumi.CustomResource { */ export interface InstanceState { /** - * The hostname of the RDS instance. See also `endpoint` and `port`. + * Specifies the DNS address of the DB instance. */ address?: pulumi.Input; /** @@ -794,8 +799,7 @@ export interface InstanceState { */ finalSnapshotIdentifier?: pulumi.Input; /** - * The canonical hosted zone ID of the DB instance (to be used - * in a Route 53 Alias record). + * Specifies the ID that Amazon Route 53 assigns when you create a hosted zone. */ hostedZoneId?: pulumi.Input; /** @@ -838,6 +842,10 @@ export interface InstanceState { * SE1) License model information for this DB instance. */ licenseModel?: pulumi.Input; + /** + * Specifies the listener connection endpoint for SQL Server Always On. See endpoint below. + */ + listenerEndpoints?: pulumi.Input[]>; /** * The window to perform maintenance in. * Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00". See [RDS diff --git a/sdk/nodejs/rds/snapshot.ts b/sdk/nodejs/rds/snapshot.ts index a1720ca32b6..ae7c8b207ba 100644 --- a/sdk/nodejs/rds/snapshot.ts +++ b/sdk/nodejs/rds/snapshot.ts @@ -116,6 +116,10 @@ export class Snapshot extends pulumi.CustomResource { */ public /*out*/ readonly optionGroupName!: pulumi.Output; public /*out*/ readonly port!: pulumi.Output; + /** + * List of AWS Account ids to share snapshot with, use `all` to make snaphot public. + */ + public readonly sharedAccounts!: pulumi.Output; public /*out*/ readonly snapshotType!: pulumi.Output; /** * The DB snapshot Arn that the DB snapshot was copied from. It only has value in case of cross customer or cross region copy. @@ -172,6 +176,7 @@ export class Snapshot extends pulumi.CustomResource { resourceInputs["licenseModel"] = state ? state.licenseModel : undefined; resourceInputs["optionGroupName"] = state ? state.optionGroupName : undefined; resourceInputs["port"] = state ? state.port : undefined; + resourceInputs["sharedAccounts"] = state ? state.sharedAccounts : undefined; resourceInputs["snapshotType"] = state ? state.snapshotType : undefined; resourceInputs["sourceDbSnapshotIdentifier"] = state ? state.sourceDbSnapshotIdentifier : undefined; resourceInputs["sourceRegion"] = state ? state.sourceRegion : undefined; @@ -190,6 +195,7 @@ export class Snapshot extends pulumi.CustomResource { } resourceInputs["dbInstanceIdentifier"] = args ? args.dbInstanceIdentifier : undefined; resourceInputs["dbSnapshotIdentifier"] = args ? args.dbSnapshotIdentifier : undefined; + resourceInputs["sharedAccounts"] = args ? args.sharedAccounts : undefined; resourceInputs["tags"] = args ? args.tags : undefined; resourceInputs["allocatedStorage"] = undefined /*out*/; resourceInputs["availabilityZone"] = undefined /*out*/; @@ -268,6 +274,10 @@ export interface SnapshotState { */ optionGroupName?: pulumi.Input; port?: pulumi.Input; + /** + * List of AWS Account ids to share snapshot with, use `all` to make snaphot public. + */ + sharedAccounts?: pulumi.Input[]>; snapshotType?: pulumi.Input; /** * The DB snapshot Arn that the DB snapshot was copied from. It only has value in case of cross customer or cross region copy. @@ -311,6 +321,10 @@ export interface SnapshotArgs { * The Identifier for the snapshot. */ dbSnapshotIdentifier: pulumi.Input; + /** + * List of AWS Account ids to share snapshot with, use `all` to make snaphot public. + */ + sharedAccounts?: pulumi.Input[]>; /** * Key-value map of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ diff --git a/sdk/nodejs/redshift/clusterSnapshot.ts b/sdk/nodejs/redshift/clusterSnapshot.ts new file mode 100644 index 00000000000..3dc6a94d9e2 --- /dev/null +++ b/sdk/nodejs/redshift/clusterSnapshot.ts @@ -0,0 +1,180 @@ +// *** 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! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../utilities"; + +/** + * Creates a Redshift cluster snapshot + * + * ## Import + * + * Redshift Cluster Snapshots support import by `snapshot_identifier`, e.g., console + * + * ```sh + * $ pulumi import aws:redshift/clusterSnapshot:ClusterSnapshot test example + * ``` + */ +export class ClusterSnapshot extends pulumi.CustomResource { + /** + * Get an existing ClusterSnapshot resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: ClusterSnapshotState, opts?: pulumi.CustomResourceOptions): ClusterSnapshot { + return new ClusterSnapshot(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:redshift/clusterSnapshot:ClusterSnapshot'; + + /** + * Returns true if the given object is an instance of ClusterSnapshot. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is ClusterSnapshot { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === ClusterSnapshot.__pulumiType; + } + + /** + * Amazon Resource Name (ARN) of the snapshot. + */ + public /*out*/ readonly arn!: pulumi.Output; + /** + * The cluster identifier for which you want a snapshot. + */ + public readonly clusterIdentifier!: pulumi.Output; + /** + * The Key Management Service (KMS) key ID of the encryption key that was used to encrypt data in the cluster from which the snapshot was taken. + */ + public /*out*/ readonly kmsKeyId!: pulumi.Output; + /** + * The number of days that a manual snapshot is retained. If the value is `-1`, the manual snapshot is retained indefinitely. Valid values are -1 and between `1` and `3653`. + */ + public readonly manualSnapshotRetentionPeriod!: pulumi.Output; + /** + * For manual snapshots, the Amazon Web Services account used to create or copy the snapshot. For automatic snapshots, the owner of the cluster. The owner can perform all snapshot actions, such as sharing a manual snapshot. + */ + public /*out*/ readonly ownerAccount!: pulumi.Output; + /** + * A unique identifier for the snapshot that you are requesting. This identifier must be unique for all snapshots within the Amazon Web Services account. + */ + public readonly snapshotIdentifier!: pulumi.Output; + /** + * A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + */ + public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + + /** + * Create a ClusterSnapshot resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: ClusterSnapshotArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: ClusterSnapshotArgs | ClusterSnapshotState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as ClusterSnapshotState | undefined; + resourceInputs["arn"] = state ? state.arn : undefined; + resourceInputs["clusterIdentifier"] = state ? state.clusterIdentifier : undefined; + resourceInputs["kmsKeyId"] = state ? state.kmsKeyId : undefined; + resourceInputs["manualSnapshotRetentionPeriod"] = state ? state.manualSnapshotRetentionPeriod : undefined; + resourceInputs["ownerAccount"] = state ? state.ownerAccount : undefined; + resourceInputs["snapshotIdentifier"] = state ? state.snapshotIdentifier : undefined; + resourceInputs["tags"] = state ? state.tags : undefined; + resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; + } else { + const args = argsOrState as ClusterSnapshotArgs | undefined; + if ((!args || args.clusterIdentifier === undefined) && !opts.urn) { + throw new Error("Missing required property 'clusterIdentifier'"); + } + if ((!args || args.snapshotIdentifier === undefined) && !opts.urn) { + throw new Error("Missing required property 'snapshotIdentifier'"); + } + resourceInputs["clusterIdentifier"] = args ? args.clusterIdentifier : undefined; + resourceInputs["manualSnapshotRetentionPeriod"] = args ? args.manualSnapshotRetentionPeriod : undefined; + resourceInputs["snapshotIdentifier"] = args ? args.snapshotIdentifier : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["kmsKeyId"] = undefined /*out*/; + resourceInputs["ownerAccount"] = undefined /*out*/; + resourceInputs["tagsAll"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(ClusterSnapshot.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering ClusterSnapshot resources. + */ +export interface ClusterSnapshotState { + /** + * Amazon Resource Name (ARN) of the snapshot. + */ + arn?: pulumi.Input; + /** + * The cluster identifier for which you want a snapshot. + */ + clusterIdentifier?: pulumi.Input; + /** + * The Key Management Service (KMS) key ID of the encryption key that was used to encrypt data in the cluster from which the snapshot was taken. + */ + kmsKeyId?: pulumi.Input; + /** + * The number of days that a manual snapshot is retained. If the value is `-1`, the manual snapshot is retained indefinitely. Valid values are -1 and between `1` and `3653`. + */ + manualSnapshotRetentionPeriod?: pulumi.Input; + /** + * For manual snapshots, the Amazon Web Services account used to create or copy the snapshot. For automatic snapshots, the owner of the cluster. The owner can perform all snapshot actions, such as sharing a manual snapshot. + */ + ownerAccount?: pulumi.Input; + /** + * A unique identifier for the snapshot that you are requesting. This identifier must be unique for all snapshots within the Amazon Web Services account. + */ + snapshotIdentifier?: pulumi.Input; + /** + * A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + */ + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; +} + +/** + * The set of arguments for constructing a ClusterSnapshot resource. + */ +export interface ClusterSnapshotArgs { + /** + * The cluster identifier for which you want a snapshot. + */ + clusterIdentifier: pulumi.Input; + /** + * The number of days that a manual snapshot is retained. If the value is `-1`, the manual snapshot is retained indefinitely. Valid values are -1 and between `1` and `3653`. + */ + manualSnapshotRetentionPeriod?: pulumi.Input; + /** + * A unique identifier for the snapshot that you are requesting. This identifier must be unique for all snapshots within the Amazon Web Services account. + */ + snapshotIdentifier: pulumi.Input; + /** + * A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; +} diff --git a/sdk/nodejs/redshift/index.ts b/sdk/nodejs/redshift/index.ts index 0d11f8c96cb..10ca74c4f2c 100644 --- a/sdk/nodejs/redshift/index.ts +++ b/sdk/nodejs/redshift/index.ts @@ -20,6 +20,11 @@ export type ClusterIamRoles = import("./clusterIamRoles").ClusterIamRoles; export const ClusterIamRoles: typeof import("./clusterIamRoles").ClusterIamRoles = null as any; utilities.lazyLoad(exports, ["ClusterIamRoles"], () => require("./clusterIamRoles")); +export { ClusterSnapshotArgs, ClusterSnapshotState } from "./clusterSnapshot"; +export type ClusterSnapshot = import("./clusterSnapshot").ClusterSnapshot; +export const ClusterSnapshot: typeof import("./clusterSnapshot").ClusterSnapshot = null as any; +utilities.lazyLoad(exports, ["ClusterSnapshot"], () => require("./clusterSnapshot")); + export { EndpointAccessArgs, EndpointAccessState } from "./endpointAccess"; export type EndpointAccess = import("./endpointAccess").EndpointAccess; export const EndpointAccess: typeof import("./endpointAccess").EndpointAccess = null as any; @@ -126,6 +131,8 @@ const _module = { return new Cluster(name, undefined, { urn }) case "aws:redshift/clusterIamRoles:ClusterIamRoles": return new ClusterIamRoles(name, undefined, { urn }) + case "aws:redshift/clusterSnapshot:ClusterSnapshot": + return new ClusterSnapshot(name, undefined, { urn }) case "aws:redshift/endpointAccess:EndpointAccess": return new EndpointAccess(name, undefined, { urn }) case "aws:redshift/endpointAuthorization:EndpointAuthorization": @@ -162,6 +169,7 @@ const _module = { pulumi.runtime.registerResourceModule("aws", "redshift/authenticationProfile", _module) pulumi.runtime.registerResourceModule("aws", "redshift/cluster", _module) pulumi.runtime.registerResourceModule("aws", "redshift/clusterIamRoles", _module) +pulumi.runtime.registerResourceModule("aws", "redshift/clusterSnapshot", _module) pulumi.runtime.registerResourceModule("aws", "redshift/endpointAccess", _module) pulumi.runtime.registerResourceModule("aws", "redshift/endpointAuthorization", _module) pulumi.runtime.registerResourceModule("aws", "redshift/eventSubscription", _module) diff --git a/sdk/nodejs/redshiftserverless/namespace.ts b/sdk/nodejs/redshiftserverless/namespace.ts index 03d0c4a8cc9..4377c55d82d 100644 --- a/sdk/nodejs/redshiftserverless/namespace.ts +++ b/sdk/nodejs/redshiftserverless/namespace.ts @@ -69,7 +69,7 @@ export class Namespace extends pulumi.CustomResource { */ public readonly dbName!: pulumi.Output; /** - * The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. + * The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. When specifying `defaultIamRoleArn`, it also must be part of `iamRoles`. */ public readonly defaultIamRoleArn!: pulumi.Output; /** @@ -172,7 +172,7 @@ export interface NamespaceState { */ dbName?: pulumi.Input; /** - * The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. + * The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. When specifying `defaultIamRoleArn`, it also must be part of `iamRoles`. */ defaultIamRoleArn?: pulumi.Input; /** @@ -222,7 +222,7 @@ export interface NamespaceArgs { */ dbName?: pulumi.Input; /** - * The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. + * The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. When specifying `defaultIamRoleArn`, it also must be part of `iamRoles`. */ defaultIamRoleArn?: pulumi.Input; /** diff --git a/sdk/nodejs/route53/hostedZoneDnsSec.ts b/sdk/nodejs/route53/hostedZoneDnsSec.ts index f8ae8fe90b0..c0119d75561 100644 --- a/sdk/nodejs/route53/hostedZoneDnsSec.ts +++ b/sdk/nodejs/route53/hostedZoneDnsSec.ts @@ -20,48 +20,27 @@ import * as utilities from "../utilities"; * customerMasterKeySpec: "ECC_NIST_P256", * deletionWindowInDays: 7, * keyUsage: "SIGN_VERIFY", - * policy: Promise.all([current, current]).then(([current, current1]) => JSON.stringify({ + * policy: current.then(current => JSON.stringify({ * Statement: [ * { * Action: [ * "kms:DescribeKey", * "kms:GetPublicKey", * "kms:Sign", + * "kms:Verify", * ], * Effect: "Allow", * Principal: { * Service: "dnssec-route53.amazonaws.com", * }, - * Sid: "Allow Route 53 DNSSEC Service", * Resource: "*", - * Condition: { - * StringEquals: { - * "aws:SourceAccount": current.accountId, - * }, - * ArnLike: { - * "aws:SourceArn": "arn:aws:route53:::hostedzone/*", - * }, - * }, - * }, - * { - * Action: "kms:CreateGrant", - * Effect: "Allow", - * Principal: { - * Service: "dnssec-route53.amazonaws.com", - * }, - * Sid: "Allow Route 53 DNSSEC Service to CreateGrant", - * Resource: "*", - * Condition: { - * Bool: { - * "kms:GrantIsForAWSResource": "true", - * }, - * }, + * Sid: "Allow Route 53 DNSSEC Service", * }, * { * Action: "kms:*", * Effect: "Allow", * Principal: { - * AWS: `arn:aws:iam::${current1.accountId}:root`, + * AWS: `arn:aws:iam::${current.accountId}:root`, * }, * Resource: "*", * Sid: "Enable IAM User Permissions", diff --git a/sdk/nodejs/sagemaker/domain.ts b/sdk/nodejs/sagemaker/domain.ts index b34d73e38c8..77df1274b35 100644 --- a/sdk/nodejs/sagemaker/domain.ts +++ b/sdk/nodejs/sagemaker/domain.ts @@ -120,7 +120,7 @@ export class Domain extends pulumi.CustomResource { */ public readonly appNetworkAccessType!: pulumi.Output; /** - * The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`.* `domainSettings` - (Optional) The domain settings. See Domain Settings below. + * The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`. */ public readonly appSecurityGroupManagement!: pulumi.Output; /** @@ -266,7 +266,7 @@ export interface DomainState { */ appNetworkAccessType?: pulumi.Input; /** - * The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`.* `domainSettings` - (Optional) The domain settings. See Domain Settings below. + * The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`. */ appSecurityGroupManagement?: pulumi.Input; /** @@ -341,7 +341,7 @@ export interface DomainArgs { */ appNetworkAccessType?: pulumi.Input; /** - * The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`.* `domainSettings` - (Optional) The domain settings. See Domain Settings below. + * The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`. */ appSecurityGroupManagement?: pulumi.Input; /** diff --git a/sdk/nodejs/sesv2/configurationSet.ts b/sdk/nodejs/sesv2/configurationSet.ts index 336dc2582cf..82568de2c3a 100644 --- a/sdk/nodejs/sesv2/configurationSet.ts +++ b/sdk/nodejs/sesv2/configurationSet.ts @@ -109,6 +109,10 @@ export class ConfigurationSet extends pulumi.CustomResource { * An object that defines the open and click tracking options for emails that you send using the configuration set. */ public readonly trackingOptions!: pulumi.Output; + /** + * An object that defines the VDM settings that apply to emails that you send using the configuration set. + */ + public readonly vdmOptions!: pulumi.Output; /** * Create a ConfigurationSet resource with the given unique name, arguments, and options. @@ -132,6 +136,7 @@ export class ConfigurationSet extends pulumi.CustomResource { resourceInputs["tags"] = state ? state.tags : undefined; resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; resourceInputs["trackingOptions"] = state ? state.trackingOptions : undefined; + resourceInputs["vdmOptions"] = state ? state.vdmOptions : undefined; } else { const args = argsOrState as ConfigurationSetArgs | undefined; if ((!args || args.configurationSetName === undefined) && !opts.urn) { @@ -144,6 +149,7 @@ export class ConfigurationSet extends pulumi.CustomResource { resourceInputs["suppressionOptions"] = args ? args.suppressionOptions : undefined; resourceInputs["tags"] = args ? args.tags : undefined; resourceInputs["trackingOptions"] = args ? args.trackingOptions : undefined; + resourceInputs["vdmOptions"] = args ? args.vdmOptions : undefined; resourceInputs["arn"] = undefined /*out*/; resourceInputs["tagsAll"] = undefined /*out*/; } @@ -189,6 +195,10 @@ export interface ConfigurationSetState { * An object that defines the open and click tracking options for emails that you send using the configuration set. */ trackingOptions?: pulumi.Input; + /** + * An object that defines the VDM settings that apply to emails that you send using the configuration set. + */ + vdmOptions?: pulumi.Input; } /** @@ -223,4 +233,8 @@ export interface ConfigurationSetArgs { * An object that defines the open and click tracking options for emails that you send using the configuration set. */ trackingOptions?: pulumi.Input; + /** + * An object that defines the VDM settings that apply to emails that you send using the configuration set. + */ + vdmOptions?: pulumi.Input; } diff --git a/sdk/nodejs/transfer/server.ts b/sdk/nodejs/transfer/server.ts index 8a8c1e14e2f..fe0daaca527 100644 --- a/sdk/nodejs/transfer/server.ts +++ b/sdk/nodejs/transfer/server.ts @@ -167,7 +167,7 @@ export class Server extends pulumi.CustomResource { */ public readonly function!: pulumi.Output; /** - * RSA private key (e.g., as generated by the `ssh-keygen -N "" -m PEM -f my-new-server-key` command). + * RSA, ECDSA, or ED25519 private key (e.g., as generated by the `ssh-keygen -t rsa -b 2048 -N "" -m PEM -f my-new-server-key`, `ssh-keygen -t ecdsa -b 256 -N "" -m PEM -f my-new-server-key` or `ssh-keygen -t ed25519 -N "" -f my-new-server-key` commands). */ public readonly hostKey!: pulumi.Output; /** @@ -194,6 +194,10 @@ export class Server extends pulumi.CustomResource { * Specify a string to display when users connect to a server. This string is displayed before the user authenticates. */ public readonly preAuthenticationLoginBanner!: pulumi.Output; + /** + * The protocol settings that are configured for your server. + */ + public readonly protocolDetails!: pulumi.Output; /** * Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are: */ @@ -248,6 +252,7 @@ export class Server extends pulumi.CustomResource { resourceInputs["loggingRole"] = state ? state.loggingRole : undefined; resourceInputs["postAuthenticationLoginBanner"] = state ? state.postAuthenticationLoginBanner : undefined; resourceInputs["preAuthenticationLoginBanner"] = state ? state.preAuthenticationLoginBanner : undefined; + resourceInputs["protocolDetails"] = state ? state.protocolDetails : undefined; resourceInputs["protocols"] = state ? state.protocols : undefined; resourceInputs["securityPolicyName"] = state ? state.securityPolicyName : undefined; resourceInputs["tags"] = state ? state.tags : undefined; @@ -269,6 +274,7 @@ export class Server extends pulumi.CustomResource { resourceInputs["loggingRole"] = args ? args.loggingRole : undefined; resourceInputs["postAuthenticationLoginBanner"] = args?.postAuthenticationLoginBanner ? pulumi.secret(args.postAuthenticationLoginBanner) : undefined; resourceInputs["preAuthenticationLoginBanner"] = args?.preAuthenticationLoginBanner ? pulumi.secret(args.preAuthenticationLoginBanner) : undefined; + resourceInputs["protocolDetails"] = args ? args.protocolDetails : undefined; resourceInputs["protocols"] = args ? args.protocols : undefined; resourceInputs["securityPolicyName"] = args ? args.securityPolicyName : undefined; resourceInputs["tags"] = args ? args.tags : undefined; @@ -327,7 +333,7 @@ export interface ServerState { */ function?: pulumi.Input; /** - * RSA private key (e.g., as generated by the `ssh-keygen -N "" -m PEM -f my-new-server-key` command). + * RSA, ECDSA, or ED25519 private key (e.g., as generated by the `ssh-keygen -t rsa -b 2048 -N "" -m PEM -f my-new-server-key`, `ssh-keygen -t ecdsa -b 256 -N "" -m PEM -f my-new-server-key` or `ssh-keygen -t ed25519 -N "" -f my-new-server-key` commands). */ hostKey?: pulumi.Input; /** @@ -354,6 +360,10 @@ export interface ServerState { * Specify a string to display when users connect to a server. This string is displayed before the user authenticates. */ preAuthenticationLoginBanner?: pulumi.Input; + /** + * The protocol settings that are configured for your server. + */ + protocolDetails?: pulumi.Input; /** * Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are: */ @@ -413,7 +423,7 @@ export interface ServerArgs { */ function?: pulumi.Input; /** - * RSA private key (e.g., as generated by the `ssh-keygen -N "" -m PEM -f my-new-server-key` command). + * RSA, ECDSA, or ED25519 private key (e.g., as generated by the `ssh-keygen -t rsa -b 2048 -N "" -m PEM -f my-new-server-key`, `ssh-keygen -t ecdsa -b 256 -N "" -m PEM -f my-new-server-key` or `ssh-keygen -t ed25519 -N "" -f my-new-server-key` commands). */ hostKey?: pulumi.Input; /** @@ -436,6 +446,10 @@ export interface ServerArgs { * Specify a string to display when users connect to a server. This string is displayed before the user authenticates. */ preAuthenticationLoginBanner?: pulumi.Input; + /** + * The protocol settings that are configured for your server. + */ + protocolDetails?: pulumi.Input; /** * Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are: */ diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index 56e16be60aa..33cd3cc3fa0 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -755,6 +755,7 @@ "ecs/getContainerDefinition.ts", "ecs/getService.ts", "ecs/getTaskDefinition.ts", + "ecs/getTaskExecution.ts", "ecs/index.ts", "ecs/service.ts", "ecs/tag.ts", @@ -1163,8 +1164,13 @@ "lex/intent.ts", "lex/slotType.ts", "licensemanager/association.ts", + "licensemanager/getLicenseGrants.ts", + "licensemanager/getReceivedLicense.ts", + "licensemanager/getReceivedLicenses.ts", "licensemanager/index.ts", "licensemanager/licenseConfiguration.ts", + "licensemanager/licenseGrant.ts", + "licensemanager/licenseGrantAccepter.ts", "lightsail/bucket.ts", "lightsail/bucketAccessKey.ts", "lightsail/bucketResourceAccess.ts", @@ -1434,6 +1440,7 @@ "redshift/authenticationProfile.ts", "redshift/cluster.ts", "redshift/clusterIamRoles.ts", + "redshift/clusterSnapshot.ts", "redshift/endpointAccess.ts", "redshift/endpointAuthorization.ts", "redshift/eventSubscription.ts", diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index d2838384224..a90f5f25a83 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -6504,7 +6504,7 @@ export namespace apprunner { */ runtime: pulumi.Input; /** - * Secrets and parameters available to your service as environment variables. A map of key/value pairs. + * Secrets and parameters available to your service as environment variables. A map of key/value pairs, where the key is the desired name of the Secret in the environment (i.e. it does not have to match the name of the secret in Secrets Manager or SSM Parameter Store), and the value is the ARN of the secret from AWS Secrets Manager or the ARN of the parameter in AWS SSM Parameter Store. */ runtimeEnvironmentSecrets?: pulumi.Input<{[key: string]: pulumi.Input}>; /** @@ -6550,7 +6550,7 @@ export namespace apprunner { */ port?: pulumi.Input; /** - * Secrets and parameters available to your service as environment variables. A map of key/value pairs. + * Secrets and parameters available to your service as environment variables. A map of key/value pairs, where the key is the desired name of the Secret in the environment (i.e. it does not have to match the name of the secret in Secrets Manager or SSM Parameter Store), and the value is the ARN of the secret from AWS Secrets Manager or the ARN of the parameter in AWS SSM Parameter Store. */ runtimeEnvironmentSecrets?: pulumi.Input<{[key: string]: pulumi.Input}>; /** @@ -11176,7 +11176,7 @@ export namespace codebuild { */ artifactIdentifier: pulumi.Input; /** - * Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has access to these objects. This property allows you to give the bucket owner access to these objects. Valid values are `NONE`, `READ_ONLY`, and `FULL`. your CodeBuild service role must have the `s3:PutBucketAcl` permission. This permission allows CodeBuild to modify the access control list for the bucket. + * Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has access to these objects. This property allows you to give the bucket owner access to these objects. Valid values are `NONE`, `READ_ONLY`, and `FULL`. The CodeBuild service role must have the `s3:PutBucketAcl` permission. This permission allows CodeBuild to modify the access control list for the bucket. */ bucketOwnerAccess?: pulumi.Input; /** @@ -11184,15 +11184,15 @@ export namespace codebuild { */ encryptionDisabled?: pulumi.Input; /** - * Information about the build output artifact location. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored. If `type` is set to `S3`, this is the name of the output bucket. If `path` is not also specified, then `location` can also specify the path of the output artifact in the output bucket. + * Information about the build output artifact location. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, this is the name of the output bucket. If `path` is not specified, `location` can specify the path of the output artifact in the output bucket. */ location?: pulumi.Input; /** - * Name of the project. If `type` is set to `S3`, this is the name of the output artifact object + * Name of the project. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, this is the name of the output artifact object. */ name?: pulumi.Input; /** - * Namespace to use in storing build artifacts. If `type` is set to `S3`, then valid values are `BUILD_ID` or `NONE`. + * Namespace to use in storing build artifacts. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, valid values are `BUILD_ID` or `NONE`. */ namespaceType?: pulumi.Input; /** @@ -11200,15 +11200,15 @@ export namespace codebuild { */ overrideArtifactName?: pulumi.Input; /** - * Type of build output artifact to create. If `type` is set to `S3`, valid values are `NONE`, `ZIP` + * Type of build output artifact to create. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, valid values are `NONE` or `ZIP`. */ packaging?: pulumi.Input; /** - * If `type` is set to `S3`, this is the path to the output artifact. + * Along with `namespaceType` and `name`, the pattern that AWS CodeBuild uses to name and store the output artifact. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, this is the path to the output artifact. */ path?: pulumi.Input; /** - * Build output artifact's type. The only valid value is `S3`. + * Build output artifact's type. Valid values `CODEPIPELINE`, `NO_ARTIFACTS`, and `S3`. */ type: pulumi.Input; } @@ -20957,6 +20957,292 @@ export namespace ecs { value: pulumi.Input; } + export interface GetTaskExecutionCapacityProviderStrategy { + /** + * The number of tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a base defined. Defaults to `0`. + */ + base?: number; + /** + * Name of the capacity provider. + */ + capacityProvider: string; + /** + * The relative percentage of the total number of launched tasks that should use the specified capacity provider. The `weight` value is taken into consideration after the `base` count of tasks has been satisfied. Defaults to `0`. + */ + weight?: number; + } + + export interface GetTaskExecutionCapacityProviderStrategyArgs { + /** + * The number of tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a base defined. Defaults to `0`. + */ + base?: pulumi.Input; + /** + * Name of the capacity provider. + */ + capacityProvider: pulumi.Input; + /** + * The relative percentage of the total number of launched tasks that should use the specified capacity provider. The `weight` value is taken into consideration after the `base` count of tasks has been satisfied. Defaults to `0`. + */ + weight?: pulumi.Input; + } + + export interface GetTaskExecutionNetworkConfiguration { + /** + * Assign a public IP address to the ENI (Fargate launch type only). Valid values are `true` or `false`. Default `false`. + */ + assignPublicIp?: boolean; + /** + * Security groups associated with the task or service. If you do not specify a security group, the default security group for the VPC is used. + */ + securityGroups?: string[]; + /** + * Subnets associated with the task or service. + */ + subnets: string[]; + } + + export interface GetTaskExecutionNetworkConfigurationArgs { + /** + * Assign a public IP address to the ENI (Fargate launch type only). Valid values are `true` or `false`. Default `false`. + */ + assignPublicIp?: pulumi.Input; + /** + * Security groups associated with the task or service. If you do not specify a security group, the default security group for the VPC is used. + */ + securityGroups?: pulumi.Input[]>; + /** + * Subnets associated with the task or service. + */ + subnets: pulumi.Input[]>; + } + + export interface GetTaskExecutionOverrides { + /** + * One or more container overrides that are sent to a task. See below. + */ + containerOverrides?: inputs.ecs.GetTaskExecutionOverridesContainerOverride[]; + /** + * The CPU override for the task. + */ + cpu?: string; + /** + * Amazon Resource Name (ARN) of the task execution role override for the task. + */ + executionRoleArn?: string; + /** + * Elastic Inference accelerator override for the task. See below. + */ + inferenceAcceleratorOverrides?: inputs.ecs.GetTaskExecutionOverridesInferenceAcceleratorOverride[]; + /** + * The memory override for the task. + */ + memory?: string; + /** + * Amazon Resource Name (ARN) of the role that containers in this task can assume. + */ + taskRoleArn?: string; + } + + export interface GetTaskExecutionOverridesArgs { + /** + * One or more container overrides that are sent to a task. See below. + */ + containerOverrides?: pulumi.Input[]>; + /** + * The CPU override for the task. + */ + cpu?: pulumi.Input; + /** + * Amazon Resource Name (ARN) of the task execution role override for the task. + */ + executionRoleArn?: pulumi.Input; + /** + * Elastic Inference accelerator override for the task. See below. + */ + inferenceAcceleratorOverrides?: pulumi.Input[]>; + /** + * The memory override for the task. + */ + memory?: pulumi.Input; + /** + * Amazon Resource Name (ARN) of the role that containers in this task can assume. + */ + taskRoleArn?: pulumi.Input; + } + + export interface GetTaskExecutionOverridesContainerOverride { + /** + * The command to send to the container that overrides the default command from the Docker image or the task definition. + */ + commands?: string[]; + /** + * The number of cpu units reserved for the container, instead of the default value from the task definition. + */ + cpu?: number; + /** + * The environment variables to send to the container. You can add new environment variables, which are added to the container at launch, or you can override the existing environment variables from the Docker image or the task definition. See below. + */ + environments?: inputs.ecs.GetTaskExecutionOverridesContainerOverrideEnvironment[]; + /** + * The hard limit (in MiB) of memory to present to the container, instead of the default value from the task definition. If your container attempts to exceed the memory specified here, the container is killed. + */ + memory?: number; + /** + * The soft limit (in MiB) of memory to reserve for the container, instead of the default value from the task definition. + */ + memoryReservation?: number; + /** + * The name of the container that receives the override. This parameter is required if any override is specified. + */ + name: string; + /** + * The type and amount of a resource to assign to a container, instead of the default value from the task definition. The only supported resource is a GPU. See below. + */ + resourceRequirements?: inputs.ecs.GetTaskExecutionOverridesContainerOverrideResourceRequirement[]; + } + + export interface GetTaskExecutionOverridesContainerOverrideArgs { + /** + * The command to send to the container that overrides the default command from the Docker image or the task definition. + */ + commands?: pulumi.Input[]>; + /** + * The number of cpu units reserved for the container, instead of the default value from the task definition. + */ + cpu?: pulumi.Input; + /** + * The environment variables to send to the container. You can add new environment variables, which are added to the container at launch, or you can override the existing environment variables from the Docker image or the task definition. See below. + */ + environments?: pulumi.Input[]>; + /** + * The hard limit (in MiB) of memory to present to the container, instead of the default value from the task definition. If your container attempts to exceed the memory specified here, the container is killed. + */ + memory?: pulumi.Input; + /** + * The soft limit (in MiB) of memory to reserve for the container, instead of the default value from the task definition. + */ + memoryReservation?: pulumi.Input; + /** + * The name of the container that receives the override. This parameter is required if any override is specified. + */ + name: pulumi.Input; + /** + * The type and amount of a resource to assign to a container, instead of the default value from the task definition. The only supported resource is a GPU. See below. + */ + resourceRequirements?: pulumi.Input[]>; + } + + export interface GetTaskExecutionOverridesContainerOverrideEnvironment { + /** + * The name of the key-value pair. For environment variables, this is the name of the environment variable. + */ + key: string; + /** + * The value of the key-value pair. For environment variables, this is the value of the environment variable. + */ + value: string; + } + + export interface GetTaskExecutionOverridesContainerOverrideEnvironmentArgs { + /** + * The name of the key-value pair. For environment variables, this is the name of the environment variable. + */ + key: pulumi.Input; + /** + * The value of the key-value pair. For environment variables, this is the value of the environment variable. + */ + value: pulumi.Input; + } + + export interface GetTaskExecutionOverridesContainerOverrideResourceRequirement { + /** + * The type of resource to assign to a container. Valid values are `GPU` or `InferenceAccelerator`. + */ + type: string; + /** + * The value for the specified resource type. If the `GPU` type is used, the value is the number of physical GPUs the Amazon ECS container agent reserves for the container. The number of GPUs that's reserved for all containers in a task can't exceed the number of available GPUs on the container instance that the task is launched on. If the `InferenceAccelerator` type is used, the value matches the `deviceName` for an InferenceAccelerator specified in a task definition. + */ + value: string; + } + + export interface GetTaskExecutionOverridesContainerOverrideResourceRequirementArgs { + /** + * The type of resource to assign to a container. Valid values are `GPU` or `InferenceAccelerator`. + */ + type: pulumi.Input; + /** + * The value for the specified resource type. If the `GPU` type is used, the value is the number of physical GPUs the Amazon ECS container agent reserves for the container. The number of GPUs that's reserved for all containers in a task can't exceed the number of available GPUs on the container instance that the task is launched on. If the `InferenceAccelerator` type is used, the value matches the `deviceName` for an InferenceAccelerator specified in a task definition. + */ + value: pulumi.Input; + } + + export interface GetTaskExecutionOverridesInferenceAcceleratorOverride { + /** + * The Elastic Inference accelerator device name to override for the task. This parameter must match a deviceName specified in the task definition. + */ + deviceName?: string; + /** + * The Elastic Inference accelerator type to use. + */ + deviceType?: string; + } + + export interface GetTaskExecutionOverridesInferenceAcceleratorOverrideArgs { + /** + * The Elastic Inference accelerator device name to override for the task. This parameter must match a deviceName specified in the task definition. + */ + deviceName?: pulumi.Input; + /** + * The Elastic Inference accelerator type to use. + */ + deviceType?: pulumi.Input; + } + + export interface GetTaskExecutionPlacementConstraint { + /** + * A cluster query language expression to apply to the constraint. The expression can have a maximum length of 2000 characters. You can't specify an expression if the constraint type is `distinctInstance`. + */ + expression?: string; + /** + * The type of constraint. Valid values are `distinctInstance` or `memberOf`. Use `distinctInstance` to ensure that each task in a particular group is running on a different container instance. Use `memberOf` to restrict the selection to a group of valid candidates. + */ + type: string; + } + + export interface GetTaskExecutionPlacementConstraintArgs { + /** + * A cluster query language expression to apply to the constraint. The expression can have a maximum length of 2000 characters. You can't specify an expression if the constraint type is `distinctInstance`. + */ + expression?: pulumi.Input; + /** + * The type of constraint. Valid values are `distinctInstance` or `memberOf`. Use `distinctInstance` to ensure that each task in a particular group is running on a different container instance. Use `memberOf` to restrict the selection to a group of valid candidates. + */ + type: pulumi.Input; + } + + export interface GetTaskExecutionPlacementStrategy { + /** + * The field to apply the placement strategy against. + */ + field?: string; + /** + * The type of placement strategy. Valid values are `random`, `spread`, and `binpack`. + */ + type: string; + } + + export interface GetTaskExecutionPlacementStrategyArgs { + /** + * The field to apply the placement strategy against. + */ + field?: pulumi.Input; + /** + * The type of placement strategy. Valid values are `random`, `spread`, and `binpack`. + */ + type: pulumi.Input; + } + export interface ServiceAlarms { alarmNames: pulumi.Input[]>; /** @@ -25832,6 +26118,17 @@ export namespace glue { } export namespace grafana { + export interface WorkspaceNetworkAccessControl { + /** + * An array of prefix list IDs. + */ + prefixListIds: pulumi.Input[]>; + /** + * An array of Amazon VPC endpoint IDs for the workspace. The only VPC endpoints that can be specified here are interface VPC endpoints for Grafana workspaces (using the com.amazonaws.[region].grafana-workspace service endpoint). Other VPC endpoints will be ignored. + */ + vpceIds: pulumi.Input[]>; + } + export interface WorkspaceVpcConfiguration { /** * The list of Amazon EC2 security group IDs attached to the Amazon VPC for your Grafana workspace to connect. @@ -32273,6 +32570,60 @@ export namespace lex { } } +export namespace licensemanager { + export interface GetLicenseGrantsFilter { + /** + * Name of the field to filter by, as defined by + * [the underlying AWS API](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_ListReceivedGrants.html#API_ListReceivedGrants_RequestSyntax). + * For example, if filtering using `ProductSKU`, use: + */ + name: string; + /** + * Set of values that are accepted for the given field. + */ + values: string[]; + } + + export interface GetLicenseGrantsFilterArgs { + /** + * Name of the field to filter by, as defined by + * [the underlying AWS API](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_ListReceivedGrants.html#API_ListReceivedGrants_RequestSyntax). + * For example, if filtering using `ProductSKU`, use: + */ + name: pulumi.Input; + /** + * Set of values that are accepted for the given field. + */ + values: pulumi.Input[]>; + } + + export interface GetReceivedLicensesFilter { + /** + * Name of the field to filter by, as defined by + * [the underlying AWS API](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_ListReceivedLicenses.html#API_ListReceivedLicenses_RequestSyntax). + * For example, if filtering using `ProductSKU`, use: + */ + name: string; + /** + * Set of values that are accepted for the given field. + */ + values: string[]; + } + + export interface GetReceivedLicensesFilterArgs { + /** + * Name of the field to filter by, as defined by + * [the underlying AWS API](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_ListReceivedLicenses.html#API_ListReceivedLicenses_RequestSyntax). + * For example, if filtering using `ProductSKU`, use: + */ + name: pulumi.Input; + /** + * Set of values that are accepted for the given field. + */ + values: pulumi.Input[]>; + } +} + export namespace lightsail { export interface CertificateDomainValidationOption { /** @@ -38609,6 +38960,21 @@ export namespace rds { enabled?: pulumi.Input; } + export interface InstanceListenerEndpoint { + /** + * Specifies the DNS address of the DB instance. + */ + address?: pulumi.Input; + /** + * Specifies the ID that Amazon Route 53 assigns when you create a hosted zone. + */ + hostedZoneId?: pulumi.Input; + /** + * The port on which the DB accepts connections. + */ + port?: pulumi.Input; + } + export interface InstanceRestoreToPointInTime { /** * The date and time to restore from. Value must be a time in Universal Coordinated Time (UTC) format and must be before the latest restorable time for the DB instance. Cannot be specified with `useLatestRestorableTime`. @@ -45775,6 +46141,31 @@ export namespace sesv2 { customRedirectDomain: pulumi.Input; } + export interface ConfigurationSetVdmOptions { + /** + * Specifies additional settings for your VDM configuration as applicable to the Dashboard. + */ + dashboardOptions?: pulumi.Input; + /** + * Specifies additional settings for your VDM configuration as applicable to the Guardian. + */ + guardianOptions?: pulumi.Input; + } + + export interface ConfigurationSetVdmOptionsDashboardOptions { + /** + * Specifies the status of your VDM engagement metrics collection. Valid values: `ENABLED`, `DISABLED`. + */ + engagementMetrics?: pulumi.Input; + } + + export interface ConfigurationSetVdmOptionsGuardianOptions { + /** + * Specifies the status of your VDM optimized shared delivery. Valid values: `ENABLED`, `DISABLED`. + */ + optimizedSharedDelivery?: pulumi.Input; + } + export interface EmailIdentityDkimSigningAttributes { /** * [Easy DKIM] The key length of the DKIM key pair in use. @@ -46620,6 +47011,25 @@ export namespace transfer { vpcId?: pulumi.Input; } + export interface ServerProtocolDetails { + /** + * Indicates the transport method for the AS2 messages. Currently, only `HTTP` is supported. + */ + as2Transports?: pulumi.Input[]>; + /** + * Indicates passive mode, for FTP and FTPS protocols. Enter a single IPv4 address, such as the public IP address of a firewall, router, or load balancer. + */ + passiveIp?: pulumi.Input; + /** + * Use to ignore the error that is generated when the client attempts to use `SETSTAT` on a file you are uploading to an S3 bucket. Valid values: `DEFAULT`, `ENABLE_NO_OP`. + */ + setStatOption?: pulumi.Input; + /** + * A property used with Transfer Family servers that use the FTPS protocol. Provides a mechanism to resume or share a negotiated secret key between the control and data connection for an FTPS session. Valid values: `DISABLED`, `ENABLED`, `ENFORCED`. + */ + tlsSessionResumptionMode?: pulumi.Input; + } + export interface ServerWorkflowDetails { /** * A trigger that starts a workflow if a file is only partially uploaded. See Workflow Detail below. @@ -46688,6 +47098,10 @@ export namespace transfer { * Details for a step that invokes a lambda function. */ customStepDetails?: pulumi.Input; + /** + * Details for a step that decrypts the file. + */ + decryptStepDetails?: pulumi.Input; /** * Details for a step that deletes the file. */ @@ -46697,7 +47111,7 @@ export namespace transfer { */ tagStepDetails?: pulumi.Input; /** - * One of the following step types are supported. `COPY`, `CUSTOM`, `DELETE`, and `TAG`. + * One of the following step types are supported. `COPY`, `CUSTOM`, `DECRYPT`, `DELETE`, and `TAG`. */ type: pulumi.Input; } @@ -46773,6 +47187,62 @@ export namespace transfer { timeoutSeconds?: pulumi.Input; } + export interface WorkflowOnExceptionStepDecryptStepDetails { + /** + * Specifies the location for the file being copied. Use ${Transfer:username} in this field to parametrize the destination prefix by username. + */ + destinationFileLocation?: pulumi.Input; + /** + * The name of the step, used as an identifier. + */ + name?: pulumi.Input; + /** + * A flag that indicates whether or not to overwrite an existing file of the same name. The default is `FALSE`. Valid values are `TRUE` and `FALSE`. + */ + overwriteExisting?: pulumi.Input; + /** + * Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. + */ + sourceFileLocation?: pulumi.Input; + /** + * The type of encryption used. Currently, this value must be `"PGP"`. + */ + type: pulumi.Input; + } + + export interface WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocation { + /** + * Specifies the details for the EFS file being copied. + */ + efsFileLocation?: pulumi.Input; + /** + * Specifies the details for the S3 file being copied. + */ + s3FileLocation?: pulumi.Input; + } + + export interface WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocation { + /** + * The ID of the file system, assigned by Amazon EFS. + */ + fileSystemId?: pulumi.Input; + /** + * The pathname for the folder being used by a workflow. + */ + path?: pulumi.Input; + } + + export interface WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocation { + /** + * Specifies the S3 bucket for the customer input file. + */ + bucket?: pulumi.Input; + /** + * The name assigned to the file when it was created in S3. You use the object key to retrieve the object. + */ + key?: pulumi.Input; + } + export interface WorkflowOnExceptionStepDeleteStepDetails { /** * The name of the step, used as an identifier. @@ -46819,6 +47289,10 @@ export namespace transfer { * Details for a step that invokes a lambda function. */ customStepDetails?: pulumi.Input; + /** + * Details for a step that decrypts the file. + */ + decryptStepDetails?: pulumi.Input; /** * Details for a step that deletes the file. */ @@ -46828,7 +47302,7 @@ export namespace transfer { */ tagStepDetails?: pulumi.Input; /** - * One of the following step types are supported. `COPY`, `CUSTOM`, `DELETE`, and `TAG`. + * One of the following step types are supported. `COPY`, `CUSTOM`, `DECRYPT`, `DELETE`, and `TAG`. */ type: pulumi.Input; } @@ -46904,6 +47378,62 @@ export namespace transfer { timeoutSeconds?: pulumi.Input; } + export interface WorkflowStepDecryptStepDetails { + /** + * Specifies the location for the file being copied. Use ${Transfer:username} in this field to parametrize the destination prefix by username. + */ + destinationFileLocation?: pulumi.Input; + /** + * The name of the step, used as an identifier. + */ + name?: pulumi.Input; + /** + * A flag that indicates whether or not to overwrite an existing file of the same name. The default is `FALSE`. Valid values are `TRUE` and `FALSE`. + */ + overwriteExisting?: pulumi.Input; + /** + * Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. + */ + sourceFileLocation?: pulumi.Input; + /** + * The type of encryption used. Currently, this value must be `"PGP"`. + */ + type: pulumi.Input; + } + + export interface WorkflowStepDecryptStepDetailsDestinationFileLocation { + /** + * Specifies the details for the EFS file being copied. + */ + efsFileLocation?: pulumi.Input; + /** + * Specifies the details for the S3 file being copied. + */ + s3FileLocation?: pulumi.Input; + } + + export interface WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocation { + /** + * The ID of the file system, assigned by Amazon EFS. + */ + fileSystemId?: pulumi.Input; + /** + * The pathname for the folder being used by a workflow. + */ + path?: pulumi.Input; + } + + export interface WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocation { + /** + * Specifies the S3 bucket for the customer input file. + */ + bucket?: pulumi.Input; + /** + * The name assigned to the file when it was created in S3. You use the object key to retrieve the object. + */ + key?: pulumi.Input; + } + export interface WorkflowStepDeleteStepDetails { /** * The name of the step, used as an identifier. diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index dc30b0ca405..e099e113014 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -6387,7 +6387,7 @@ export namespace apprunner { */ runtime: string; /** - * Secrets and parameters available to your service as environment variables. A map of key/value pairs. + * Secrets and parameters available to your service as environment variables. A map of key/value pairs, where the key is the desired name of the Secret in the environment (i.e. it does not have to match the name of the secret in Secrets Manager or SSM Parameter Store), and the value is the ARN of the secret from AWS Secrets Manager or the ARN of the parameter in AWS SSM Parameter Store. */ runtimeEnvironmentSecrets?: {[key: string]: string}; /** @@ -6433,7 +6433,7 @@ export namespace apprunner { */ port?: string; /** - * Secrets and parameters available to your service as environment variables. A map of key/value pairs. + * Secrets and parameters available to your service as environment variables. A map of key/value pairs, where the key is the desired name of the Secret in the environment (i.e. it does not have to match the name of the secret in Secrets Manager or SSM Parameter Store), and the value is the ARN of the secret from AWS Secrets Manager or the ARN of the parameter in AWS SSM Parameter Store. */ runtimeEnvironmentSecrets?: {[key: string]: string}; /** @@ -11422,7 +11422,7 @@ export namespace codebuild { */ artifactIdentifier: string; /** - * Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has access to these objects. This property allows you to give the bucket owner access to these objects. Valid values are `NONE`, `READ_ONLY`, and `FULL`. your CodeBuild service role must have the `s3:PutBucketAcl` permission. This permission allows CodeBuild to modify the access control list for the bucket. + * Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has access to these objects. This property allows you to give the bucket owner access to these objects. Valid values are `NONE`, `READ_ONLY`, and `FULL`. The CodeBuild service role must have the `s3:PutBucketAcl` permission. This permission allows CodeBuild to modify the access control list for the bucket. */ bucketOwnerAccess?: string; /** @@ -11430,15 +11430,15 @@ export namespace codebuild { */ encryptionDisabled?: boolean; /** - * Information about the build output artifact location. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored. If `type` is set to `S3`, this is the name of the output bucket. If `path` is not also specified, then `location` can also specify the path of the output artifact in the output bucket. + * Information about the build output artifact location. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, this is the name of the output bucket. If `path` is not specified, `location` can specify the path of the output artifact in the output bucket. */ location?: string; /** - * Name of the project. If `type` is set to `S3`, this is the name of the output artifact object + * Name of the project. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, this is the name of the output artifact object. */ name?: string; /** - * Namespace to use in storing build artifacts. If `type` is set to `S3`, then valid values are `BUILD_ID` or `NONE`. + * Namespace to use in storing build artifacts. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, valid values are `BUILD_ID` or `NONE`. */ namespaceType?: string; /** @@ -11446,15 +11446,15 @@ export namespace codebuild { */ overrideArtifactName?: boolean; /** - * Type of build output artifact to create. If `type` is set to `S3`, valid values are `NONE`, `ZIP` + * Type of build output artifact to create. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, valid values are `NONE` or `ZIP`. */ packaging?: string; /** - * If `type` is set to `S3`, this is the path to the output artifact. + * Along with `namespaceType` and `name`, the pattern that AWS CodeBuild uses to name and store the output artifact. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, this is the path to the output artifact. */ path?: string; /** - * Build output artifact's type. The only valid value is `S3`. + * Build output artifact's type. Valid values `CODEPIPELINE`, `NO_ARTIFACTS`, and `S3`. */ type: string; } @@ -23246,6 +23246,149 @@ export namespace ecs { value: string; } + export interface GetTaskExecutionCapacityProviderStrategy { + /** + * The number of tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a base defined. Defaults to `0`. + */ + base?: number; + /** + * Name of the capacity provider. + */ + capacityProvider: string; + /** + * The relative percentage of the total number of launched tasks that should use the specified capacity provider. The `weight` value is taken into consideration after the `base` count of tasks has been satisfied. Defaults to `0`. + */ + weight?: number; + } + + export interface GetTaskExecutionNetworkConfiguration { + /** + * Assign a public IP address to the ENI (Fargate launch type only). Valid values are `true` or `false`. Default `false`. + */ + assignPublicIp?: boolean; + /** + * Security groups associated with the task or service. If you do not specify a security group, the default security group for the VPC is used. + */ + securityGroups?: string[]; + /** + * Subnets associated with the task or service. + */ + subnets: string[]; + } + + export interface GetTaskExecutionOverrides { + /** + * One or more container overrides that are sent to a task. See below. + */ + containerOverrides?: outputs.ecs.GetTaskExecutionOverridesContainerOverride[]; + /** + * The CPU override for the task. + */ + cpu?: string; + /** + * Amazon Resource Name (ARN) of the task execution role override for the task. + */ + executionRoleArn?: string; + /** + * Elastic Inference accelerator override for the task. See below. + */ + inferenceAcceleratorOverrides?: outputs.ecs.GetTaskExecutionOverridesInferenceAcceleratorOverride[]; + /** + * The memory override for the task. + */ + memory?: string; + /** + * Amazon Resource Name (ARN) of the role that containers in this task can assume. + */ + taskRoleArn?: string; + } + + export interface GetTaskExecutionOverridesContainerOverride { + /** + * The command to send to the container that overrides the default command from the Docker image or the task definition. + */ + commands?: string[]; + /** + * The number of cpu units reserved for the container, instead of the default value from the task definition. + */ + cpu?: number; + /** + * The environment variables to send to the container. You can add new environment variables, which are added to the container at launch, or you can override the existing environment variables from the Docker image or the task definition. See below. + */ + environments?: outputs.ecs.GetTaskExecutionOverridesContainerOverrideEnvironment[]; + /** + * The hard limit (in MiB) of memory to present to the container, instead of the default value from the task definition. If your container attempts to exceed the memory specified here, the container is killed. + */ + memory?: number; + /** + * The soft limit (in MiB) of memory to reserve for the container, instead of the default value from the task definition. + */ + memoryReservation?: number; + /** + * The name of the container that receives the override. This parameter is required if any override is specified. + */ + name: string; + /** + * The type and amount of a resource to assign to a container, instead of the default value from the task definition. The only supported resource is a GPU. See below. + */ + resourceRequirements?: outputs.ecs.GetTaskExecutionOverridesContainerOverrideResourceRequirement[]; + } + + export interface GetTaskExecutionOverridesContainerOverrideEnvironment { + /** + * The name of the key-value pair. For environment variables, this is the name of the environment variable. + */ + key: string; + /** + * The value of the key-value pair. For environment variables, this is the value of the environment variable. + */ + value: string; + } + + export interface GetTaskExecutionOverridesContainerOverrideResourceRequirement { + /** + * The type of resource to assign to a container. Valid values are `GPU` or `InferenceAccelerator`. + */ + type: string; + /** + * The value for the specified resource type. If the `GPU` type is used, the value is the number of physical GPUs the Amazon ECS container agent reserves for the container. The number of GPUs that's reserved for all containers in a task can't exceed the number of available GPUs on the container instance that the task is launched on. If the `InferenceAccelerator` type is used, the value matches the `deviceName` for an InferenceAccelerator specified in a task definition. + */ + value: string; + } + + export interface GetTaskExecutionOverridesInferenceAcceleratorOverride { + /** + * The Elastic Inference accelerator device name to override for the task. This parameter must match a deviceName specified in the task definition. + */ + deviceName?: string; + /** + * The Elastic Inference accelerator type to use. + */ + deviceType?: string; + } + + export interface GetTaskExecutionPlacementConstraint { + /** + * A cluster query language expression to apply to the constraint. The expression can have a maximum length of 2000 characters. You can't specify an expression if the constraint type is `distinctInstance`. + */ + expression?: string; + /** + * The type of constraint. Valid values are `distinctInstance` or `memberOf`. Use `distinctInstance` to ensure that each task in a particular group is running on a different container instance. Use `memberOf` to restrict the selection to a group of valid candidates. + */ + type: string; + } + + export interface GetTaskExecutionPlacementStrategy { + /** + * The field to apply the placement strategy against. + */ + field?: string; + /** + * The type of placement strategy. Valid values are `random`, `spread`, and `binpack`. + */ + type: string; + } + export interface ServiceAlarms { alarmNames: string[]; /** @@ -28945,6 +29088,17 @@ export namespace glue { } export namespace grafana { + export interface WorkspaceNetworkAccessControl { + /** + * An array of prefix list IDs. + */ + prefixListIds: string[]; + /** + * An array of Amazon VPC endpoint IDs for the workspace. The only VPC endpoints that can be specified here are interface VPC endpoints for Grafana workspaces (using the com.amazonaws.[region].grafana-workspace service endpoint). Other VPC endpoints will be ignored. + */ + vpceIds: string[]; + } + export interface WorkspaceVpcConfiguration { /** * The list of Amazon EC2 security group IDs attached to the Amazon VPC for your Grafana workspace to connect. @@ -36063,6 +36217,140 @@ export namespace lex { } +export namespace licensemanager { + export interface GetLicenseGrantsFilter { + /** + * Name of the field to filter by, as defined by + * [the underlying AWS API](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_ListReceivedGrants.html#API_ListReceivedGrants_RequestSyntax). + * For example, if filtering using `ProductSKU`, use: + */ + name: string; + /** + * Set of values that are accepted for the given field. + */ + values: string[]; + } + + export interface GetReceivedLicenseConsumptionConfiguration { + /** + * Details about a borrow configuration. Detailed below + */ + borrowConfigurations: outputs.licensemanager.GetReceivedLicenseConsumptionConfigurationBorrowConfiguration[]; + /** + * Details about a provisional configuration. Detailed below + */ + provisionalConfigurations: outputs.licensemanager.GetReceivedLicenseConsumptionConfigurationProvisionalConfiguration[]; + renewType: string; + } + + export interface GetReceivedLicenseConsumptionConfigurationBorrowConfiguration { + /** + * Indicates whether early check-ins are allowed. + */ + allowEarlyCheckIn: boolean; + /** + * Maximum time for the provisional configuration, in minutes. + */ + maxTimeToLiveInMinutes: number; + } + + export interface GetReceivedLicenseConsumptionConfigurationProvisionalConfiguration { + /** + * Maximum time for the provisional configuration, in minutes. + */ + maxTimeToLiveInMinutes: number; + } + + export interface GetReceivedLicenseEntitlement { + /** + * Indicates whether check-ins are allowed. + */ + allowCheckIn: boolean; + /** + * Maximum entitlement count. Use if the unit is not None. + */ + maxCount: number; + /** + * The key name. + */ + name: string; + /** + * Entitlement unit. + */ + unit: string; + /** + * The value. + */ + value: string; + } + + export interface GetReceivedLicenseIssuer { + /** + * Issuer key fingerprint. + */ + keyFingerprint: string; + /** + * The key name. + */ + name: string; + /** + * Asymmetric KMS key from AWS Key Management Service. The KMS key must have a key usage of sign and verify, and support the RSASSA-PSS SHA-256 signing algorithm. + */ + signKey: string; + } + + export interface GetReceivedLicenseLicenseMetadata { + /** + * The key name. + */ + name: string; + /** + * The value. + */ + value: string; + } + + export interface GetReceivedLicenseReceivedMetadata { + /** + * A list of allowed operations. + */ + allowedOperations: string[]; + /** + * Received status. + */ + receivedStatus: string; + /** + * Received status reason. + */ + receivedStatusReason: string; + } + + export interface GetReceivedLicenseValidity { + /** + * Start of the validity time range. + */ + begin: string; + /** + * End of the validity time range. + */ + end: string; + } + + export interface GetReceivedLicensesFilter { + /** + * Name of the field to filter by, as defined by + * [the underlying AWS API](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_ListReceivedLicenses.html#API_ListReceivedLicenses_RequestSyntax). + * For example, if filtering using `ProductSKU`, use: + */ + name: string; + /** + * Set of values that are accepted for the given field. + */ + values: string[]; + } + +} + export namespace lightsail { export interface CertificateDomainValidationOption { /** @@ -43048,6 +43336,21 @@ export namespace rds { enabled?: boolean; } + export interface InstanceListenerEndpoint { + /** + * Specifies the DNS address of the DB instance. + */ + address: string; + /** + * Specifies the ID that Amazon Route 53 assigns when you create a hosted zone. + */ + hostedZoneId: string; + /** + * The port on which the DB accepts connections. + */ + port: number; + } + export interface InstanceRestoreToPointInTime { /** * The date and time to restore from. Value must be a time in Universal Coordinated Time (UTC) format and must be before the latest restorable time for the DB instance. Cannot be specified with `useLatestRestorableTime`. @@ -50251,6 +50554,31 @@ export namespace sesv2 { customRedirectDomain: string; } + export interface ConfigurationSetVdmOptions { + /** + * Specifies additional settings for your VDM configuration as applicable to the Dashboard. + */ + dashboardOptions?: outputs.sesv2.ConfigurationSetVdmOptionsDashboardOptions; + /** + * Specifies additional settings for your VDM configuration as applicable to the Guardian. + */ + guardianOptions?: outputs.sesv2.ConfigurationSetVdmOptionsGuardianOptions; + } + + export interface ConfigurationSetVdmOptionsDashboardOptions { + /** + * Specifies the status of your VDM engagement metrics collection. Valid values: `ENABLED`, `DISABLED`. + */ + engagementMetrics?: string; + } + + export interface ConfigurationSetVdmOptionsGuardianOptions { + /** + * Specifies the status of your VDM optimized shared delivery. Valid values: `ENABLED`, `DISABLED`. + */ + optimizedSharedDelivery?: string; + } + export interface EmailIdentityDkimSigningAttributes { /** * [Easy DKIM] The key length of the DKIM key pair in use. @@ -51193,6 +51521,25 @@ export namespace transfer { vpcId?: string; } + export interface ServerProtocolDetails { + /** + * Indicates the transport method for the AS2 messages. Currently, only `HTTP` is supported. + */ + as2Transports: string[]; + /** + * Indicates passive mode, for FTP and FTPS protocols. Enter a single IPv4 address, such as the public IP address of a firewall, router, or load balancer. + */ + passiveIp: string; + /** + * Use to ignore the error that is generated when the client attempts to use `SETSTAT` on a file you are uploading to an S3 bucket. Valid values: `DEFAULT`, `ENABLE_NO_OP`. + */ + setStatOption: string; + /** + * A property used with Transfer Family servers that use the FTPS protocol. Provides a mechanism to resume or share a negotiated secret key between the control and data connection for an FTPS session. Valid values: `DISABLED`, `ENABLED`, `ENFORCED`. + */ + tlsSessionResumptionMode: string; + } + export interface ServerWorkflowDetails { /** * A trigger that starts a workflow if a file is only partially uploaded. See Workflow Detail below. @@ -51261,6 +51608,10 @@ export namespace transfer { * Details for a step that invokes a lambda function. */ customStepDetails?: outputs.transfer.WorkflowOnExceptionStepCustomStepDetails; + /** + * Details for a step that decrypts the file. + */ + decryptStepDetails?: outputs.transfer.WorkflowOnExceptionStepDecryptStepDetails; /** * Details for a step that deletes the file. */ @@ -51270,7 +51621,7 @@ export namespace transfer { */ tagStepDetails?: outputs.transfer.WorkflowOnExceptionStepTagStepDetails; /** - * One of the following step types are supported. `COPY`, `CUSTOM`, `DELETE`, and `TAG`. + * One of the following step types are supported. `COPY`, `CUSTOM`, `DECRYPT`, `DELETE`, and `TAG`. */ type: string; } @@ -51346,6 +51697,62 @@ export namespace transfer { timeoutSeconds?: number; } + export interface WorkflowOnExceptionStepDecryptStepDetails { + /** + * Specifies the location for the file being copied. Use ${Transfer:username} in this field to parametrize the destination prefix by username. + */ + destinationFileLocation?: outputs.transfer.WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocation; + /** + * The name of the step, used as an identifier. + */ + name?: string; + /** + * A flag that indicates whether or not to overwrite an existing file of the same name. The default is `FALSE`. Valid values are `TRUE` and `FALSE`. + */ + overwriteExisting?: string; + /** + * Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. + */ + sourceFileLocation?: string; + /** + * The type of encryption used. Currently, this value must be `"PGP"`. + */ + type: string; + } + + export interface WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocation { + /** + * Specifies the details for the EFS file being copied. + */ + efsFileLocation?: outputs.transfer.WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocation; + /** + * Specifies the details for the S3 file being copied. + */ + s3FileLocation?: outputs.transfer.WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocation; + } + + export interface WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocation { + /** + * The ID of the file system, assigned by Amazon EFS. + */ + fileSystemId?: string; + /** + * The pathname for the folder being used by a workflow. + */ + path?: string; + } + + export interface WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocation { + /** + * Specifies the S3 bucket for the customer input file. + */ + bucket?: string; + /** + * The name assigned to the file when it was created in S3. You use the object key to retrieve the object. + */ + key?: string; + } + export interface WorkflowOnExceptionStepDeleteStepDetails { /** * The name of the step, used as an identifier. @@ -51392,6 +51799,10 @@ export namespace transfer { * Details for a step that invokes a lambda function. */ customStepDetails?: outputs.transfer.WorkflowStepCustomStepDetails; + /** + * Details for a step that decrypts the file. + */ + decryptStepDetails?: outputs.transfer.WorkflowStepDecryptStepDetails; /** * Details for a step that deletes the file. */ @@ -51401,7 +51812,7 @@ export namespace transfer { */ tagStepDetails?: outputs.transfer.WorkflowStepTagStepDetails; /** - * One of the following step types are supported. `COPY`, `CUSTOM`, `DELETE`, and `TAG`. + * One of the following step types are supported. `COPY`, `CUSTOM`, `DECRYPT`, `DELETE`, and `TAG`. */ type: string; } @@ -51477,6 +51888,62 @@ export namespace transfer { timeoutSeconds?: number; } + export interface WorkflowStepDecryptStepDetails { + /** + * Specifies the location for the file being copied. Use ${Transfer:username} in this field to parametrize the destination prefix by username. + */ + destinationFileLocation?: outputs.transfer.WorkflowStepDecryptStepDetailsDestinationFileLocation; + /** + * The name of the step, used as an identifier. + */ + name?: string; + /** + * A flag that indicates whether or not to overwrite an existing file of the same name. The default is `FALSE`. Valid values are `TRUE` and `FALSE`. + */ + overwriteExisting?: string; + /** + * Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. + */ + sourceFileLocation?: string; + /** + * The type of encryption used. Currently, this value must be `"PGP"`. + */ + type: string; + } + + export interface WorkflowStepDecryptStepDetailsDestinationFileLocation { + /** + * Specifies the details for the EFS file being copied. + */ + efsFileLocation?: outputs.transfer.WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocation; + /** + * Specifies the details for the S3 file being copied. + */ + s3FileLocation?: outputs.transfer.WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocation; + } + + export interface WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocation { + /** + * The ID of the file system, assigned by Amazon EFS. + */ + fileSystemId?: string; + /** + * The pathname for the folder being used by a workflow. + */ + path?: string; + } + + export interface WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocation { + /** + * Specifies the S3 bucket for the customer input file. + */ + bucket?: string; + /** + * The name assigned to the file when it was created in S3. You use the object key to retrieve the object. + */ + key?: string; + } + export interface WorkflowStepDeleteStepDetails { /** * The name of the step, used as an identifier. diff --git a/sdk/python/pulumi_aws/__init__.py b/sdk/python/pulumi_aws/__init__.py index 7a31ab35208..aca955c1b5a 100644 --- a/sdk/python/pulumi_aws/__init__.py +++ b/sdk/python/pulumi_aws/__init__.py @@ -6272,6 +6272,22 @@ "aws:licensemanager/licenseConfiguration:LicenseConfiguration": "LicenseConfiguration" } }, + { + "pkg": "aws", + "mod": "licensemanager/licenseGrant", + "fqn": "pulumi_aws.licensemanager", + "classes": { + "aws:licensemanager/licenseGrant:LicenseGrant": "LicenseGrant" + } + }, + { + "pkg": "aws", + "mod": "licensemanager/licenseGrantAccepter", + "fqn": "pulumi_aws.licensemanager", + "classes": { + "aws:licensemanager/licenseGrantAccepter:LicenseGrantAccepter": "LicenseGrantAccepter" + } + }, { "pkg": "aws", "mod": "lightsail/bucket", @@ -7624,6 +7640,14 @@ "aws:redshift/clusterIamRoles:ClusterIamRoles": "ClusterIamRoles" } }, + { + "pkg": "aws", + "mod": "redshift/clusterSnapshot", + "fqn": "pulumi_aws.redshift", + "classes": { + "aws:redshift/clusterSnapshot:ClusterSnapshot": "ClusterSnapshot" + } + }, { "pkg": "aws", "mod": "redshift/endpointAccess", diff --git a/sdk/python/pulumi_aws/acm/certificate.py b/sdk/python/pulumi_aws/acm/certificate.py index f4fea5cf101..c5aab57b726 100644 --- a/sdk/python/pulumi_aws/acm/certificate.py +++ b/sdk/python/pulumi_aws/acm/certificate.py @@ -1165,7 +1165,7 @@ def not_before(self) -> pulumi.Output[str]: @property @pulumi.getter - def options(self) -> pulumi.Output[Optional['outputs.CertificateOptions']]: + def options(self) -> pulumi.Output['outputs.CertificateOptions']: """ Configuration block used to set certificate options. Detailed below. """ diff --git a/sdk/python/pulumi_aws/amplify/domain_association.py b/sdk/python/pulumi_aws/amplify/domain_association.py index 4a5b820b1f3..c3a3caf0fe1 100644 --- a/sdk/python/pulumi_aws/amplify/domain_association.py +++ b/sdk/python/pulumi_aws/amplify/domain_association.py @@ -19,17 +19,21 @@ def __init__(__self__, *, app_id: pulumi.Input[str], domain_name: pulumi.Input[str], sub_domains: pulumi.Input[Sequence[pulumi.Input['DomainAssociationSubDomainArgs']]], + enable_auto_sub_domain: Optional[pulumi.Input[bool]] = None, wait_for_verification: Optional[pulumi.Input[bool]] = None): """ The set of arguments for constructing a DomainAssociation resource. :param pulumi.Input[str] app_id: Unique ID for an Amplify app. :param pulumi.Input[str] domain_name: Domain name for the domain association. :param pulumi.Input[Sequence[pulumi.Input['DomainAssociationSubDomainArgs']]] sub_domains: Setting for the subdomain. Documented below. + :param pulumi.Input[bool] enable_auto_sub_domain: Enables the automated creation of subdomains for branches. :param pulumi.Input[bool] wait_for_verification: If enabled, the resource will wait for the domain association status to change to `PENDING_DEPLOYMENT` or `AVAILABLE`. Setting this to `false` will skip the process. Default: `true`. """ pulumi.set(__self__, "app_id", app_id) pulumi.set(__self__, "domain_name", domain_name) pulumi.set(__self__, "sub_domains", sub_domains) + if enable_auto_sub_domain is not None: + pulumi.set(__self__, "enable_auto_sub_domain", enable_auto_sub_domain) if wait_for_verification is not None: pulumi.set(__self__, "wait_for_verification", wait_for_verification) @@ -69,6 +73,18 @@ def sub_domains(self) -> pulumi.Input[Sequence[pulumi.Input['DomainAssociationSu def sub_domains(self, value: pulumi.Input[Sequence[pulumi.Input['DomainAssociationSubDomainArgs']]]): pulumi.set(self, "sub_domains", value) + @property + @pulumi.getter(name="enableAutoSubDomain") + def enable_auto_sub_domain(self) -> Optional[pulumi.Input[bool]]: + """ + Enables the automated creation of subdomains for branches. + """ + return pulumi.get(self, "enable_auto_sub_domain") + + @enable_auto_sub_domain.setter + def enable_auto_sub_domain(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_auto_sub_domain", value) + @property @pulumi.getter(name="waitForVerification") def wait_for_verification(self) -> Optional[pulumi.Input[bool]]: @@ -89,6 +105,7 @@ def __init__(__self__, *, arn: Optional[pulumi.Input[str]] = None, certificate_verification_dns_record: Optional[pulumi.Input[str]] = None, domain_name: Optional[pulumi.Input[str]] = None, + enable_auto_sub_domain: Optional[pulumi.Input[bool]] = None, sub_domains: Optional[pulumi.Input[Sequence[pulumi.Input['DomainAssociationSubDomainArgs']]]] = None, wait_for_verification: Optional[pulumi.Input[bool]] = None): """ @@ -97,6 +114,7 @@ def __init__(__self__, *, :param pulumi.Input[str] arn: ARN for the domain association. :param pulumi.Input[str] certificate_verification_dns_record: The DNS record for certificate verification. :param pulumi.Input[str] domain_name: Domain name for the domain association. + :param pulumi.Input[bool] enable_auto_sub_domain: Enables the automated creation of subdomains for branches. :param pulumi.Input[Sequence[pulumi.Input['DomainAssociationSubDomainArgs']]] sub_domains: Setting for the subdomain. Documented below. :param pulumi.Input[bool] wait_for_verification: If enabled, the resource will wait for the domain association status to change to `PENDING_DEPLOYMENT` or `AVAILABLE`. Setting this to `false` will skip the process. Default: `true`. """ @@ -108,6 +126,8 @@ def __init__(__self__, *, pulumi.set(__self__, "certificate_verification_dns_record", certificate_verification_dns_record) if domain_name is not None: pulumi.set(__self__, "domain_name", domain_name) + if enable_auto_sub_domain is not None: + pulumi.set(__self__, "enable_auto_sub_domain", enable_auto_sub_domain) if sub_domains is not None: pulumi.set(__self__, "sub_domains", sub_domains) if wait_for_verification is not None: @@ -161,6 +181,18 @@ def domain_name(self) -> Optional[pulumi.Input[str]]: def domain_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "domain_name", value) + @property + @pulumi.getter(name="enableAutoSubDomain") + def enable_auto_sub_domain(self) -> Optional[pulumi.Input[bool]]: + """ + Enables the automated creation of subdomains for branches. + """ + return pulumi.get(self, "enable_auto_sub_domain") + + @enable_auto_sub_domain.setter + def enable_auto_sub_domain(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_auto_sub_domain", value) + @property @pulumi.getter(name="subDomains") def sub_domains(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DomainAssociationSubDomainArgs']]]]: @@ -193,6 +225,7 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, app_id: Optional[pulumi.Input[str]] = None, domain_name: Optional[pulumi.Input[str]] = None, + enable_auto_sub_domain: Optional[pulumi.Input[bool]] = None, sub_domains: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DomainAssociationSubDomainArgs']]]]] = None, wait_for_verification: Optional[pulumi.Input[bool]] = None, __props__=None): @@ -240,6 +273,7 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] app_id: Unique ID for an Amplify app. :param pulumi.Input[str] domain_name: Domain name for the domain association. + :param pulumi.Input[bool] enable_auto_sub_domain: Enables the automated creation of subdomains for branches. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DomainAssociationSubDomainArgs']]]] sub_domains: Setting for the subdomain. Documented below. :param pulumi.Input[bool] wait_for_verification: If enabled, the resource will wait for the domain association status to change to `PENDING_DEPLOYMENT` or `AVAILABLE`. Setting this to `false` will skip the process. Default: `true`. """ @@ -306,6 +340,7 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, app_id: Optional[pulumi.Input[str]] = None, domain_name: Optional[pulumi.Input[str]] = None, + enable_auto_sub_domain: Optional[pulumi.Input[bool]] = None, sub_domains: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DomainAssociationSubDomainArgs']]]]] = None, wait_for_verification: Optional[pulumi.Input[bool]] = None, __props__=None): @@ -323,6 +358,7 @@ def _internal_init(__self__, if domain_name is None and not opts.urn: raise TypeError("Missing required property 'domain_name'") __props__.__dict__["domain_name"] = domain_name + __props__.__dict__["enable_auto_sub_domain"] = enable_auto_sub_domain if sub_domains is None and not opts.urn: raise TypeError("Missing required property 'sub_domains'") __props__.__dict__["sub_domains"] = sub_domains @@ -343,6 +379,7 @@ def get(resource_name: str, arn: Optional[pulumi.Input[str]] = None, certificate_verification_dns_record: Optional[pulumi.Input[str]] = None, domain_name: Optional[pulumi.Input[str]] = None, + enable_auto_sub_domain: Optional[pulumi.Input[bool]] = None, sub_domains: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DomainAssociationSubDomainArgs']]]]] = None, wait_for_verification: Optional[pulumi.Input[bool]] = None) -> 'DomainAssociation': """ @@ -356,6 +393,7 @@ def get(resource_name: str, :param pulumi.Input[str] arn: ARN for the domain association. :param pulumi.Input[str] certificate_verification_dns_record: The DNS record for certificate verification. :param pulumi.Input[str] domain_name: Domain name for the domain association. + :param pulumi.Input[bool] enable_auto_sub_domain: Enables the automated creation of subdomains for branches. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DomainAssociationSubDomainArgs']]]] sub_domains: Setting for the subdomain. Documented below. :param pulumi.Input[bool] wait_for_verification: If enabled, the resource will wait for the domain association status to change to `PENDING_DEPLOYMENT` or `AVAILABLE`. Setting this to `false` will skip the process. Default: `true`. """ @@ -367,6 +405,7 @@ def get(resource_name: str, __props__.__dict__["arn"] = arn __props__.__dict__["certificate_verification_dns_record"] = certificate_verification_dns_record __props__.__dict__["domain_name"] = domain_name + __props__.__dict__["enable_auto_sub_domain"] = enable_auto_sub_domain __props__.__dict__["sub_domains"] = sub_domains __props__.__dict__["wait_for_verification"] = wait_for_verification return DomainAssociation(resource_name, opts=opts, __props__=__props__) @@ -403,6 +442,14 @@ def domain_name(self) -> pulumi.Output[str]: """ return pulumi.get(self, "domain_name") + @property + @pulumi.getter(name="enableAutoSubDomain") + def enable_auto_sub_domain(self) -> pulumi.Output[Optional[bool]]: + """ + Enables the automated creation of subdomains for branches. + """ + return pulumi.get(self, "enable_auto_sub_domain") + @property @pulumi.getter(name="subDomains") def sub_domains(self) -> pulumi.Output[Sequence['outputs.DomainAssociationSubDomain']]: diff --git a/sdk/python/pulumi_aws/apigateway/account.py b/sdk/python/pulumi_aws/apigateway/account.py index 7a0f8ff8944..fc2c0fd0835 100644 --- a/sdk/python/pulumi_aws/apigateway/account.py +++ b/sdk/python/pulumi_aws/apigateway/account.py @@ -120,7 +120,7 @@ def __init__(__self__, )]) cloudwatch_role_policy = aws.iam.RolePolicy("cloudwatchRolePolicy", role=cloudwatch_role.id, - policy=data["aws_iam_policy_document"]["json"]) + policy=cloudwatch_policy_document.json) ``` ## Import @@ -177,7 +177,7 @@ def __init__(__self__, )]) cloudwatch_role_policy = aws.iam.RolePolicy("cloudwatchRolePolicy", role=cloudwatch_role.id, - policy=data["aws_iam_policy_document"]["json"]) + policy=cloudwatch_policy_document.json) ``` ## Import diff --git a/sdk/python/pulumi_aws/apprunner/_inputs.py b/sdk/python/pulumi_aws/apprunner/_inputs.py index 8f60c184c9e..4cf48d2c1e1 100644 --- a/sdk/python/pulumi_aws/apprunner/_inputs.py +++ b/sdk/python/pulumi_aws/apprunner/_inputs.py @@ -657,7 +657,7 @@ def __init__(__self__, *, :param pulumi.Input[str] runtime: Runtime environment type for building and running an App Runner service. Represents a programming language runtime. Valid values: `PYTHON_3`, `NODEJS_12`, `NODEJS_14`, `NODEJS_16`, `CORRETTO_8`, `CORRETTO_11`, `GO_1`, `DOTNET_6`, `PHP_81`, `RUBY_31`. :param pulumi.Input[str] build_command: Command App Runner runs to build your application. :param pulumi.Input[str] port: Port that your application listens to in the container. Defaults to `"8080"`. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] runtime_environment_secrets: Secrets and parameters available to your service as environment variables. A map of key/value pairs. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] runtime_environment_secrets: Secrets and parameters available to your service as environment variables. A map of key/value pairs, where the key is the desired name of the Secret in the environment (i.e. it does not have to match the name of the secret in Secrets Manager or SSM Parameter Store), and the value is the ARN of the secret from AWS Secrets Manager or the ARN of the parameter in AWS SSM Parameter Store. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] runtime_environment_variables: Environment variables available to your running App Runner service. A map of key/value pairs. Keys with a prefix of `AWSAPPRUNNER` are reserved for system use and aren't valid. :param pulumi.Input[str] start_command: Command App Runner runs to start your application. """ @@ -713,7 +713,7 @@ def port(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="runtimeEnvironmentSecrets") def runtime_environment_secrets(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: """ - Secrets and parameters available to your service as environment variables. A map of key/value pairs. + Secrets and parameters available to your service as environment variables. A map of key/value pairs, where the key is the desired name of the Secret in the environment (i.e. it does not have to match the name of the secret in Secrets Manager or SSM Parameter Store), and the value is the ARN of the secret from AWS Secrets Manager or the ARN of the parameter in AWS SSM Parameter Store. """ return pulumi.get(self, "runtime_environment_secrets") @@ -847,7 +847,7 @@ def __init__(__self__, *, start_command: Optional[pulumi.Input[str]] = None): """ :param pulumi.Input[str] port: Port that your application listens to in the container. Defaults to `"8080"`. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] runtime_environment_secrets: Secrets and parameters available to your service as environment variables. A map of key/value pairs. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] runtime_environment_secrets: Secrets and parameters available to your service as environment variables. A map of key/value pairs, where the key is the desired name of the Secret in the environment (i.e. it does not have to match the name of the secret in Secrets Manager or SSM Parameter Store), and the value is the ARN of the secret from AWS Secrets Manager or the ARN of the parameter in AWS SSM Parameter Store. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] runtime_environment_variables: Environment variables available to your running App Runner service. A map of key/value pairs. Keys with a prefix of `AWSAPPRUNNER` are reserved for system use and aren't valid. :param pulumi.Input[str] start_command: Command App Runner runs to start the application in the source image. If specified, this command overrides the Docker image’s default start command. """ @@ -876,7 +876,7 @@ def port(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="runtimeEnvironmentSecrets") def runtime_environment_secrets(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: """ - Secrets and parameters available to your service as environment variables. A map of key/value pairs. + Secrets and parameters available to your service as environment variables. A map of key/value pairs, where the key is the desired name of the Secret in the environment (i.e. it does not have to match the name of the secret in Secrets Manager or SSM Parameter Store), and the value is the ARN of the secret from AWS Secrets Manager or the ARN of the parameter in AWS SSM Parameter Store. """ return pulumi.get(self, "runtime_environment_secrets") diff --git a/sdk/python/pulumi_aws/apprunner/outputs.py b/sdk/python/pulumi_aws/apprunner/outputs.py index 12fad4c6dd6..b4c9ad0d4b6 100644 --- a/sdk/python/pulumi_aws/apprunner/outputs.py +++ b/sdk/python/pulumi_aws/apprunner/outputs.py @@ -758,7 +758,7 @@ def __init__(__self__, *, :param str runtime: Runtime environment type for building and running an App Runner service. Represents a programming language runtime. Valid values: `PYTHON_3`, `NODEJS_12`, `NODEJS_14`, `NODEJS_16`, `CORRETTO_8`, `CORRETTO_11`, `GO_1`, `DOTNET_6`, `PHP_81`, `RUBY_31`. :param str build_command: Command App Runner runs to build your application. :param str port: Port that your application listens to in the container. Defaults to `"8080"`. - :param Mapping[str, str] runtime_environment_secrets: Secrets and parameters available to your service as environment variables. A map of key/value pairs. + :param Mapping[str, str] runtime_environment_secrets: Secrets and parameters available to your service as environment variables. A map of key/value pairs, where the key is the desired name of the Secret in the environment (i.e. it does not have to match the name of the secret in Secrets Manager or SSM Parameter Store), and the value is the ARN of the secret from AWS Secrets Manager or the ARN of the parameter in AWS SSM Parameter Store. :param Mapping[str, str] runtime_environment_variables: Environment variables available to your running App Runner service. A map of key/value pairs. Keys with a prefix of `AWSAPPRUNNER` are reserved for system use and aren't valid. :param str start_command: Command App Runner runs to start your application. """ @@ -802,7 +802,7 @@ def port(self) -> Optional[str]: @pulumi.getter(name="runtimeEnvironmentSecrets") def runtime_environment_secrets(self) -> Optional[Mapping[str, str]]: """ - Secrets and parameters available to your service as environment variables. A map of key/value pairs. + Secrets and parameters available to your service as environment variables. A map of key/value pairs, where the key is the desired name of the Secret in the environment (i.e. it does not have to match the name of the secret in Secrets Manager or SSM Parameter Store), and the value is the ARN of the secret from AWS Secrets Manager or the ARN of the parameter in AWS SSM Parameter Store. """ return pulumi.get(self, "runtime_environment_secrets") @@ -946,7 +946,7 @@ def __init__(__self__, *, start_command: Optional[str] = None): """ :param str port: Port that your application listens to in the container. Defaults to `"8080"`. - :param Mapping[str, str] runtime_environment_secrets: Secrets and parameters available to your service as environment variables. A map of key/value pairs. + :param Mapping[str, str] runtime_environment_secrets: Secrets and parameters available to your service as environment variables. A map of key/value pairs, where the key is the desired name of the Secret in the environment (i.e. it does not have to match the name of the secret in Secrets Manager or SSM Parameter Store), and the value is the ARN of the secret from AWS Secrets Manager or the ARN of the parameter in AWS SSM Parameter Store. :param Mapping[str, str] runtime_environment_variables: Environment variables available to your running App Runner service. A map of key/value pairs. Keys with a prefix of `AWSAPPRUNNER` are reserved for system use and aren't valid. :param str start_command: Command App Runner runs to start the application in the source image. If specified, this command overrides the Docker image’s default start command. """ @@ -971,7 +971,7 @@ def port(self) -> Optional[str]: @pulumi.getter(name="runtimeEnvironmentSecrets") def runtime_environment_secrets(self) -> Optional[Mapping[str, str]]: """ - Secrets and parameters available to your service as environment variables. A map of key/value pairs. + Secrets and parameters available to your service as environment variables. A map of key/value pairs, where the key is the desired name of the Secret in the environment (i.e. it does not have to match the name of the secret in Secrets Manager or SSM Parameter Store), and the value is the ARN of the secret from AWS Secrets Manager or the ARN of the parameter in AWS SSM Parameter Store. """ return pulumi.get(self, "runtime_environment_secrets") diff --git a/sdk/python/pulumi_aws/appsync/data_source.py b/sdk/python/pulumi_aws/appsync/data_source.py index 7f042a714a2..d72754d2b7a 100644 --- a/sdk/python/pulumi_aws/appsync/data_source.py +++ b/sdk/python/pulumi_aws/appsync/data_source.py @@ -382,6 +382,48 @@ def __init__(__self__, """ Provides an AppSync Data Source. + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + example_table = aws.dynamodb.Table("exampleTable", + read_capacity=1, + write_capacity=1, + hash_key="UserId", + attributes=[aws.dynamodb.TableAttributeArgs( + name="UserId", + type="S", + )]) + assume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs( + effect="Allow", + principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs( + type="Service", + identifiers=["appsync.amazonaws.com"], + )], + actions=["sts:AssumeRole"], + )]) + example_role = aws.iam.Role("exampleRole", assume_role_policy=assume_role.json) + example_policy_document = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs( + effect="Allow", + actions=["dynamodb:*"], + resources=[example_table.arn], + )]) + example_role_policy = aws.iam.RolePolicy("exampleRolePolicy", + role=example_role.id, + policy=example_policy_document.json) + example_graph_ql_api = aws.appsync.GraphQLApi("exampleGraphQLApi", authentication_type="API_KEY") + example_data_source = aws.appsync.DataSource("exampleDataSource", + api_id=example_graph_ql_api.id, + name="my_appsync_example", + service_role_arn=example_role.arn, + type="AMAZON_DYNAMODB", + dynamodb_config=aws.appsync.DataSourceDynamodbConfigArgs( + table_name=example_table.name, + )) + ``` + ## Import `aws_appsync_datasource` can be imported with their `api_id`, a hyphen, and `name`, e.g., @@ -412,6 +454,48 @@ def __init__(__self__, """ Provides an AppSync Data Source. + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + example_table = aws.dynamodb.Table("exampleTable", + read_capacity=1, + write_capacity=1, + hash_key="UserId", + attributes=[aws.dynamodb.TableAttributeArgs( + name="UserId", + type="S", + )]) + assume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs( + effect="Allow", + principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs( + type="Service", + identifiers=["appsync.amazonaws.com"], + )], + actions=["sts:AssumeRole"], + )]) + example_role = aws.iam.Role("exampleRole", assume_role_policy=assume_role.json) + example_policy_document = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs( + effect="Allow", + actions=["dynamodb:*"], + resources=[example_table.arn], + )]) + example_role_policy = aws.iam.RolePolicy("exampleRolePolicy", + role=example_role.id, + policy=example_policy_document.json) + example_graph_ql_api = aws.appsync.GraphQLApi("exampleGraphQLApi", authentication_type="API_KEY") + example_data_source = aws.appsync.DataSource("exampleDataSource", + api_id=example_graph_ql_api.id, + name="my_appsync_example", + service_role_arn=example_role.arn, + type="AMAZON_DYNAMODB", + dynamodb_config=aws.appsync.DataSourceDynamodbConfigArgs( + table_name=example_table.name, + )) + ``` + ## Import `aws_appsync_datasource` can be imported with their `api_id`, a hyphen, and `name`, e.g., diff --git a/sdk/python/pulumi_aws/cloudhsmv2/hsm.py b/sdk/python/pulumi_aws/cloudhsmv2/hsm.py index 649c45c16b6..f0faf55e39d 100644 --- a/sdk/python/pulumi_aws/cloudhsmv2/hsm.py +++ b/sdk/python/pulumi_aws/cloudhsmv2/hsm.py @@ -21,9 +21,9 @@ def __init__(__self__, *, """ The set of arguments for constructing a Hsm resource. :param pulumi.Input[str] cluster_id: The ID of Cloud HSM v2 cluster to which HSM will be added. - :param pulumi.Input[str] availability_zone: The IDs of AZ in which HSM module will be located. Do not use together with subnet_id. + :param pulumi.Input[str] availability_zone: The IDs of AZ in which HSM module will be located. Conflicts with `subnet_id`. :param pulumi.Input[str] ip_address: The IP address of HSM module. Must be within the CIDR of selected subnet. - :param pulumi.Input[str] subnet_id: The ID of subnet in which HSM module will be located. + :param pulumi.Input[str] subnet_id: The ID of subnet in which HSM module will be located. Conflicts with `availability_zone`. """ pulumi.set(__self__, "cluster_id", cluster_id) if availability_zone is not None: @@ -49,7 +49,7 @@ def cluster_id(self, value: pulumi.Input[str]): @pulumi.getter(name="availabilityZone") def availability_zone(self) -> Optional[pulumi.Input[str]]: """ - The IDs of AZ in which HSM module will be located. Do not use together with subnet_id. + The IDs of AZ in which HSM module will be located. Conflicts with `subnet_id`. """ return pulumi.get(self, "availability_zone") @@ -73,7 +73,7 @@ def ip_address(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="subnetId") def subnet_id(self) -> Optional[pulumi.Input[str]]: """ - The ID of subnet in which HSM module will be located. + The ID of subnet in which HSM module will be located. Conflicts with `availability_zone`. """ return pulumi.get(self, "subnet_id") @@ -94,13 +94,13 @@ def __init__(__self__, *, subnet_id: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering Hsm resources. - :param pulumi.Input[str] availability_zone: The IDs of AZ in which HSM module will be located. Do not use together with subnet_id. + :param pulumi.Input[str] availability_zone: The IDs of AZ in which HSM module will be located. Conflicts with `subnet_id`. :param pulumi.Input[str] cluster_id: The ID of Cloud HSM v2 cluster to which HSM will be added. :param pulumi.Input[str] hsm_eni_id: The id of the ENI interface allocated for HSM module. :param pulumi.Input[str] hsm_id: The id of the HSM module. :param pulumi.Input[str] hsm_state: The state of the HSM module. :param pulumi.Input[str] ip_address: The IP address of HSM module. Must be within the CIDR of selected subnet. - :param pulumi.Input[str] subnet_id: The ID of subnet in which HSM module will be located. + :param pulumi.Input[str] subnet_id: The ID of subnet in which HSM module will be located. Conflicts with `availability_zone`. """ if availability_zone is not None: pulumi.set(__self__, "availability_zone", availability_zone) @@ -121,7 +121,7 @@ def __init__(__self__, *, @pulumi.getter(name="availabilityZone") def availability_zone(self) -> Optional[pulumi.Input[str]]: """ - The IDs of AZ in which HSM module will be located. Do not use together with subnet_id. + The IDs of AZ in which HSM module will be located. Conflicts with `subnet_id`. """ return pulumi.get(self, "availability_zone") @@ -193,7 +193,7 @@ def ip_address(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="subnetId") def subnet_id(self) -> Optional[pulumi.Input[str]]: """ - The ID of subnet in which HSM module will be located. + The ID of subnet in which HSM module will be located. Conflicts with `availability_zone`. """ return pulumi.get(self, "subnet_id") @@ -239,10 +239,10 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] availability_zone: The IDs of AZ in which HSM module will be located. Do not use together with subnet_id. + :param pulumi.Input[str] availability_zone: The IDs of AZ in which HSM module will be located. Conflicts with `subnet_id`. :param pulumi.Input[str] cluster_id: The ID of Cloud HSM v2 cluster to which HSM will be added. :param pulumi.Input[str] ip_address: The IP address of HSM module. Must be within the CIDR of selected subnet. - :param pulumi.Input[str] subnet_id: The ID of subnet in which HSM module will be located. + :param pulumi.Input[str] subnet_id: The ID of subnet in which HSM module will be located. Conflicts with `availability_zone`. """ ... @overload @@ -336,13 +336,13 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] availability_zone: The IDs of AZ in which HSM module will be located. Do not use together with subnet_id. + :param pulumi.Input[str] availability_zone: The IDs of AZ in which HSM module will be located. Conflicts with `subnet_id`. :param pulumi.Input[str] cluster_id: The ID of Cloud HSM v2 cluster to which HSM will be added. :param pulumi.Input[str] hsm_eni_id: The id of the ENI interface allocated for HSM module. :param pulumi.Input[str] hsm_id: The id of the HSM module. :param pulumi.Input[str] hsm_state: The state of the HSM module. :param pulumi.Input[str] ip_address: The IP address of HSM module. Must be within the CIDR of selected subnet. - :param pulumi.Input[str] subnet_id: The ID of subnet in which HSM module will be located. + :param pulumi.Input[str] subnet_id: The ID of subnet in which HSM module will be located. Conflicts with `availability_zone`. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -361,7 +361,7 @@ def get(resource_name: str, @pulumi.getter(name="availabilityZone") def availability_zone(self) -> pulumi.Output[str]: """ - The IDs of AZ in which HSM module will be located. Do not use together with subnet_id. + The IDs of AZ in which HSM module will be located. Conflicts with `subnet_id`. """ return pulumi.get(self, "availability_zone") @@ -409,7 +409,7 @@ def ip_address(self) -> pulumi.Output[str]: @pulumi.getter(name="subnetId") def subnet_id(self) -> pulumi.Output[str]: """ - The ID of subnet in which HSM module will be located. + The ID of subnet in which HSM module will be located. Conflicts with `availability_zone`. """ return pulumi.get(self, "subnet_id") diff --git a/sdk/python/pulumi_aws/codebuild/_inputs.py b/sdk/python/pulumi_aws/codebuild/_inputs.py index d749efd77da..ad9b343f1cf 100644 --- a/sdk/python/pulumi_aws/codebuild/_inputs.py +++ b/sdk/python/pulumi_aws/codebuild/_inputs.py @@ -857,15 +857,15 @@ def __init__(__self__, *, path: Optional[pulumi.Input[str]] = None): """ :param pulumi.Input[str] artifact_identifier: Artifact identifier. Must be the same specified inside the AWS CodeBuild build specification. - :param pulumi.Input[str] type: Build output artifact's type. The only valid value is `S3`. - :param pulumi.Input[str] bucket_owner_access: Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has access to these objects. This property allows you to give the bucket owner access to these objects. Valid values are `NONE`, `READ_ONLY`, and `FULL`. your CodeBuild service role must have the `s3:PutBucketAcl` permission. This permission allows CodeBuild to modify the access control list for the bucket. + :param pulumi.Input[str] type: Build output artifact's type. Valid values `CODEPIPELINE`, `NO_ARTIFACTS`, and `S3`. + :param pulumi.Input[str] bucket_owner_access: Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has access to these objects. This property allows you to give the bucket owner access to these objects. Valid values are `NONE`, `READ_ONLY`, and `FULL`. The CodeBuild service role must have the `s3:PutBucketAcl` permission. This permission allows CodeBuild to modify the access control list for the bucket. :param pulumi.Input[bool] encryption_disabled: Whether to disable encrypting output artifacts. If `type` is set to `NO_ARTIFACTS`, this value is ignored. Defaults to `false`. - :param pulumi.Input[str] location: Information about the build output artifact location. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored. If `type` is set to `S3`, this is the name of the output bucket. If `path` is not also specified, then `location` can also specify the path of the output artifact in the output bucket. - :param pulumi.Input[str] name: Name of the project. If `type` is set to `S3`, this is the name of the output artifact object - :param pulumi.Input[str] namespace_type: Namespace to use in storing build artifacts. If `type` is set to `S3`, then valid values are `BUILD_ID` or `NONE`. + :param pulumi.Input[str] location: Information about the build output artifact location. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, this is the name of the output bucket. If `path` is not specified, `location` can specify the path of the output artifact in the output bucket. + :param pulumi.Input[str] name: Name of the project. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, this is the name of the output artifact object. + :param pulumi.Input[str] namespace_type: Namespace to use in storing build artifacts. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, valid values are `BUILD_ID` or `NONE`. :param pulumi.Input[bool] override_artifact_name: Whether a name specified in the build specification overrides the artifact name. - :param pulumi.Input[str] packaging: Type of build output artifact to create. If `type` is set to `S3`, valid values are `NONE`, `ZIP` - :param pulumi.Input[str] path: If `type` is set to `S3`, this is the path to the output artifact. + :param pulumi.Input[str] packaging: Type of build output artifact to create. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, valid values are `NONE` or `ZIP`. + :param pulumi.Input[str] path: Along with `namespace_type` and `name`, the pattern that AWS CodeBuild uses to name and store the output artifact. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, this is the path to the output artifact. """ pulumi.set(__self__, "artifact_identifier", artifact_identifier) pulumi.set(__self__, "type", type) @@ -902,7 +902,7 @@ def artifact_identifier(self, value: pulumi.Input[str]): @pulumi.getter def type(self) -> pulumi.Input[str]: """ - Build output artifact's type. The only valid value is `S3`. + Build output artifact's type. Valid values `CODEPIPELINE`, `NO_ARTIFACTS`, and `S3`. """ return pulumi.get(self, "type") @@ -914,7 +914,7 @@ def type(self, value: pulumi.Input[str]): @pulumi.getter(name="bucketOwnerAccess") def bucket_owner_access(self) -> Optional[pulumi.Input[str]]: """ - Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has access to these objects. This property allows you to give the bucket owner access to these objects. Valid values are `NONE`, `READ_ONLY`, and `FULL`. your CodeBuild service role must have the `s3:PutBucketAcl` permission. This permission allows CodeBuild to modify the access control list for the bucket. + Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has access to these objects. This property allows you to give the bucket owner access to these objects. Valid values are `NONE`, `READ_ONLY`, and `FULL`. The CodeBuild service role must have the `s3:PutBucketAcl` permission. This permission allows CodeBuild to modify the access control list for the bucket. """ return pulumi.get(self, "bucket_owner_access") @@ -938,7 +938,7 @@ def encryption_disabled(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter def location(self) -> Optional[pulumi.Input[str]]: """ - Information about the build output artifact location. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored. If `type` is set to `S3`, this is the name of the output bucket. If `path` is not also specified, then `location` can also specify the path of the output artifact in the output bucket. + Information about the build output artifact location. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, this is the name of the output bucket. If `path` is not specified, `location` can specify the path of the output artifact in the output bucket. """ return pulumi.get(self, "location") @@ -950,7 +950,7 @@ def location(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: """ - Name of the project. If `type` is set to `S3`, this is the name of the output artifact object + Name of the project. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, this is the name of the output artifact object. """ return pulumi.get(self, "name") @@ -962,7 +962,7 @@ def name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="namespaceType") def namespace_type(self) -> Optional[pulumi.Input[str]]: """ - Namespace to use in storing build artifacts. If `type` is set to `S3`, then valid values are `BUILD_ID` or `NONE`. + Namespace to use in storing build artifacts. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, valid values are `BUILD_ID` or `NONE`. """ return pulumi.get(self, "namespace_type") @@ -986,7 +986,7 @@ def override_artifact_name(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter def packaging(self) -> Optional[pulumi.Input[str]]: """ - Type of build output artifact to create. If `type` is set to `S3`, valid values are `NONE`, `ZIP` + Type of build output artifact to create. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, valid values are `NONE` or `ZIP`. """ return pulumi.get(self, "packaging") @@ -998,7 +998,7 @@ def packaging(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def path(self) -> Optional[pulumi.Input[str]]: """ - If `type` is set to `S3`, this is the path to the output artifact. + Along with `namespace_type` and `name`, the pattern that AWS CodeBuild uses to name and store the output artifact. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, this is the path to the output artifact. """ return pulumi.get(self, "path") diff --git a/sdk/python/pulumi_aws/codebuild/outputs.py b/sdk/python/pulumi_aws/codebuild/outputs.py index faed24ad78a..d3899771633 100644 --- a/sdk/python/pulumi_aws/codebuild/outputs.py +++ b/sdk/python/pulumi_aws/codebuild/outputs.py @@ -882,15 +882,15 @@ def __init__(__self__, *, path: Optional[str] = None): """ :param str artifact_identifier: Artifact identifier. Must be the same specified inside the AWS CodeBuild build specification. - :param str type: Build output artifact's type. The only valid value is `S3`. - :param str bucket_owner_access: Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has access to these objects. This property allows you to give the bucket owner access to these objects. Valid values are `NONE`, `READ_ONLY`, and `FULL`. your CodeBuild service role must have the `s3:PutBucketAcl` permission. This permission allows CodeBuild to modify the access control list for the bucket. + :param str type: Build output artifact's type. Valid values `CODEPIPELINE`, `NO_ARTIFACTS`, and `S3`. + :param str bucket_owner_access: Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has access to these objects. This property allows you to give the bucket owner access to these objects. Valid values are `NONE`, `READ_ONLY`, and `FULL`. The CodeBuild service role must have the `s3:PutBucketAcl` permission. This permission allows CodeBuild to modify the access control list for the bucket. :param bool encryption_disabled: Whether to disable encrypting output artifacts. If `type` is set to `NO_ARTIFACTS`, this value is ignored. Defaults to `false`. - :param str location: Information about the build output artifact location. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored. If `type` is set to `S3`, this is the name of the output bucket. If `path` is not also specified, then `location` can also specify the path of the output artifact in the output bucket. - :param str name: Name of the project. If `type` is set to `S3`, this is the name of the output artifact object - :param str namespace_type: Namespace to use in storing build artifacts. If `type` is set to `S3`, then valid values are `BUILD_ID` or `NONE`. + :param str location: Information about the build output artifact location. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, this is the name of the output bucket. If `path` is not specified, `location` can specify the path of the output artifact in the output bucket. + :param str name: Name of the project. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, this is the name of the output artifact object. + :param str namespace_type: Namespace to use in storing build artifacts. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, valid values are `BUILD_ID` or `NONE`. :param bool override_artifact_name: Whether a name specified in the build specification overrides the artifact name. - :param str packaging: Type of build output artifact to create. If `type` is set to `S3`, valid values are `NONE`, `ZIP` - :param str path: If `type` is set to `S3`, this is the path to the output artifact. + :param str packaging: Type of build output artifact to create. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, valid values are `NONE` or `ZIP`. + :param str path: Along with `namespace_type` and `name`, the pattern that AWS CodeBuild uses to name and store the output artifact. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, this is the path to the output artifact. """ pulumi.set(__self__, "artifact_identifier", artifact_identifier) pulumi.set(__self__, "type", type) @@ -923,7 +923,7 @@ def artifact_identifier(self) -> str: @pulumi.getter def type(self) -> str: """ - Build output artifact's type. The only valid value is `S3`. + Build output artifact's type. Valid values `CODEPIPELINE`, `NO_ARTIFACTS`, and `S3`. """ return pulumi.get(self, "type") @@ -931,7 +931,7 @@ def type(self) -> str: @pulumi.getter(name="bucketOwnerAccess") def bucket_owner_access(self) -> Optional[str]: """ - Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has access to these objects. This property allows you to give the bucket owner access to these objects. Valid values are `NONE`, `READ_ONLY`, and `FULL`. your CodeBuild service role must have the `s3:PutBucketAcl` permission. This permission allows CodeBuild to modify the access control list for the bucket. + Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has access to these objects. This property allows you to give the bucket owner access to these objects. Valid values are `NONE`, `READ_ONLY`, and `FULL`. The CodeBuild service role must have the `s3:PutBucketAcl` permission. This permission allows CodeBuild to modify the access control list for the bucket. """ return pulumi.get(self, "bucket_owner_access") @@ -947,7 +947,7 @@ def encryption_disabled(self) -> Optional[bool]: @pulumi.getter def location(self) -> Optional[str]: """ - Information about the build output artifact location. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored. If `type` is set to `S3`, this is the name of the output bucket. If `path` is not also specified, then `location` can also specify the path of the output artifact in the output bucket. + Information about the build output artifact location. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, this is the name of the output bucket. If `path` is not specified, `location` can specify the path of the output artifact in the output bucket. """ return pulumi.get(self, "location") @@ -955,7 +955,7 @@ def location(self) -> Optional[str]: @pulumi.getter def name(self) -> Optional[str]: """ - Name of the project. If `type` is set to `S3`, this is the name of the output artifact object + Name of the project. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, this is the name of the output artifact object. """ return pulumi.get(self, "name") @@ -963,7 +963,7 @@ def name(self) -> Optional[str]: @pulumi.getter(name="namespaceType") def namespace_type(self) -> Optional[str]: """ - Namespace to use in storing build artifacts. If `type` is set to `S3`, then valid values are `BUILD_ID` or `NONE`. + Namespace to use in storing build artifacts. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, valid values are `BUILD_ID` or `NONE`. """ return pulumi.get(self, "namespace_type") @@ -979,7 +979,7 @@ def override_artifact_name(self) -> Optional[bool]: @pulumi.getter def packaging(self) -> Optional[str]: """ - Type of build output artifact to create. If `type` is set to `S3`, valid values are `NONE`, `ZIP` + Type of build output artifact to create. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, valid values are `NONE` or `ZIP`. """ return pulumi.get(self, "packaging") @@ -987,7 +987,7 @@ def packaging(self) -> Optional[str]: @pulumi.getter def path(self) -> Optional[str]: """ - If `type` is set to `S3`, this is the path to the output artifact. + Along with `namespace_type` and `name`, the pattern that AWS CodeBuild uses to name and store the output artifact. If `type` is set to `CODEPIPELINE` or `NO_ARTIFACTS`, this value is ignored if specified. If `type` is set to `S3`, this is the path to the output artifact. """ return pulumi.get(self, "path") diff --git a/sdk/python/pulumi_aws/codebuild/project.py b/sdk/python/pulumi_aws/codebuild/project.py index 5403e0c81a4..05928e9c40b 100644 --- a/sdk/python/pulumi_aws/codebuild/project.py +++ b/sdk/python/pulumi_aws/codebuild/project.py @@ -857,6 +857,176 @@ def __init__(__self__, """ Provides a CodeBuild Project resource. See also the `codebuild.Webhook` resource, which manages the webhook to the source (e.g., the "rebuild every time a code change is pushed" option in the CodeBuild web console). + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + example_bucket_v2 = aws.s3.BucketV2("exampleBucketV2") + example_bucket_acl_v2 = aws.s3.BucketAclV2("exampleBucketAclV2", + bucket=example_bucket_v2.id, + acl="private") + assume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs( + effect="Allow", + principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs( + type="Service", + identifiers=["codebuild.amazonaws.com"], + )], + actions=["sts:AssumeRole"], + )]) + example_role = aws.iam.Role("exampleRole", assume_role_policy=assume_role.json) + example_policy_document = pulumi.Output.all(example_bucket_v2.arn, example_bucket_v2.arn).apply(lambda exampleBucketV2Arn, exampleBucketV2Arn1: aws.iam.get_policy_document_output(statements=[ + aws.iam.GetPolicyDocumentStatementArgs( + effect="Allow", + actions=[ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents", + ], + resources=["*"], + ), + aws.iam.GetPolicyDocumentStatementArgs( + effect="Allow", + actions=[ + "ec2:CreateNetworkInterface", + "ec2:DescribeDhcpOptions", + "ec2:DescribeNetworkInterfaces", + "ec2:DeleteNetworkInterface", + "ec2:DescribeSubnets", + "ec2:DescribeSecurityGroups", + "ec2:DescribeVpcs", + ], + resources=["*"], + ), + aws.iam.GetPolicyDocumentStatementArgs( + effect="Allow", + actions=["ec2:CreateNetworkInterfacePermission"], + resources=["arn:aws:ec2:us-east-1:123456789012:network-interface/*"], + conditions=[ + aws.iam.GetPolicyDocumentStatementConditionArgs( + test="StringEquals", + variable="ec2:Subnet", + values=[ + aws_subnet["example1"]["arn"], + aws_subnet["example2"]["arn"], + ], + ), + aws.iam.GetPolicyDocumentStatementConditionArgs( + test="StringEquals", + variable="ec2:AuthorizedService", + values=["codebuild.amazonaws.com"], + ), + ], + ), + aws.iam.GetPolicyDocumentStatementArgs( + effect="Allow", + actions=["s3:*"], + resources=[ + example_bucket_v2_arn, + f"{example_bucket_v2_arn1}/*", + ], + ), + ])) + example_role_policy = aws.iam.RolePolicy("exampleRolePolicy", + role=example_role.name, + policy=example_policy_document.json) + example_project = aws.codebuild.Project("exampleProject", + description="test_codebuild_project", + build_timeout=5, + service_role=example_role.arn, + artifacts=aws.codebuild.ProjectArtifactsArgs( + type="NO_ARTIFACTS", + ), + cache=aws.codebuild.ProjectCacheArgs( + type="S3", + location=example_bucket_v2.bucket, + ), + environment=aws.codebuild.ProjectEnvironmentArgs( + compute_type="BUILD_GENERAL1_SMALL", + image="aws/codebuild/standard:1.0", + type="LINUX_CONTAINER", + image_pull_credentials_type="CODEBUILD", + environment_variables=[ + aws.codebuild.ProjectEnvironmentEnvironmentVariableArgs( + name="SOME_KEY1", + value="SOME_VALUE1", + ), + aws.codebuild.ProjectEnvironmentEnvironmentVariableArgs( + name="SOME_KEY2", + value="SOME_VALUE2", + type="PARAMETER_STORE", + ), + ], + ), + logs_config=aws.codebuild.ProjectLogsConfigArgs( + cloudwatch_logs=aws.codebuild.ProjectLogsConfigCloudwatchLogsArgs( + group_name="log-group", + stream_name="log-stream", + ), + s3_logs=aws.codebuild.ProjectLogsConfigS3LogsArgs( + status="ENABLED", + location=example_bucket_v2.id.apply(lambda id: f"{id}/build-log"), + ), + ), + source=aws.codebuild.ProjectSourceArgs( + type="GITHUB", + location="https://github.com/mitchellh/packer.git", + git_clone_depth=1, + git_submodules_config=aws.codebuild.ProjectSourceGitSubmodulesConfigArgs( + fetch_submodules=True, + ), + ), + source_version="master", + vpc_config=aws.codebuild.ProjectVpcConfigArgs( + vpc_id=aws_vpc["example"]["id"], + subnets=[ + aws_subnet["example1"]["id"], + aws_subnet["example2"]["id"], + ], + security_group_ids=[ + aws_security_group["example1"]["id"], + aws_security_group["example2"]["id"], + ], + ), + tags={ + "Environment": "Test", + }) + project_with_cache = aws.codebuild.Project("project-with-cache", + description="test_codebuild_project_cache", + build_timeout=5, + queued_timeout=5, + service_role=example_role.arn, + artifacts=aws.codebuild.ProjectArtifactsArgs( + type="NO_ARTIFACTS", + ), + cache=aws.codebuild.ProjectCacheArgs( + type="LOCAL", + modes=[ + "LOCAL_DOCKER_LAYER_CACHE", + "LOCAL_SOURCE_CACHE", + ], + ), + environment=aws.codebuild.ProjectEnvironmentArgs( + compute_type="BUILD_GENERAL1_SMALL", + image="aws/codebuild/standard:1.0", + type="LINUX_CONTAINER", + image_pull_credentials_type="CODEBUILD", + environment_variables=[aws.codebuild.ProjectEnvironmentEnvironmentVariableArgs( + name="SOME_KEY1", + value="SOME_VALUE1", + )], + ), + source=aws.codebuild.ProjectSourceArgs( + type="GITHUB", + location="https://github.com/mitchellh/packer.git", + git_clone_depth=1, + ), + tags={ + "Environment": "Test", + }) + ``` + ## Import CodeBuild Project can be imported using the `name`, e.g., @@ -900,6 +1070,176 @@ def __init__(__self__, """ Provides a CodeBuild Project resource. See also the `codebuild.Webhook` resource, which manages the webhook to the source (e.g., the "rebuild every time a code change is pushed" option in the CodeBuild web console). + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + example_bucket_v2 = aws.s3.BucketV2("exampleBucketV2") + example_bucket_acl_v2 = aws.s3.BucketAclV2("exampleBucketAclV2", + bucket=example_bucket_v2.id, + acl="private") + assume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs( + effect="Allow", + principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs( + type="Service", + identifiers=["codebuild.amazonaws.com"], + )], + actions=["sts:AssumeRole"], + )]) + example_role = aws.iam.Role("exampleRole", assume_role_policy=assume_role.json) + example_policy_document = pulumi.Output.all(example_bucket_v2.arn, example_bucket_v2.arn).apply(lambda exampleBucketV2Arn, exampleBucketV2Arn1: aws.iam.get_policy_document_output(statements=[ + aws.iam.GetPolicyDocumentStatementArgs( + effect="Allow", + actions=[ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents", + ], + resources=["*"], + ), + aws.iam.GetPolicyDocumentStatementArgs( + effect="Allow", + actions=[ + "ec2:CreateNetworkInterface", + "ec2:DescribeDhcpOptions", + "ec2:DescribeNetworkInterfaces", + "ec2:DeleteNetworkInterface", + "ec2:DescribeSubnets", + "ec2:DescribeSecurityGroups", + "ec2:DescribeVpcs", + ], + resources=["*"], + ), + aws.iam.GetPolicyDocumentStatementArgs( + effect="Allow", + actions=["ec2:CreateNetworkInterfacePermission"], + resources=["arn:aws:ec2:us-east-1:123456789012:network-interface/*"], + conditions=[ + aws.iam.GetPolicyDocumentStatementConditionArgs( + test="StringEquals", + variable="ec2:Subnet", + values=[ + aws_subnet["example1"]["arn"], + aws_subnet["example2"]["arn"], + ], + ), + aws.iam.GetPolicyDocumentStatementConditionArgs( + test="StringEquals", + variable="ec2:AuthorizedService", + values=["codebuild.amazonaws.com"], + ), + ], + ), + aws.iam.GetPolicyDocumentStatementArgs( + effect="Allow", + actions=["s3:*"], + resources=[ + example_bucket_v2_arn, + f"{example_bucket_v2_arn1}/*", + ], + ), + ])) + example_role_policy = aws.iam.RolePolicy("exampleRolePolicy", + role=example_role.name, + policy=example_policy_document.json) + example_project = aws.codebuild.Project("exampleProject", + description="test_codebuild_project", + build_timeout=5, + service_role=example_role.arn, + artifacts=aws.codebuild.ProjectArtifactsArgs( + type="NO_ARTIFACTS", + ), + cache=aws.codebuild.ProjectCacheArgs( + type="S3", + location=example_bucket_v2.bucket, + ), + environment=aws.codebuild.ProjectEnvironmentArgs( + compute_type="BUILD_GENERAL1_SMALL", + image="aws/codebuild/standard:1.0", + type="LINUX_CONTAINER", + image_pull_credentials_type="CODEBUILD", + environment_variables=[ + aws.codebuild.ProjectEnvironmentEnvironmentVariableArgs( + name="SOME_KEY1", + value="SOME_VALUE1", + ), + aws.codebuild.ProjectEnvironmentEnvironmentVariableArgs( + name="SOME_KEY2", + value="SOME_VALUE2", + type="PARAMETER_STORE", + ), + ], + ), + logs_config=aws.codebuild.ProjectLogsConfigArgs( + cloudwatch_logs=aws.codebuild.ProjectLogsConfigCloudwatchLogsArgs( + group_name="log-group", + stream_name="log-stream", + ), + s3_logs=aws.codebuild.ProjectLogsConfigS3LogsArgs( + status="ENABLED", + location=example_bucket_v2.id.apply(lambda id: f"{id}/build-log"), + ), + ), + source=aws.codebuild.ProjectSourceArgs( + type="GITHUB", + location="https://github.com/mitchellh/packer.git", + git_clone_depth=1, + git_submodules_config=aws.codebuild.ProjectSourceGitSubmodulesConfigArgs( + fetch_submodules=True, + ), + ), + source_version="master", + vpc_config=aws.codebuild.ProjectVpcConfigArgs( + vpc_id=aws_vpc["example"]["id"], + subnets=[ + aws_subnet["example1"]["id"], + aws_subnet["example2"]["id"], + ], + security_group_ids=[ + aws_security_group["example1"]["id"], + aws_security_group["example2"]["id"], + ], + ), + tags={ + "Environment": "Test", + }) + project_with_cache = aws.codebuild.Project("project-with-cache", + description="test_codebuild_project_cache", + build_timeout=5, + queued_timeout=5, + service_role=example_role.arn, + artifacts=aws.codebuild.ProjectArtifactsArgs( + type="NO_ARTIFACTS", + ), + cache=aws.codebuild.ProjectCacheArgs( + type="LOCAL", + modes=[ + "LOCAL_DOCKER_LAYER_CACHE", + "LOCAL_SOURCE_CACHE", + ], + ), + environment=aws.codebuild.ProjectEnvironmentArgs( + compute_type="BUILD_GENERAL1_SMALL", + image="aws/codebuild/standard:1.0", + type="LINUX_CONTAINER", + image_pull_credentials_type="CODEBUILD", + environment_variables=[aws.codebuild.ProjectEnvironmentEnvironmentVariableArgs( + name="SOME_KEY1", + value="SOME_VALUE1", + )], + ), + source=aws.codebuild.ProjectSourceArgs( + type="GITHUB", + location="https://github.com/mitchellh/packer.git", + git_clone_depth=1, + ), + tags={ + "Environment": "Test", + }) + ``` + ## Import CodeBuild Project can be imported using the `name`, e.g., diff --git a/sdk/python/pulumi_aws/cognito/resource_server.py b/sdk/python/pulumi_aws/cognito/resource_server.py index 26235d11faa..a20afbe86d6 100644 --- a/sdk/python/pulumi_aws/cognito/resource_server.py +++ b/sdk/python/pulumi_aws/cognito/resource_server.py @@ -209,7 +209,7 @@ def __init__(__self__, `aws_cognito_resource_server` can be imported using their User Pool ID and Identifier, e.g., ```sh - $ pulumi import aws:cognito/resourceServer:ResourceServer example us-west-2_abc123:https://example.com + $ pulumi import aws:cognito/resourceServer:ResourceServer example "us-west-2_abc123|https://example.com" ``` :param str resource_name: The name of the resource. @@ -260,7 +260,7 @@ def __init__(__self__, `aws_cognito_resource_server` can be imported using their User Pool ID and Identifier, e.g., ```sh - $ pulumi import aws:cognito/resourceServer:ResourceServer example us-west-2_abc123:https://example.com + $ pulumi import aws:cognito/resourceServer:ResourceServer example "us-west-2_abc123|https://example.com" ``` :param str resource_name: The name of the resource. diff --git a/sdk/python/pulumi_aws/dynamodb/table.py b/sdk/python/pulumi_aws/dynamodb/table.py index 6881dc77f7d..d3fbe40a723 100644 --- a/sdk/python/pulumi_aws/dynamodb/table.py +++ b/sdk/python/pulumi_aws/dynamodb/table.py @@ -43,7 +43,7 @@ def __init__(__self__, *, :param pulumi.Input[str] billing_mode: Controls how you are charged for read and write throughput and how you manage capacity. The valid values are `PROVISIONED` and `PAY_PER_REQUEST`. Defaults to `PROVISIONED`. :param pulumi.Input[Sequence[pulumi.Input['TableGlobalSecondaryIndexArgs']]] global_secondary_indexes: Describe a GSI for the table; subject to the normal limits on the number of GSIs, projected attributes, etc. See below. :param pulumi.Input[str] hash_key: Attribute to use as the hash (partition) key. Must also be defined as an `attribute`. See below. - :param pulumi.Input[Sequence[pulumi.Input['TableLocalSecondaryIndexArgs']]] local_secondary_indexes: Describe an LSI on the table; these can only be allocated *at creation* so you cannot change this definition after you have created the resource. See below. + :param pulumi.Input[Sequence[pulumi.Input['TableLocalSecondaryIndexArgs']]] local_secondary_indexes: Describe an LSI on the table; these can only be allocated _at creation_ so you cannot change this definition after you have created the resource. See below. :param pulumi.Input[str] name: Unique within a region name of the table. :param pulumi.Input['TablePointInTimeRecoveryArgs'] point_in_time_recovery: Enable point-in-time recovery options. See below. :param pulumi.Input[str] range_key: Attribute to use as the range (sort) key. Must also be defined as an `attribute`, see below. @@ -55,7 +55,9 @@ def __init__(__self__, *, :param pulumi.Input['TableServerSideEncryptionArgs'] server_side_encryption: Encryption at rest options. AWS DynamoDB tables are automatically encrypted at rest with an AWS-owned Customer Master Key if this argument isn't specified. See below. :param pulumi.Input[bool] stream_enabled: Whether Streams are enabled. :param pulumi.Input[str] stream_view_type: When an item in the table is modified, StreamViewType determines what information is written to the table's stream. Valid values are `KEYS_ONLY`, `NEW_IMAGE`, `OLD_IMAGE`, `NEW_AND_OLD_IMAGES`. - :param pulumi.Input[str] table_class: Storage class of the table. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + :param pulumi.Input[str] table_class: Storage class of the table. + Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + Default value is `STANDARD`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to populate on the created table. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. :param pulumi.Input['TableTtlArgs'] ttl: Configuration block for TTL. See below. @@ -156,7 +158,7 @@ def hash_key(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="localSecondaryIndexes") def local_secondary_indexes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['TableLocalSecondaryIndexArgs']]]]: """ - Describe an LSI on the table; these can only be allocated *at creation* so you cannot change this definition after you have created the resource. See below. + Describe an LSI on the table; these can only be allocated _at creation_ so you cannot change this definition after you have created the resource. See below. """ return pulumi.get(self, "local_secondary_indexes") @@ -300,7 +302,9 @@ def stream_view_type(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="tableClass") def table_class(self) -> Optional[pulumi.Input[str]]: """ - Storage class of the table. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + Storage class of the table. + Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + Default value is `STANDARD`. """ return pulumi.get(self, "table_class") @@ -391,7 +395,7 @@ def __init__(__self__, *, :param pulumi.Input[str] billing_mode: Controls how you are charged for read and write throughput and how you manage capacity. The valid values are `PROVISIONED` and `PAY_PER_REQUEST`. Defaults to `PROVISIONED`. :param pulumi.Input[Sequence[pulumi.Input['TableGlobalSecondaryIndexArgs']]] global_secondary_indexes: Describe a GSI for the table; subject to the normal limits on the number of GSIs, projected attributes, etc. See below. :param pulumi.Input[str] hash_key: Attribute to use as the hash (partition) key. Must also be defined as an `attribute`. See below. - :param pulumi.Input[Sequence[pulumi.Input['TableLocalSecondaryIndexArgs']]] local_secondary_indexes: Describe an LSI on the table; these can only be allocated *at creation* so you cannot change this definition after you have created the resource. See below. + :param pulumi.Input[Sequence[pulumi.Input['TableLocalSecondaryIndexArgs']]] local_secondary_indexes: Describe an LSI on the table; these can only be allocated _at creation_ so you cannot change this definition after you have created the resource. See below. :param pulumi.Input[str] name: Unique within a region name of the table. :param pulumi.Input['TablePointInTimeRecoveryArgs'] point_in_time_recovery: Enable point-in-time recovery options. See below. :param pulumi.Input[str] range_key: Attribute to use as the range (sort) key. Must also be defined as an `attribute`, see below. @@ -405,7 +409,9 @@ def __init__(__self__, *, :param pulumi.Input[bool] stream_enabled: Whether Streams are enabled. :param pulumi.Input[str] stream_label: Timestamp, in ISO 8601 format, for this stream. Note that this timestamp is not a unique identifier for the stream on its own. However, the combination of AWS customer ID, table name and this field is guaranteed to be unique. It can be used for creating CloudWatch Alarms. Only available when `stream_enabled = true`. :param pulumi.Input[str] stream_view_type: When an item in the table is modified, StreamViewType determines what information is written to the table's stream. Valid values are `KEYS_ONLY`, `NEW_IMAGE`, `OLD_IMAGE`, `NEW_AND_OLD_IMAGES`. - :param pulumi.Input[str] table_class: Storage class of the table. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + :param pulumi.Input[str] table_class: Storage class of the table. + Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + Default value is `STANDARD`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to populate on the created table. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. :param pulumi.Input['TableTtlArgs'] ttl: Configuration block for TTL. See below. @@ -524,7 +530,7 @@ def hash_key(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="localSecondaryIndexes") def local_secondary_indexes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['TableLocalSecondaryIndexArgs']]]]: """ - Describe an LSI on the table; these can only be allocated *at creation* so you cannot change this definition after you have created the resource. See below. + Describe an LSI on the table; these can only be allocated _at creation_ so you cannot change this definition after you have created the resource. See below. """ return pulumi.get(self, "local_secondary_indexes") @@ -692,7 +698,9 @@ def stream_view_type(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="tableClass") def table_class(self) -> Optional[pulumi.Input[str]]: """ - Storage class of the table. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + Storage class of the table. + Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + Default value is `STANDARD`. """ return pulumi.get(self, "table_class") @@ -882,7 +890,7 @@ def __init__(__self__, :param pulumi.Input[str] billing_mode: Controls how you are charged for read and write throughput and how you manage capacity. The valid values are `PROVISIONED` and `PAY_PER_REQUEST`. Defaults to `PROVISIONED`. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['TableGlobalSecondaryIndexArgs']]]] global_secondary_indexes: Describe a GSI for the table; subject to the normal limits on the number of GSIs, projected attributes, etc. See below. :param pulumi.Input[str] hash_key: Attribute to use as the hash (partition) key. Must also be defined as an `attribute`. See below. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['TableLocalSecondaryIndexArgs']]]] local_secondary_indexes: Describe an LSI on the table; these can only be allocated *at creation* so you cannot change this definition after you have created the resource. See below. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['TableLocalSecondaryIndexArgs']]]] local_secondary_indexes: Describe an LSI on the table; these can only be allocated _at creation_ so you cannot change this definition after you have created the resource. See below. :param pulumi.Input[str] name: Unique within a region name of the table. :param pulumi.Input[pulumi.InputType['TablePointInTimeRecoveryArgs']] point_in_time_recovery: Enable point-in-time recovery options. See below. :param pulumi.Input[str] range_key: Attribute to use as the range (sort) key. Must also be defined as an `attribute`, see below. @@ -894,7 +902,9 @@ def __init__(__self__, :param pulumi.Input[pulumi.InputType['TableServerSideEncryptionArgs']] server_side_encryption: Encryption at rest options. AWS DynamoDB tables are automatically encrypted at rest with an AWS-owned Customer Master Key if this argument isn't specified. See below. :param pulumi.Input[bool] stream_enabled: Whether Streams are enabled. :param pulumi.Input[str] stream_view_type: When an item in the table is modified, StreamViewType determines what information is written to the table's stream. Valid values are `KEYS_ONLY`, `NEW_IMAGE`, `OLD_IMAGE`, `NEW_AND_OLD_IMAGES`. - :param pulumi.Input[str] table_class: Storage class of the table. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + :param pulumi.Input[str] table_class: Storage class of the table. + Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + Default value is `STANDARD`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to populate on the created table. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. :param pulumi.Input[pulumi.InputType['TableTtlArgs']] ttl: Configuration block for TTL. See below. @@ -1121,7 +1131,7 @@ def get(resource_name: str, :param pulumi.Input[str] billing_mode: Controls how you are charged for read and write throughput and how you manage capacity. The valid values are `PROVISIONED` and `PAY_PER_REQUEST`. Defaults to `PROVISIONED`. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['TableGlobalSecondaryIndexArgs']]]] global_secondary_indexes: Describe a GSI for the table; subject to the normal limits on the number of GSIs, projected attributes, etc. See below. :param pulumi.Input[str] hash_key: Attribute to use as the hash (partition) key. Must also be defined as an `attribute`. See below. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['TableLocalSecondaryIndexArgs']]]] local_secondary_indexes: Describe an LSI on the table; these can only be allocated *at creation* so you cannot change this definition after you have created the resource. See below. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['TableLocalSecondaryIndexArgs']]]] local_secondary_indexes: Describe an LSI on the table; these can only be allocated _at creation_ so you cannot change this definition after you have created the resource. See below. :param pulumi.Input[str] name: Unique within a region name of the table. :param pulumi.Input[pulumi.InputType['TablePointInTimeRecoveryArgs']] point_in_time_recovery: Enable point-in-time recovery options. See below. :param pulumi.Input[str] range_key: Attribute to use as the range (sort) key. Must also be defined as an `attribute`, see below. @@ -1135,7 +1145,9 @@ def get(resource_name: str, :param pulumi.Input[bool] stream_enabled: Whether Streams are enabled. :param pulumi.Input[str] stream_label: Timestamp, in ISO 8601 format, for this stream. Note that this timestamp is not a unique identifier for the stream on its own. However, the combination of AWS customer ID, table name and this field is guaranteed to be unique. It can be used for creating CloudWatch Alarms. Only available when `stream_enabled = true`. :param pulumi.Input[str] stream_view_type: When an item in the table is modified, StreamViewType determines what information is written to the table's stream. Valid values are `KEYS_ONLY`, `NEW_IMAGE`, `OLD_IMAGE`, `NEW_AND_OLD_IMAGES`. - :param pulumi.Input[str] table_class: Storage class of the table. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + :param pulumi.Input[str] table_class: Storage class of the table. + Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + Default value is `STANDARD`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to populate on the created table. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. :param pulumi.Input[pulumi.InputType['TableTtlArgs']] ttl: Configuration block for TTL. See below. @@ -1215,7 +1227,7 @@ def hash_key(self) -> pulumi.Output[str]: @pulumi.getter(name="localSecondaryIndexes") def local_secondary_indexes(self) -> pulumi.Output[Optional[Sequence['outputs.TableLocalSecondaryIndex']]]: """ - Describe an LSI on the table; these can only be allocated *at creation* so you cannot change this definition after you have created the resource. See below. + Describe an LSI on the table; these can only be allocated _at creation_ so you cannot change this definition after you have created the resource. See below. """ return pulumi.get(self, "local_secondary_indexes") @@ -1327,7 +1339,9 @@ def stream_view_type(self) -> pulumi.Output[str]: @pulumi.getter(name="tableClass") def table_class(self) -> pulumi.Output[Optional[str]]: """ - Storage class of the table. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + Storage class of the table. + Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. + Default value is `STANDARD`. """ return pulumi.get(self, "table_class") diff --git a/sdk/python/pulumi_aws/ec2/flow_log.py b/sdk/python/pulumi_aws/ec2/flow_log.py index fa270fc6d31..49c82bd9a53 100644 --- a/sdk/python/pulumi_aws/ec2/flow_log.py +++ b/sdk/python/pulumi_aws/ec2/flow_log.py @@ -16,6 +16,7 @@ @pulumi.input_type class FlowLogArgs: def __init__(__self__, *, + deliver_cross_account_role: Optional[pulumi.Input[str]] = None, destination_options: Optional[pulumi.Input['FlowLogDestinationOptionsArgs']] = None, eni_id: Optional[pulumi.Input[str]] = None, iam_role_arn: Optional[pulumi.Input[str]] = None, @@ -32,6 +33,7 @@ def __init__(__self__, *, vpc_id: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a FlowLog resource. + :param pulumi.Input[str] deliver_cross_account_role: ARN of the IAM role that allows Amazon EC2 to publish flow logs across accounts. :param pulumi.Input['FlowLogDestinationOptionsArgs'] destination_options: Describes the destination options for a flow log. More details below. :param pulumi.Input[str] eni_id: Elastic Network Interface ID to attach to :param pulumi.Input[str] iam_role_arn: The ARN for the IAM role that's used to post flow logs to a CloudWatch Logs log group @@ -50,6 +52,8 @@ def __init__(__self__, *, :param pulumi.Input[str] transit_gateway_id: Transit Gateway ID to attach to :param pulumi.Input[str] vpc_id: VPC ID to attach to """ + if deliver_cross_account_role is not None: + pulumi.set(__self__, "deliver_cross_account_role", deliver_cross_account_role) if destination_options is not None: pulumi.set(__self__, "destination_options", destination_options) if eni_id is not None: @@ -82,6 +86,18 @@ def __init__(__self__, *, if vpc_id is not None: pulumi.set(__self__, "vpc_id", vpc_id) + @property + @pulumi.getter(name="deliverCrossAccountRole") + def deliver_cross_account_role(self) -> Optional[pulumi.Input[str]]: + """ + ARN of the IAM role that allows Amazon EC2 to publish flow logs across accounts. + """ + return pulumi.get(self, "deliver_cross_account_role") + + @deliver_cross_account_role.setter + def deliver_cross_account_role(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "deliver_cross_account_role", value) + @property @pulumi.getter(name="destinationOptions") def destination_options(self) -> Optional[pulumi.Input['FlowLogDestinationOptionsArgs']]: @@ -258,6 +274,7 @@ def vpc_id(self, value: Optional[pulumi.Input[str]]): class _FlowLogState: def __init__(__self__, *, arn: Optional[pulumi.Input[str]] = None, + deliver_cross_account_role: Optional[pulumi.Input[str]] = None, destination_options: Optional[pulumi.Input['FlowLogDestinationOptionsArgs']] = None, eni_id: Optional[pulumi.Input[str]] = None, iam_role_arn: Optional[pulumi.Input[str]] = None, @@ -276,6 +293,7 @@ def __init__(__self__, *, """ Input properties used for looking up and filtering FlowLog resources. :param pulumi.Input[str] arn: The ARN of the Flow Log. + :param pulumi.Input[str] deliver_cross_account_role: ARN of the IAM role that allows Amazon EC2 to publish flow logs across accounts. :param pulumi.Input['FlowLogDestinationOptionsArgs'] destination_options: Describes the destination options for a flow log. More details below. :param pulumi.Input[str] eni_id: Elastic Network Interface ID to attach to :param pulumi.Input[str] iam_role_arn: The ARN for the IAM role that's used to post flow logs to a CloudWatch Logs log group @@ -297,6 +315,8 @@ def __init__(__self__, *, """ if arn is not None: pulumi.set(__self__, "arn", arn) + if deliver_cross_account_role is not None: + pulumi.set(__self__, "deliver_cross_account_role", deliver_cross_account_role) if destination_options is not None: pulumi.set(__self__, "destination_options", destination_options) if eni_id is not None: @@ -343,6 +363,18 @@ def arn(self) -> Optional[pulumi.Input[str]]: def arn(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "arn", value) + @property + @pulumi.getter(name="deliverCrossAccountRole") + def deliver_cross_account_role(self) -> Optional[pulumi.Input[str]]: + """ + ARN of the IAM role that allows Amazon EC2 to publish flow logs across accounts. + """ + return pulumi.get(self, "deliver_cross_account_role") + + @deliver_cross_account_role.setter + def deliver_cross_account_role(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "deliver_cross_account_role", value) + @property @pulumi.getter(name="destinationOptions") def destination_options(self) -> Optional[pulumi.Input['FlowLogDestinationOptionsArgs']]: @@ -532,6 +564,7 @@ class FlowLog(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + deliver_cross_account_role: Optional[pulumi.Input[str]] = None, destination_options: Optional[pulumi.Input[pulumi.InputType['FlowLogDestinationOptionsArgs']]] = None, eni_id: Optional[pulumi.Input[str]] = None, iam_role_arn: Optional[pulumi.Input[str]] = None, @@ -629,6 +662,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] deliver_cross_account_role: ARN of the IAM role that allows Amazon EC2 to publish flow logs across accounts. :param pulumi.Input[pulumi.InputType['FlowLogDestinationOptionsArgs']] destination_options: Describes the destination options for a flow log. More details below. :param pulumi.Input[str] eni_id: Elastic Network Interface ID to attach to :param pulumi.Input[str] iam_role_arn: The ARN for the IAM role that's used to post flow logs to a CloudWatch Logs log group @@ -748,6 +782,7 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + deliver_cross_account_role: Optional[pulumi.Input[str]] = None, destination_options: Optional[pulumi.Input[pulumi.InputType['FlowLogDestinationOptionsArgs']]] = None, eni_id: Optional[pulumi.Input[str]] = None, iam_role_arn: Optional[pulumi.Input[str]] = None, @@ -771,6 +806,7 @@ def _internal_init(__self__, raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') __props__ = FlowLogArgs.__new__(FlowLogArgs) + __props__.__dict__["deliver_cross_account_role"] = deliver_cross_account_role __props__.__dict__["destination_options"] = destination_options __props__.__dict__["eni_id"] = eni_id __props__.__dict__["iam_role_arn"] = iam_role_arn @@ -801,6 +837,7 @@ def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, arn: Optional[pulumi.Input[str]] = None, + deliver_cross_account_role: Optional[pulumi.Input[str]] = None, destination_options: Optional[pulumi.Input[pulumi.InputType['FlowLogDestinationOptionsArgs']]] = None, eni_id: Optional[pulumi.Input[str]] = None, iam_role_arn: Optional[pulumi.Input[str]] = None, @@ -824,6 +861,7 @@ def get(resource_name: str, :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] arn: The ARN of the Flow Log. + :param pulumi.Input[str] deliver_cross_account_role: ARN of the IAM role that allows Amazon EC2 to publish flow logs across accounts. :param pulumi.Input[pulumi.InputType['FlowLogDestinationOptionsArgs']] destination_options: Describes the destination options for a flow log. More details below. :param pulumi.Input[str] eni_id: Elastic Network Interface ID to attach to :param pulumi.Input[str] iam_role_arn: The ARN for the IAM role that's used to post flow logs to a CloudWatch Logs log group @@ -848,6 +886,7 @@ def get(resource_name: str, __props__ = _FlowLogState.__new__(_FlowLogState) __props__.__dict__["arn"] = arn + __props__.__dict__["deliver_cross_account_role"] = deliver_cross_account_role __props__.__dict__["destination_options"] = destination_options __props__.__dict__["eni_id"] = eni_id __props__.__dict__["iam_role_arn"] = iam_role_arn @@ -873,6 +912,14 @@ def arn(self) -> pulumi.Output[str]: """ return pulumi.get(self, "arn") + @property + @pulumi.getter(name="deliverCrossAccountRole") + def deliver_cross_account_role(self) -> pulumi.Output[Optional[str]]: + """ + ARN of the IAM role that allows Amazon EC2 to publish flow logs across accounts. + """ + return pulumi.get(self, "deliver_cross_account_role") + @property @pulumi.getter(name="destinationOptions") def destination_options(self) -> pulumi.Output[Optional['outputs.FlowLogDestinationOptions']]: diff --git a/sdk/python/pulumi_aws/ec2/get_instances.py b/sdk/python/pulumi_aws/ec2/get_instances.py index 4be450cdede..3b31a6307fb 100644 --- a/sdk/python/pulumi_aws/ec2/get_instances.py +++ b/sdk/python/pulumi_aws/ec2/get_instances.py @@ -23,7 +23,7 @@ class GetInstancesResult: """ A collection of values returned by getInstances. """ - def __init__(__self__, filters=None, id=None, ids=None, instance_state_names=None, instance_tags=None, private_ips=None, public_ips=None): + def __init__(__self__, filters=None, id=None, ids=None, instance_state_names=None, instance_tags=None, ipv6_addresses=None, private_ips=None, public_ips=None): if filters and not isinstance(filters, list): raise TypeError("Expected argument 'filters' to be a list") pulumi.set(__self__, "filters", filters) @@ -39,6 +39,9 @@ def __init__(__self__, filters=None, id=None, ids=None, instance_state_names=Non if instance_tags and not isinstance(instance_tags, dict): raise TypeError("Expected argument 'instance_tags' to be a dict") pulumi.set(__self__, "instance_tags", instance_tags) + if ipv6_addresses and not isinstance(ipv6_addresses, list): + raise TypeError("Expected argument 'ipv6_addresses' to be a list") + pulumi.set(__self__, "ipv6_addresses", ipv6_addresses) if private_ips and not isinstance(private_ips, list): raise TypeError("Expected argument 'private_ips' to be a list") pulumi.set(__self__, "private_ips", private_ips) @@ -77,6 +80,14 @@ def instance_state_names(self) -> Optional[Sequence[str]]: def instance_tags(self) -> Mapping[str, str]: return pulumi.get(self, "instance_tags") + @property + @pulumi.getter(name="ipv6Addresses") + def ipv6_addresses(self) -> Sequence[str]: + """ + IPv6 addresses of instances found through the filter + """ + return pulumi.get(self, "ipv6_addresses") + @property @pulumi.getter(name="privateIps") def private_ips(self) -> Sequence[str]: @@ -105,6 +116,7 @@ def __await__(self): ids=self.ids, instance_state_names=self.instance_state_names, instance_tags=self.instance_tags, + ipv6_addresses=self.ipv6_addresses, private_ips=self.private_ips, public_ips=self.public_ips) @@ -143,6 +155,7 @@ def get_instances(filters: Optional[Sequence[pulumi.InputType['GetInstancesFilte ids=__ret__.ids, instance_state_names=__ret__.instance_state_names, instance_tags=__ret__.instance_tags, + ipv6_addresses=__ret__.ipv6_addresses, private_ips=__ret__.private_ips, public_ips=__ret__.public_ips) diff --git a/sdk/python/pulumi_aws/ec2/launch_configuration.py b/sdk/python/pulumi_aws/ec2/launch_configuration.py index d9480eeb7e2..58d716cd2b1 100644 --- a/sdk/python/pulumi_aws/ec2/launch_configuration.py +++ b/sdk/python/pulumi_aws/ec2/launch_configuration.py @@ -724,6 +724,8 @@ def __init__(__self__, """ Provides a resource to create a new launch configuration, used for autoscaling groups. + !> **WARNING:** The use of launch configurations is discouraged in favour of launch templates. Read more in the [AWS EC2 Documentation](https://docs.aws.amazon.com/autoscaling/ec2/userguide/launch-configurations.html). + > **Note** When using `ec2.LaunchConfiguration` with `autoscaling.Group`, it is recommended to use the `name_prefix` (Optional) instead of the `name` (Optional) attribute. ## Example Usage @@ -912,6 +914,8 @@ def __init__(__self__, """ Provides a resource to create a new launch configuration, used for autoscaling groups. + !> **WARNING:** The use of launch configurations is discouraged in favour of launch templates. Read more in the [AWS EC2 Documentation](https://docs.aws.amazon.com/autoscaling/ec2/userguide/launch-configurations.html). + > **Note** When using `ec2.LaunchConfiguration` with `autoscaling.Group`, it is recommended to use the `name_prefix` (Optional) instead of the `name` (Optional) attribute. ## Example Usage diff --git a/sdk/python/pulumi_aws/ec2transitgateway/get_attachment.py b/sdk/python/pulumi_aws/ec2transitgateway/get_attachment.py index e0c64de97b6..b18b5f1cb95 100644 --- a/sdk/python/pulumi_aws/ec2transitgateway/get_attachment.py +++ b/sdk/python/pulumi_aws/ec2transitgateway/get_attachment.py @@ -23,10 +23,16 @@ class GetAttachmentResult: """ A collection of values returned by getAttachment. """ - def __init__(__self__, arn=None, filters=None, id=None, resource_id=None, resource_owner_id=None, resource_type=None, state=None, tags=None, transit_gateway_attachment_id=None, transit_gateway_id=None, transit_gateway_owner_id=None): + def __init__(__self__, arn=None, association_state=None, association_transit_gateway_route_table_id=None, filters=None, id=None, resource_id=None, resource_owner_id=None, resource_type=None, state=None, tags=None, transit_gateway_attachment_id=None, transit_gateway_id=None, transit_gateway_owner_id=None): if arn and not isinstance(arn, str): raise TypeError("Expected argument 'arn' to be a str") pulumi.set(__self__, "arn", arn) + if association_state and not isinstance(association_state, str): + raise TypeError("Expected argument 'association_state' to be a str") + pulumi.set(__self__, "association_state", association_state) + if association_transit_gateway_route_table_id and not isinstance(association_transit_gateway_route_table_id, str): + raise TypeError("Expected argument 'association_transit_gateway_route_table_id' to be a str") + pulumi.set(__self__, "association_transit_gateway_route_table_id", association_transit_gateway_route_table_id) if filters and not isinstance(filters, list): raise TypeError("Expected argument 'filters' to be a list") pulumi.set(__self__, "filters", filters) @@ -66,6 +72,22 @@ def arn(self) -> str: """ return pulumi.get(self, "arn") + @property + @pulumi.getter(name="associationState") + def association_state(self) -> str: + """ + The state of the association (see [the underlying AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_TransitGatewayAttachmentAssociation.html) for valid values). + """ + return pulumi.get(self, "association_state") + + @property + @pulumi.getter(name="associationTransitGatewayRouteTableId") + def association_transit_gateway_route_table_id(self) -> str: + """ + The ID of the route table for the transit gateway. + """ + return pulumi.get(self, "association_transit_gateway_route_table_id") + @property @pulumi.getter def filters(self) -> Optional[Sequence['outputs.GetAttachmentFilterResult']]: @@ -148,6 +170,8 @@ def __await__(self): yield self return GetAttachmentResult( arn=self.arn, + association_state=self.association_state, + association_transit_gateway_route_table_id=self.association_transit_gateway_route_table_id, filters=self.filters, id=self.id, resource_id=self.resource_id, @@ -199,6 +223,8 @@ def get_attachment(filters: Optional[Sequence[pulumi.InputType['GetAttachmentFil return AwaitableGetAttachmentResult( arn=__ret__.arn, + association_state=__ret__.association_state, + association_transit_gateway_route_table_id=__ret__.association_transit_gateway_route_table_id, filters=__ret__.filters, id=__ret__.id, resource_id=__ret__.resource_id, diff --git a/sdk/python/pulumi_aws/ecs/__init__.py b/sdk/python/pulumi_aws/ecs/__init__.py index bd6119c41b3..cd96776e9d8 100644 --- a/sdk/python/pulumi_aws/ecs/__init__.py +++ b/sdk/python/pulumi_aws/ecs/__init__.py @@ -13,6 +13,7 @@ from .get_container_definition import * from .get_service import * from .get_task_definition import * +from .get_task_execution import * from .service import * from .tag import * from .task_definition import * diff --git a/sdk/python/pulumi_aws/ecs/_inputs.py b/sdk/python/pulumi_aws/ecs/_inputs.py index df4beb9c17e..a09d0cb24e1 100644 --- a/sdk/python/pulumi_aws/ecs/_inputs.py +++ b/sdk/python/pulumi_aws/ecs/_inputs.py @@ -49,6 +49,15 @@ 'TaskSetNetworkConfigurationArgs', 'TaskSetScaleArgs', 'TaskSetServiceRegistriesArgs', + 'GetTaskExecutionCapacityProviderStrategyArgs', + 'GetTaskExecutionNetworkConfigurationArgs', + 'GetTaskExecutionOverridesArgs', + 'GetTaskExecutionOverridesContainerOverrideArgs', + 'GetTaskExecutionOverridesContainerOverrideEnvironmentArgs', + 'GetTaskExecutionOverridesContainerOverrideResourceRequirementArgs', + 'GetTaskExecutionOverridesInferenceAcceleratorOverrideArgs', + 'GetTaskExecutionPlacementConstraintArgs', + 'GetTaskExecutionPlacementStrategyArgs', ] @pulumi.input_type @@ -2095,3 +2104,521 @@ def port(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "port", value) +@pulumi.input_type +class GetTaskExecutionCapacityProviderStrategyArgs: + def __init__(__self__, *, + capacity_provider: str, + base: Optional[int] = None, + weight: Optional[int] = None): + """ + :param str capacity_provider: Name of the capacity provider. + :param int base: The number of tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a base defined. Defaults to `0`. + :param int weight: The relative percentage of the total number of launched tasks that should use the specified capacity provider. The `weight` value is taken into consideration after the `base` count of tasks has been satisfied. Defaults to `0`. + """ + pulumi.set(__self__, "capacity_provider", capacity_provider) + if base is not None: + pulumi.set(__self__, "base", base) + if weight is not None: + pulumi.set(__self__, "weight", weight) + + @property + @pulumi.getter(name="capacityProvider") + def capacity_provider(self) -> str: + """ + Name of the capacity provider. + """ + return pulumi.get(self, "capacity_provider") + + @capacity_provider.setter + def capacity_provider(self, value: str): + pulumi.set(self, "capacity_provider", value) + + @property + @pulumi.getter + def base(self) -> Optional[int]: + """ + The number of tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a base defined. Defaults to `0`. + """ + return pulumi.get(self, "base") + + @base.setter + def base(self, value: Optional[int]): + pulumi.set(self, "base", value) + + @property + @pulumi.getter + def weight(self) -> Optional[int]: + """ + The relative percentage of the total number of launched tasks that should use the specified capacity provider. The `weight` value is taken into consideration after the `base` count of tasks has been satisfied. Defaults to `0`. + """ + return pulumi.get(self, "weight") + + @weight.setter + def weight(self, value: Optional[int]): + pulumi.set(self, "weight", value) + + +@pulumi.input_type +class GetTaskExecutionNetworkConfigurationArgs: + def __init__(__self__, *, + subnets: Sequence[str], + assign_public_ip: Optional[bool] = None, + security_groups: Optional[Sequence[str]] = None): + """ + :param Sequence[str] subnets: Subnets associated with the task or service. + :param bool assign_public_ip: Assign a public IP address to the ENI (Fargate launch type only). Valid values are `true` or `false`. Default `false`. + :param Sequence[str] security_groups: Security groups associated with the task or service. If you do not specify a security group, the default security group for the VPC is used. + """ + pulumi.set(__self__, "subnets", subnets) + if assign_public_ip is not None: + pulumi.set(__self__, "assign_public_ip", assign_public_ip) + if security_groups is not None: + pulumi.set(__self__, "security_groups", security_groups) + + @property + @pulumi.getter + def subnets(self) -> Sequence[str]: + """ + Subnets associated with the task or service. + """ + return pulumi.get(self, "subnets") + + @subnets.setter + def subnets(self, value: Sequence[str]): + pulumi.set(self, "subnets", value) + + @property + @pulumi.getter(name="assignPublicIp") + def assign_public_ip(self) -> Optional[bool]: + """ + Assign a public IP address to the ENI (Fargate launch type only). Valid values are `true` or `false`. Default `false`. + """ + return pulumi.get(self, "assign_public_ip") + + @assign_public_ip.setter + def assign_public_ip(self, value: Optional[bool]): + pulumi.set(self, "assign_public_ip", value) + + @property + @pulumi.getter(name="securityGroups") + def security_groups(self) -> Optional[Sequence[str]]: + """ + Security groups associated with the task or service. If you do not specify a security group, the default security group for the VPC is used. + """ + return pulumi.get(self, "security_groups") + + @security_groups.setter + def security_groups(self, value: Optional[Sequence[str]]): + pulumi.set(self, "security_groups", value) + + +@pulumi.input_type +class GetTaskExecutionOverridesArgs: + def __init__(__self__, *, + container_overrides: Optional[Sequence['GetTaskExecutionOverridesContainerOverrideArgs']] = None, + cpu: Optional[str] = None, + execution_role_arn: Optional[str] = None, + inference_accelerator_overrides: Optional[Sequence['GetTaskExecutionOverridesInferenceAcceleratorOverrideArgs']] = None, + memory: Optional[str] = None, + task_role_arn: Optional[str] = None): + """ + :param Sequence['GetTaskExecutionOverridesContainerOverrideArgs'] container_overrides: One or more container overrides that are sent to a task. See below. + :param str cpu: The CPU override for the task. + :param str execution_role_arn: Amazon Resource Name (ARN) of the task execution role override for the task. + :param Sequence['GetTaskExecutionOverridesInferenceAcceleratorOverrideArgs'] inference_accelerator_overrides: Elastic Inference accelerator override for the task. See below. + :param str memory: The memory override for the task. + :param str task_role_arn: Amazon Resource Name (ARN) of the role that containers in this task can assume. + """ + if container_overrides is not None: + pulumi.set(__self__, "container_overrides", container_overrides) + if cpu is not None: + pulumi.set(__self__, "cpu", cpu) + if execution_role_arn is not None: + pulumi.set(__self__, "execution_role_arn", execution_role_arn) + if inference_accelerator_overrides is not None: + pulumi.set(__self__, "inference_accelerator_overrides", inference_accelerator_overrides) + if memory is not None: + pulumi.set(__self__, "memory", memory) + if task_role_arn is not None: + pulumi.set(__self__, "task_role_arn", task_role_arn) + + @property + @pulumi.getter(name="containerOverrides") + def container_overrides(self) -> Optional[Sequence['GetTaskExecutionOverridesContainerOverrideArgs']]: + """ + One or more container overrides that are sent to a task. See below. + """ + return pulumi.get(self, "container_overrides") + + @container_overrides.setter + def container_overrides(self, value: Optional[Sequence['GetTaskExecutionOverridesContainerOverrideArgs']]): + pulumi.set(self, "container_overrides", value) + + @property + @pulumi.getter + def cpu(self) -> Optional[str]: + """ + The CPU override for the task. + """ + return pulumi.get(self, "cpu") + + @cpu.setter + def cpu(self, value: Optional[str]): + pulumi.set(self, "cpu", value) + + @property + @pulumi.getter(name="executionRoleArn") + def execution_role_arn(self) -> Optional[str]: + """ + Amazon Resource Name (ARN) of the task execution role override for the task. + """ + return pulumi.get(self, "execution_role_arn") + + @execution_role_arn.setter + def execution_role_arn(self, value: Optional[str]): + pulumi.set(self, "execution_role_arn", value) + + @property + @pulumi.getter(name="inferenceAcceleratorOverrides") + def inference_accelerator_overrides(self) -> Optional[Sequence['GetTaskExecutionOverridesInferenceAcceleratorOverrideArgs']]: + """ + Elastic Inference accelerator override for the task. See below. + """ + return pulumi.get(self, "inference_accelerator_overrides") + + @inference_accelerator_overrides.setter + def inference_accelerator_overrides(self, value: Optional[Sequence['GetTaskExecutionOverridesInferenceAcceleratorOverrideArgs']]): + pulumi.set(self, "inference_accelerator_overrides", value) + + @property + @pulumi.getter + def memory(self) -> Optional[str]: + """ + The memory override for the task. + """ + return pulumi.get(self, "memory") + + @memory.setter + def memory(self, value: Optional[str]): + pulumi.set(self, "memory", value) + + @property + @pulumi.getter(name="taskRoleArn") + def task_role_arn(self) -> Optional[str]: + """ + Amazon Resource Name (ARN) of the role that containers in this task can assume. + """ + return pulumi.get(self, "task_role_arn") + + @task_role_arn.setter + def task_role_arn(self, value: Optional[str]): + pulumi.set(self, "task_role_arn", value) + + +@pulumi.input_type +class GetTaskExecutionOverridesContainerOverrideArgs: + def __init__(__self__, *, + name: str, + commands: Optional[Sequence[str]] = None, + cpu: Optional[int] = None, + environments: Optional[Sequence['GetTaskExecutionOverridesContainerOverrideEnvironmentArgs']] = None, + memory: Optional[int] = None, + memory_reservation: Optional[int] = None, + resource_requirements: Optional[Sequence['GetTaskExecutionOverridesContainerOverrideResourceRequirementArgs']] = None): + """ + :param str name: The name of the container that receives the override. This parameter is required if any override is specified. + :param Sequence[str] commands: The command to send to the container that overrides the default command from the Docker image or the task definition. + :param int cpu: The number of cpu units reserved for the container, instead of the default value from the task definition. + :param Sequence['GetTaskExecutionOverridesContainerOverrideEnvironmentArgs'] environments: The environment variables to send to the container. You can add new environment variables, which are added to the container at launch, or you can override the existing environment variables from the Docker image or the task definition. See below. + :param int memory: The hard limit (in MiB) of memory to present to the container, instead of the default value from the task definition. If your container attempts to exceed the memory specified here, the container is killed. + :param int memory_reservation: The soft limit (in MiB) of memory to reserve for the container, instead of the default value from the task definition. + :param Sequence['GetTaskExecutionOverridesContainerOverrideResourceRequirementArgs'] resource_requirements: The type and amount of a resource to assign to a container, instead of the default value from the task definition. The only supported resource is a GPU. See below. + """ + pulumi.set(__self__, "name", name) + if commands is not None: + pulumi.set(__self__, "commands", commands) + if cpu is not None: + pulumi.set(__self__, "cpu", cpu) + if environments is not None: + pulumi.set(__self__, "environments", environments) + if memory is not None: + pulumi.set(__self__, "memory", memory) + if memory_reservation is not None: + pulumi.set(__self__, "memory_reservation", memory_reservation) + if resource_requirements is not None: + pulumi.set(__self__, "resource_requirements", resource_requirements) + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the container that receives the override. This parameter is required if any override is specified. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: str): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def commands(self) -> Optional[Sequence[str]]: + """ + The command to send to the container that overrides the default command from the Docker image or the task definition. + """ + return pulumi.get(self, "commands") + + @commands.setter + def commands(self, value: Optional[Sequence[str]]): + pulumi.set(self, "commands", value) + + @property + @pulumi.getter + def cpu(self) -> Optional[int]: + """ + The number of cpu units reserved for the container, instead of the default value from the task definition. + """ + return pulumi.get(self, "cpu") + + @cpu.setter + def cpu(self, value: Optional[int]): + pulumi.set(self, "cpu", value) + + @property + @pulumi.getter + def environments(self) -> Optional[Sequence['GetTaskExecutionOverridesContainerOverrideEnvironmentArgs']]: + """ + The environment variables to send to the container. You can add new environment variables, which are added to the container at launch, or you can override the existing environment variables from the Docker image or the task definition. See below. + """ + return pulumi.get(self, "environments") + + @environments.setter + def environments(self, value: Optional[Sequence['GetTaskExecutionOverridesContainerOverrideEnvironmentArgs']]): + pulumi.set(self, "environments", value) + + @property + @pulumi.getter + def memory(self) -> Optional[int]: + """ + The hard limit (in MiB) of memory to present to the container, instead of the default value from the task definition. If your container attempts to exceed the memory specified here, the container is killed. + """ + return pulumi.get(self, "memory") + + @memory.setter + def memory(self, value: Optional[int]): + pulumi.set(self, "memory", value) + + @property + @pulumi.getter(name="memoryReservation") + def memory_reservation(self) -> Optional[int]: + """ + The soft limit (in MiB) of memory to reserve for the container, instead of the default value from the task definition. + """ + return pulumi.get(self, "memory_reservation") + + @memory_reservation.setter + def memory_reservation(self, value: Optional[int]): + pulumi.set(self, "memory_reservation", value) + + @property + @pulumi.getter(name="resourceRequirements") + def resource_requirements(self) -> Optional[Sequence['GetTaskExecutionOverridesContainerOverrideResourceRequirementArgs']]: + """ + The type and amount of a resource to assign to a container, instead of the default value from the task definition. The only supported resource is a GPU. See below. + """ + return pulumi.get(self, "resource_requirements") + + @resource_requirements.setter + def resource_requirements(self, value: Optional[Sequence['GetTaskExecutionOverridesContainerOverrideResourceRequirementArgs']]): + pulumi.set(self, "resource_requirements", value) + + +@pulumi.input_type +class GetTaskExecutionOverridesContainerOverrideEnvironmentArgs: + def __init__(__self__, *, + key: str, + value: str): + """ + :param str key: The name of the key-value pair. For environment variables, this is the name of the environment variable. + :param str value: The value of the key-value pair. For environment variables, this is the value of the environment variable. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def key(self) -> str: + """ + The name of the key-value pair. For environment variables, this is the name of the environment variable. + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: str): + pulumi.set(self, "key", value) + + @property + @pulumi.getter + def value(self) -> str: + """ + The value of the key-value pair. For environment variables, this is the value of the environment variable. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: str): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class GetTaskExecutionOverridesContainerOverrideResourceRequirementArgs: + def __init__(__self__, *, + type: str, + value: str): + """ + :param str type: The type of resource to assign to a container. Valid values are `GPU` or `InferenceAccelerator`. + :param str value: The value for the specified resource type. If the `GPU` type is used, the value is the number of physical GPUs the Amazon ECS container agent reserves for the container. The number of GPUs that's reserved for all containers in a task can't exceed the number of available GPUs on the container instance that the task is launched on. If the `InferenceAccelerator` type is used, the value matches the `deviceName` for an InferenceAccelerator specified in a task definition. + """ + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def type(self) -> str: + """ + The type of resource to assign to a container. Valid values are `GPU` or `InferenceAccelerator`. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: str): + pulumi.set(self, "type", value) + + @property + @pulumi.getter + def value(self) -> str: + """ + The value for the specified resource type. If the `GPU` type is used, the value is the number of physical GPUs the Amazon ECS container agent reserves for the container. The number of GPUs that's reserved for all containers in a task can't exceed the number of available GPUs on the container instance that the task is launched on. If the `InferenceAccelerator` type is used, the value matches the `deviceName` for an InferenceAccelerator specified in a task definition. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: str): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class GetTaskExecutionOverridesInferenceAcceleratorOverrideArgs: + def __init__(__self__, *, + device_name: Optional[str] = None, + device_type: Optional[str] = None): + """ + :param str device_name: The Elastic Inference accelerator device name to override for the task. This parameter must match a deviceName specified in the task definition. + :param str device_type: The Elastic Inference accelerator type to use. + """ + if device_name is not None: + pulumi.set(__self__, "device_name", device_name) + if device_type is not None: + pulumi.set(__self__, "device_type", device_type) + + @property + @pulumi.getter(name="deviceName") + def device_name(self) -> Optional[str]: + """ + The Elastic Inference accelerator device name to override for the task. This parameter must match a deviceName specified in the task definition. + """ + return pulumi.get(self, "device_name") + + @device_name.setter + def device_name(self, value: Optional[str]): + pulumi.set(self, "device_name", value) + + @property + @pulumi.getter(name="deviceType") + def device_type(self) -> Optional[str]: + """ + The Elastic Inference accelerator type to use. + """ + return pulumi.get(self, "device_type") + + @device_type.setter + def device_type(self, value: Optional[str]): + pulumi.set(self, "device_type", value) + + +@pulumi.input_type +class GetTaskExecutionPlacementConstraintArgs: + def __init__(__self__, *, + type: str, + expression: Optional[str] = None): + """ + :param str type: The type of constraint. Valid values are `distinctInstance` or `memberOf`. Use `distinctInstance` to ensure that each task in a particular group is running on a different container instance. Use `memberOf` to restrict the selection to a group of valid candidates. + :param str expression: A cluster query language expression to apply to the constraint. The expression can have a maximum length of 2000 characters. You can't specify an expression if the constraint type is `distinctInstance`. + """ + pulumi.set(__self__, "type", type) + if expression is not None: + pulumi.set(__self__, "expression", expression) + + @property + @pulumi.getter + def type(self) -> str: + """ + The type of constraint. Valid values are `distinctInstance` or `memberOf`. Use `distinctInstance` to ensure that each task in a particular group is running on a different container instance. Use `memberOf` to restrict the selection to a group of valid candidates. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: str): + pulumi.set(self, "type", value) + + @property + @pulumi.getter + def expression(self) -> Optional[str]: + """ + A cluster query language expression to apply to the constraint. The expression can have a maximum length of 2000 characters. You can't specify an expression if the constraint type is `distinctInstance`. + """ + return pulumi.get(self, "expression") + + @expression.setter + def expression(self, value: Optional[str]): + pulumi.set(self, "expression", value) + + +@pulumi.input_type +class GetTaskExecutionPlacementStrategyArgs: + def __init__(__self__, *, + type: str, + field: Optional[str] = None): + """ + :param str type: The type of placement strategy. Valid values are `random`, `spread`, and `binpack`. + :param str field: The field to apply the placement strategy against. + """ + pulumi.set(__self__, "type", type) + if field is not None: + pulumi.set(__self__, "field", field) + + @property + @pulumi.getter + def type(self) -> str: + """ + The type of placement strategy. Valid values are `random`, `spread`, and `binpack`. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: str): + pulumi.set(self, "type", value) + + @property + @pulumi.getter + def field(self) -> Optional[str]: + """ + The field to apply the placement strategy against. + """ + return pulumi.get(self, "field") + + @field.setter + def field(self, value: Optional[str]): + pulumi.set(self, "field", value) + + diff --git a/sdk/python/pulumi_aws/ecs/get_task_execution.py b/sdk/python/pulumi_aws/ecs/get_task_execution.py new file mode 100644 index 00000000000..f8b9deb676f --- /dev/null +++ b/sdk/python/pulumi_aws/ecs/get_task_execution.py @@ -0,0 +1,346 @@ +# coding=utf-8 +# *** 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! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = [ + 'GetTaskExecutionResult', + 'AwaitableGetTaskExecutionResult', + 'get_task_execution', + 'get_task_execution_output', +] + +@pulumi.output_type +class GetTaskExecutionResult: + """ + A collection of values returned by getTaskExecution. + """ + def __init__(__self__, capacity_provider_strategies=None, cluster=None, desired_count=None, enable_ecs_managed_tags=None, enable_execute_command=None, group=None, id=None, launch_type=None, network_configuration=None, overrides=None, placement_constraints=None, placement_strategies=None, platform_version=None, propagate_tags=None, reference_id=None, started_by=None, tags=None, task_arns=None, task_definition=None): + if capacity_provider_strategies and not isinstance(capacity_provider_strategies, list): + raise TypeError("Expected argument 'capacity_provider_strategies' to be a list") + pulumi.set(__self__, "capacity_provider_strategies", capacity_provider_strategies) + if cluster and not isinstance(cluster, str): + raise TypeError("Expected argument 'cluster' to be a str") + pulumi.set(__self__, "cluster", cluster) + if desired_count and not isinstance(desired_count, int): + raise TypeError("Expected argument 'desired_count' to be a int") + pulumi.set(__self__, "desired_count", desired_count) + if enable_ecs_managed_tags and not isinstance(enable_ecs_managed_tags, bool): + raise TypeError("Expected argument 'enable_ecs_managed_tags' to be a bool") + pulumi.set(__self__, "enable_ecs_managed_tags", enable_ecs_managed_tags) + if enable_execute_command and not isinstance(enable_execute_command, bool): + raise TypeError("Expected argument 'enable_execute_command' to be a bool") + pulumi.set(__self__, "enable_execute_command", enable_execute_command) + if group and not isinstance(group, str): + raise TypeError("Expected argument 'group' to be a str") + pulumi.set(__self__, "group", group) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if launch_type and not isinstance(launch_type, str): + raise TypeError("Expected argument 'launch_type' to be a str") + pulumi.set(__self__, "launch_type", launch_type) + if network_configuration and not isinstance(network_configuration, dict): + raise TypeError("Expected argument 'network_configuration' to be a dict") + pulumi.set(__self__, "network_configuration", network_configuration) + if overrides and not isinstance(overrides, dict): + raise TypeError("Expected argument 'overrides' to be a dict") + pulumi.set(__self__, "overrides", overrides) + if placement_constraints and not isinstance(placement_constraints, list): + raise TypeError("Expected argument 'placement_constraints' to be a list") + pulumi.set(__self__, "placement_constraints", placement_constraints) + if placement_strategies and not isinstance(placement_strategies, list): + raise TypeError("Expected argument 'placement_strategies' to be a list") + pulumi.set(__self__, "placement_strategies", placement_strategies) + if platform_version and not isinstance(platform_version, str): + raise TypeError("Expected argument 'platform_version' to be a str") + pulumi.set(__self__, "platform_version", platform_version) + if propagate_tags and not isinstance(propagate_tags, str): + raise TypeError("Expected argument 'propagate_tags' to be a str") + pulumi.set(__self__, "propagate_tags", propagate_tags) + if reference_id and not isinstance(reference_id, str): + raise TypeError("Expected argument 'reference_id' to be a str") + pulumi.set(__self__, "reference_id", reference_id) + if started_by and not isinstance(started_by, str): + raise TypeError("Expected argument 'started_by' to be a str") + pulumi.set(__self__, "started_by", started_by) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + if task_arns and not isinstance(task_arns, list): + raise TypeError("Expected argument 'task_arns' to be a list") + pulumi.set(__self__, "task_arns", task_arns) + if task_definition and not isinstance(task_definition, str): + raise TypeError("Expected argument 'task_definition' to be a str") + pulumi.set(__self__, "task_definition", task_definition) + + @property + @pulumi.getter(name="capacityProviderStrategies") + def capacity_provider_strategies(self) -> Optional[Sequence['outputs.GetTaskExecutionCapacityProviderStrategyResult']]: + return pulumi.get(self, "capacity_provider_strategies") + + @property + @pulumi.getter + def cluster(self) -> str: + return pulumi.get(self, "cluster") + + @property + @pulumi.getter(name="desiredCount") + def desired_count(self) -> Optional[int]: + return pulumi.get(self, "desired_count") + + @property + @pulumi.getter(name="enableEcsManagedTags") + def enable_ecs_managed_tags(self) -> Optional[bool]: + return pulumi.get(self, "enable_ecs_managed_tags") + + @property + @pulumi.getter(name="enableExecuteCommand") + def enable_execute_command(self) -> Optional[bool]: + return pulumi.get(self, "enable_execute_command") + + @property + @pulumi.getter + def group(self) -> Optional[str]: + return pulumi.get(self, "group") + + @property + @pulumi.getter + def id(self) -> str: + """ + The provider-assigned unique ID for this managed resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="launchType") + def launch_type(self) -> Optional[str]: + return pulumi.get(self, "launch_type") + + @property + @pulumi.getter(name="networkConfiguration") + def network_configuration(self) -> Optional['outputs.GetTaskExecutionNetworkConfigurationResult']: + return pulumi.get(self, "network_configuration") + + @property + @pulumi.getter + def overrides(self) -> Optional['outputs.GetTaskExecutionOverridesResult']: + return pulumi.get(self, "overrides") + + @property + @pulumi.getter(name="placementConstraints") + def placement_constraints(self) -> Optional[Sequence['outputs.GetTaskExecutionPlacementConstraintResult']]: + return pulumi.get(self, "placement_constraints") + + @property + @pulumi.getter(name="placementStrategies") + def placement_strategies(self) -> Optional[Sequence['outputs.GetTaskExecutionPlacementStrategyResult']]: + return pulumi.get(self, "placement_strategies") + + @property + @pulumi.getter(name="platformVersion") + def platform_version(self) -> Optional[str]: + return pulumi.get(self, "platform_version") + + @property + @pulumi.getter(name="propagateTags") + def propagate_tags(self) -> Optional[str]: + return pulumi.get(self, "propagate_tags") + + @property + @pulumi.getter(name="referenceId") + def reference_id(self) -> Optional[str]: + return pulumi.get(self, "reference_id") + + @property + @pulumi.getter(name="startedBy") + def started_by(self) -> Optional[str]: + return pulumi.get(self, "started_by") + + @property + @pulumi.getter + def tags(self) -> Optional[Mapping[str, str]]: + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="taskArns") + def task_arns(self) -> Sequence[str]: + """ + A list of the provisioned task ARNs. + """ + return pulumi.get(self, "task_arns") + + @property + @pulumi.getter(name="taskDefinition") + def task_definition(self) -> str: + return pulumi.get(self, "task_definition") + + +class AwaitableGetTaskExecutionResult(GetTaskExecutionResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetTaskExecutionResult( + capacity_provider_strategies=self.capacity_provider_strategies, + cluster=self.cluster, + desired_count=self.desired_count, + enable_ecs_managed_tags=self.enable_ecs_managed_tags, + enable_execute_command=self.enable_execute_command, + group=self.group, + id=self.id, + launch_type=self.launch_type, + network_configuration=self.network_configuration, + overrides=self.overrides, + placement_constraints=self.placement_constraints, + placement_strategies=self.placement_strategies, + platform_version=self.platform_version, + propagate_tags=self.propagate_tags, + reference_id=self.reference_id, + started_by=self.started_by, + tags=self.tags, + task_arns=self.task_arns, + task_definition=self.task_definition) + + +def get_task_execution(capacity_provider_strategies: Optional[Sequence[pulumi.InputType['GetTaskExecutionCapacityProviderStrategyArgs']]] = None, + cluster: Optional[str] = None, + desired_count: Optional[int] = None, + enable_ecs_managed_tags: Optional[bool] = None, + enable_execute_command: Optional[bool] = None, + group: Optional[str] = None, + launch_type: Optional[str] = None, + network_configuration: Optional[pulumi.InputType['GetTaskExecutionNetworkConfigurationArgs']] = None, + overrides: Optional[pulumi.InputType['GetTaskExecutionOverridesArgs']] = None, + placement_constraints: Optional[Sequence[pulumi.InputType['GetTaskExecutionPlacementConstraintArgs']]] = None, + placement_strategies: Optional[Sequence[pulumi.InputType['GetTaskExecutionPlacementStrategyArgs']]] = None, + platform_version: Optional[str] = None, + propagate_tags: Optional[str] = None, + reference_id: Optional[str] = None, + started_by: Optional[str] = None, + tags: Optional[Mapping[str, str]] = None, + task_definition: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetTaskExecutionResult: + """ + Data source for managing an AWS ECS (Elastic Container) Task Execution. This data source calls the [RunTask](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html) API, allowing execution of one-time tasks that don't fit a standard resource lifecycle. See the feature request issue for additional context. + + > **NOTE on preview operations:** This data source calls the `RunTask` API on every read operation, which means new task(s) may be created from a `pulumi preview` command if all attributes are known. Placing this functionality behind a data source is an intentional trade off to enable use cases requiring a one-time task execution without relying on provisioners. Caution should be taken to ensure the data source is only executed once, or that the resulting tasks can safely run in parallel. + + ## Example Usage + + + :param Sequence[pulumi.InputType['GetTaskExecutionCapacityProviderStrategyArgs']] capacity_provider_strategies: Set of capacity provider strategies to use for the cluster. See below. + :param str cluster: Short name or full Amazon Resource Name (ARN) of the cluster to run the task on. + :param int desired_count: Number of instantiations of the specified task to place on your cluster. You can specify up to 10 tasks for each call. + :param bool enable_ecs_managed_tags: Specifies whether to enable Amazon ECS managed tags for the tasks within the service. + :param bool enable_execute_command: Specifies whether to enable Amazon ECS Exec for the tasks within the service. + :param str group: Name of the task group to associate with the task. The default value is the family name of the task definition. + :param str launch_type: Launch type on which to run your service. Valid values are `EC2`, `FARGATE`, and `EXTERNAL`. + :param pulumi.InputType['GetTaskExecutionNetworkConfigurationArgs'] network_configuration: Network configuration for the service. This parameter is required for task definitions that use the `awsvpc` network mode to receive their own Elastic Network Interface, and it is not supported for other network modes. See below. + :param pulumi.InputType['GetTaskExecutionOverridesArgs'] overrides: A list of container overrides that specify the name of a container in the specified task definition and the overrides it should receive. + :param Sequence[pulumi.InputType['GetTaskExecutionPlacementConstraintArgs']] placement_constraints: An array of placement constraint objects to use for the task. You can specify up to 10 constraints for each task. See below. + :param Sequence[pulumi.InputType['GetTaskExecutionPlacementStrategyArgs']] placement_strategies: The placement strategy objects to use for the task. You can specify a maximum of 5 strategy rules for each task. See below. + :param str platform_version: The platform version the task uses. A platform version is only specified for tasks hosted on Fargate. If one isn't specified, the `LATEST` platform version is used. + :param str propagate_tags: Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. An error will be received if you specify the `SERVICE` option when running a task. Valid values are `TASK_DEFINITION` or `NONE`. + :param str reference_id: The reference ID to use for the task. + :param str started_by: An optional tag specified when a task is started. + :param Mapping[str, str] 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. + :param str task_definition: The `family` and `revision` (`family:revision`) or full ARN of the task definition to run. If a revision isn't specified, the latest `ACTIVE` revision is used. + """ + __args__ = dict() + __args__['capacityProviderStrategies'] = capacity_provider_strategies + __args__['cluster'] = cluster + __args__['desiredCount'] = desired_count + __args__['enableEcsManagedTags'] = enable_ecs_managed_tags + __args__['enableExecuteCommand'] = enable_execute_command + __args__['group'] = group + __args__['launchType'] = launch_type + __args__['networkConfiguration'] = network_configuration + __args__['overrides'] = overrides + __args__['placementConstraints'] = placement_constraints + __args__['placementStrategies'] = placement_strategies + __args__['platformVersion'] = platform_version + __args__['propagateTags'] = propagate_tags + __args__['referenceId'] = reference_id + __args__['startedBy'] = started_by + __args__['tags'] = tags + __args__['taskDefinition'] = task_definition + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws:ecs/getTaskExecution:getTaskExecution', __args__, opts=opts, typ=GetTaskExecutionResult).value + + return AwaitableGetTaskExecutionResult( + capacity_provider_strategies=__ret__.capacity_provider_strategies, + cluster=__ret__.cluster, + desired_count=__ret__.desired_count, + enable_ecs_managed_tags=__ret__.enable_ecs_managed_tags, + enable_execute_command=__ret__.enable_execute_command, + group=__ret__.group, + id=__ret__.id, + launch_type=__ret__.launch_type, + network_configuration=__ret__.network_configuration, + overrides=__ret__.overrides, + placement_constraints=__ret__.placement_constraints, + placement_strategies=__ret__.placement_strategies, + platform_version=__ret__.platform_version, + propagate_tags=__ret__.propagate_tags, + reference_id=__ret__.reference_id, + started_by=__ret__.started_by, + tags=__ret__.tags, + task_arns=__ret__.task_arns, + task_definition=__ret__.task_definition) + + +@_utilities.lift_output_func(get_task_execution) +def get_task_execution_output(capacity_provider_strategies: Optional[pulumi.Input[Optional[Sequence[pulumi.InputType['GetTaskExecutionCapacityProviderStrategyArgs']]]]] = None, + cluster: Optional[pulumi.Input[str]] = None, + desired_count: Optional[pulumi.Input[Optional[int]]] = None, + enable_ecs_managed_tags: Optional[pulumi.Input[Optional[bool]]] = None, + enable_execute_command: Optional[pulumi.Input[Optional[bool]]] = None, + group: Optional[pulumi.Input[Optional[str]]] = None, + launch_type: Optional[pulumi.Input[Optional[str]]] = None, + network_configuration: Optional[pulumi.Input[Optional[pulumi.InputType['GetTaskExecutionNetworkConfigurationArgs']]]] = None, + overrides: Optional[pulumi.Input[Optional[pulumi.InputType['GetTaskExecutionOverridesArgs']]]] = None, + placement_constraints: Optional[pulumi.Input[Optional[Sequence[pulumi.InputType['GetTaskExecutionPlacementConstraintArgs']]]]] = None, + placement_strategies: Optional[pulumi.Input[Optional[Sequence[pulumi.InputType['GetTaskExecutionPlacementStrategyArgs']]]]] = None, + platform_version: Optional[pulumi.Input[Optional[str]]] = None, + propagate_tags: Optional[pulumi.Input[Optional[str]]] = None, + reference_id: Optional[pulumi.Input[Optional[str]]] = None, + started_by: Optional[pulumi.Input[Optional[str]]] = None, + tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, + task_definition: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetTaskExecutionResult]: + """ + Data source for managing an AWS ECS (Elastic Container) Task Execution. This data source calls the [RunTask](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html) API, allowing execution of one-time tasks that don't fit a standard resource lifecycle. See the feature request issue for additional context. + + > **NOTE on preview operations:** This data source calls the `RunTask` API on every read operation, which means new task(s) may be created from a `pulumi preview` command if all attributes are known. Placing this functionality behind a data source is an intentional trade off to enable use cases requiring a one-time task execution without relying on provisioners. Caution should be taken to ensure the data source is only executed once, or that the resulting tasks can safely run in parallel. + + ## Example Usage + + + :param Sequence[pulumi.InputType['GetTaskExecutionCapacityProviderStrategyArgs']] capacity_provider_strategies: Set of capacity provider strategies to use for the cluster. See below. + :param str cluster: Short name or full Amazon Resource Name (ARN) of the cluster to run the task on. + :param int desired_count: Number of instantiations of the specified task to place on your cluster. You can specify up to 10 tasks for each call. + :param bool enable_ecs_managed_tags: Specifies whether to enable Amazon ECS managed tags for the tasks within the service. + :param bool enable_execute_command: Specifies whether to enable Amazon ECS Exec for the tasks within the service. + :param str group: Name of the task group to associate with the task. The default value is the family name of the task definition. + :param str launch_type: Launch type on which to run your service. Valid values are `EC2`, `FARGATE`, and `EXTERNAL`. + :param pulumi.InputType['GetTaskExecutionNetworkConfigurationArgs'] network_configuration: Network configuration for the service. This parameter is required for task definitions that use the `awsvpc` network mode to receive their own Elastic Network Interface, and it is not supported for other network modes. See below. + :param pulumi.InputType['GetTaskExecutionOverridesArgs'] overrides: A list of container overrides that specify the name of a container in the specified task definition and the overrides it should receive. + :param Sequence[pulumi.InputType['GetTaskExecutionPlacementConstraintArgs']] placement_constraints: An array of placement constraint objects to use for the task. You can specify up to 10 constraints for each task. See below. + :param Sequence[pulumi.InputType['GetTaskExecutionPlacementStrategyArgs']] placement_strategies: The placement strategy objects to use for the task. You can specify a maximum of 5 strategy rules for each task. See below. + :param str platform_version: The platform version the task uses. A platform version is only specified for tasks hosted on Fargate. If one isn't specified, the `LATEST` platform version is used. + :param str propagate_tags: Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. An error will be received if you specify the `SERVICE` option when running a task. Valid values are `TASK_DEFINITION` or `NONE`. + :param str reference_id: The reference ID to use for the task. + :param str started_by: An optional tag specified when a task is started. + :param Mapping[str, str] 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. + :param str task_definition: The `family` and `revision` (`family:revision`) or full ARN of the task definition to run. If a revision isn't specified, the latest `ACTIVE` revision is used. + """ + ... diff --git a/sdk/python/pulumi_aws/ecs/outputs.py b/sdk/python/pulumi_aws/ecs/outputs.py index c7a1cf9bf22..47005cec051 100644 --- a/sdk/python/pulumi_aws/ecs/outputs.py +++ b/sdk/python/pulumi_aws/ecs/outputs.py @@ -52,6 +52,15 @@ 'TaskSetServiceRegistries', 'GetClusterServiceConnectDefaultResult', 'GetClusterSettingResult', + 'GetTaskExecutionCapacityProviderStrategyResult', + 'GetTaskExecutionNetworkConfigurationResult', + 'GetTaskExecutionOverridesResult', + 'GetTaskExecutionOverridesContainerOverrideResult', + 'GetTaskExecutionOverridesContainerOverrideEnvironmentResult', + 'GetTaskExecutionOverridesContainerOverrideResourceRequirementResult', + 'GetTaskExecutionOverridesInferenceAcceleratorOverrideResult', + 'GetTaskExecutionPlacementConstraintResult', + 'GetTaskExecutionPlacementStrategyResult', ] @pulumi.output_type @@ -2278,3 +2287,405 @@ def value(self) -> str: return pulumi.get(self, "value") +@pulumi.output_type +class GetTaskExecutionCapacityProviderStrategyResult(dict): + def __init__(__self__, *, + capacity_provider: str, + base: Optional[int] = None, + weight: Optional[int] = None): + """ + :param str capacity_provider: Name of the capacity provider. + :param int base: The number of tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a base defined. Defaults to `0`. + :param int weight: The relative percentage of the total number of launched tasks that should use the specified capacity provider. The `weight` value is taken into consideration after the `base` count of tasks has been satisfied. Defaults to `0`. + """ + pulumi.set(__self__, "capacity_provider", capacity_provider) + if base is not None: + pulumi.set(__self__, "base", base) + if weight is not None: + pulumi.set(__self__, "weight", weight) + + @property + @pulumi.getter(name="capacityProvider") + def capacity_provider(self) -> str: + """ + Name of the capacity provider. + """ + return pulumi.get(self, "capacity_provider") + + @property + @pulumi.getter + def base(self) -> Optional[int]: + """ + The number of tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a base defined. Defaults to `0`. + """ + return pulumi.get(self, "base") + + @property + @pulumi.getter + def weight(self) -> Optional[int]: + """ + The relative percentage of the total number of launched tasks that should use the specified capacity provider. The `weight` value is taken into consideration after the `base` count of tasks has been satisfied. Defaults to `0`. + """ + return pulumi.get(self, "weight") + + +@pulumi.output_type +class GetTaskExecutionNetworkConfigurationResult(dict): + def __init__(__self__, *, + subnets: Sequence[str], + assign_public_ip: Optional[bool] = None, + security_groups: Optional[Sequence[str]] = None): + """ + :param Sequence[str] subnets: Subnets associated with the task or service. + :param bool assign_public_ip: Assign a public IP address to the ENI (Fargate launch type only). Valid values are `true` or `false`. Default `false`. + :param Sequence[str] security_groups: Security groups associated with the task or service. If you do not specify a security group, the default security group for the VPC is used. + """ + pulumi.set(__self__, "subnets", subnets) + if assign_public_ip is not None: + pulumi.set(__self__, "assign_public_ip", assign_public_ip) + if security_groups is not None: + pulumi.set(__self__, "security_groups", security_groups) + + @property + @pulumi.getter + def subnets(self) -> Sequence[str]: + """ + Subnets associated with the task or service. + """ + return pulumi.get(self, "subnets") + + @property + @pulumi.getter(name="assignPublicIp") + def assign_public_ip(self) -> Optional[bool]: + """ + Assign a public IP address to the ENI (Fargate launch type only). Valid values are `true` or `false`. Default `false`. + """ + return pulumi.get(self, "assign_public_ip") + + @property + @pulumi.getter(name="securityGroups") + def security_groups(self) -> Optional[Sequence[str]]: + """ + Security groups associated with the task or service. If you do not specify a security group, the default security group for the VPC is used. + """ + return pulumi.get(self, "security_groups") + + +@pulumi.output_type +class GetTaskExecutionOverridesResult(dict): + def __init__(__self__, *, + container_overrides: Optional[Sequence['outputs.GetTaskExecutionOverridesContainerOverrideResult']] = None, + cpu: Optional[str] = None, + execution_role_arn: Optional[str] = None, + inference_accelerator_overrides: Optional[Sequence['outputs.GetTaskExecutionOverridesInferenceAcceleratorOverrideResult']] = None, + memory: Optional[str] = None, + task_role_arn: Optional[str] = None): + """ + :param Sequence['GetTaskExecutionOverridesContainerOverrideArgs'] container_overrides: One or more container overrides that are sent to a task. See below. + :param str cpu: The CPU override for the task. + :param str execution_role_arn: Amazon Resource Name (ARN) of the task execution role override for the task. + :param Sequence['GetTaskExecutionOverridesInferenceAcceleratorOverrideArgs'] inference_accelerator_overrides: Elastic Inference accelerator override for the task. See below. + :param str memory: The memory override for the task. + :param str task_role_arn: Amazon Resource Name (ARN) of the role that containers in this task can assume. + """ + if container_overrides is not None: + pulumi.set(__self__, "container_overrides", container_overrides) + if cpu is not None: + pulumi.set(__self__, "cpu", cpu) + if execution_role_arn is not None: + pulumi.set(__self__, "execution_role_arn", execution_role_arn) + if inference_accelerator_overrides is not None: + pulumi.set(__self__, "inference_accelerator_overrides", inference_accelerator_overrides) + if memory is not None: + pulumi.set(__self__, "memory", memory) + if task_role_arn is not None: + pulumi.set(__self__, "task_role_arn", task_role_arn) + + @property + @pulumi.getter(name="containerOverrides") + def container_overrides(self) -> Optional[Sequence['outputs.GetTaskExecutionOverridesContainerOverrideResult']]: + """ + One or more container overrides that are sent to a task. See below. + """ + return pulumi.get(self, "container_overrides") + + @property + @pulumi.getter + def cpu(self) -> Optional[str]: + """ + The CPU override for the task. + """ + return pulumi.get(self, "cpu") + + @property + @pulumi.getter(name="executionRoleArn") + def execution_role_arn(self) -> Optional[str]: + """ + Amazon Resource Name (ARN) of the task execution role override for the task. + """ + return pulumi.get(self, "execution_role_arn") + + @property + @pulumi.getter(name="inferenceAcceleratorOverrides") + def inference_accelerator_overrides(self) -> Optional[Sequence['outputs.GetTaskExecutionOverridesInferenceAcceleratorOverrideResult']]: + """ + Elastic Inference accelerator override for the task. See below. + """ + return pulumi.get(self, "inference_accelerator_overrides") + + @property + @pulumi.getter + def memory(self) -> Optional[str]: + """ + The memory override for the task. + """ + return pulumi.get(self, "memory") + + @property + @pulumi.getter(name="taskRoleArn") + def task_role_arn(self) -> Optional[str]: + """ + Amazon Resource Name (ARN) of the role that containers in this task can assume. + """ + return pulumi.get(self, "task_role_arn") + + +@pulumi.output_type +class GetTaskExecutionOverridesContainerOverrideResult(dict): + def __init__(__self__, *, + name: str, + commands: Optional[Sequence[str]] = None, + cpu: Optional[int] = None, + environments: Optional[Sequence['outputs.GetTaskExecutionOverridesContainerOverrideEnvironmentResult']] = None, + memory: Optional[int] = None, + memory_reservation: Optional[int] = None, + resource_requirements: Optional[Sequence['outputs.GetTaskExecutionOverridesContainerOverrideResourceRequirementResult']] = None): + """ + :param str name: The name of the container that receives the override. This parameter is required if any override is specified. + :param Sequence[str] commands: The command to send to the container that overrides the default command from the Docker image or the task definition. + :param int cpu: The number of cpu units reserved for the container, instead of the default value from the task definition. + :param Sequence['GetTaskExecutionOverridesContainerOverrideEnvironmentArgs'] environments: The environment variables to send to the container. You can add new environment variables, which are added to the container at launch, or you can override the existing environment variables from the Docker image or the task definition. See below. + :param int memory: The hard limit (in MiB) of memory to present to the container, instead of the default value from the task definition. If your container attempts to exceed the memory specified here, the container is killed. + :param int memory_reservation: The soft limit (in MiB) of memory to reserve for the container, instead of the default value from the task definition. + :param Sequence['GetTaskExecutionOverridesContainerOverrideResourceRequirementArgs'] resource_requirements: The type and amount of a resource to assign to a container, instead of the default value from the task definition. The only supported resource is a GPU. See below. + """ + pulumi.set(__self__, "name", name) + if commands is not None: + pulumi.set(__self__, "commands", commands) + if cpu is not None: + pulumi.set(__self__, "cpu", cpu) + if environments is not None: + pulumi.set(__self__, "environments", environments) + if memory is not None: + pulumi.set(__self__, "memory", memory) + if memory_reservation is not None: + pulumi.set(__self__, "memory_reservation", memory_reservation) + if resource_requirements is not None: + pulumi.set(__self__, "resource_requirements", resource_requirements) + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the container that receives the override. This parameter is required if any override is specified. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def commands(self) -> Optional[Sequence[str]]: + """ + The command to send to the container that overrides the default command from the Docker image or the task definition. + """ + return pulumi.get(self, "commands") + + @property + @pulumi.getter + def cpu(self) -> Optional[int]: + """ + The number of cpu units reserved for the container, instead of the default value from the task definition. + """ + return pulumi.get(self, "cpu") + + @property + @pulumi.getter + def environments(self) -> Optional[Sequence['outputs.GetTaskExecutionOverridesContainerOverrideEnvironmentResult']]: + """ + The environment variables to send to the container. You can add new environment variables, which are added to the container at launch, or you can override the existing environment variables from the Docker image or the task definition. See below. + """ + return pulumi.get(self, "environments") + + @property + @pulumi.getter + def memory(self) -> Optional[int]: + """ + The hard limit (in MiB) of memory to present to the container, instead of the default value from the task definition. If your container attempts to exceed the memory specified here, the container is killed. + """ + return pulumi.get(self, "memory") + + @property + @pulumi.getter(name="memoryReservation") + def memory_reservation(self) -> Optional[int]: + """ + The soft limit (in MiB) of memory to reserve for the container, instead of the default value from the task definition. + """ + return pulumi.get(self, "memory_reservation") + + @property + @pulumi.getter(name="resourceRequirements") + def resource_requirements(self) -> Optional[Sequence['outputs.GetTaskExecutionOverridesContainerOverrideResourceRequirementResult']]: + """ + The type and amount of a resource to assign to a container, instead of the default value from the task definition. The only supported resource is a GPU. See below. + """ + return pulumi.get(self, "resource_requirements") + + +@pulumi.output_type +class GetTaskExecutionOverridesContainerOverrideEnvironmentResult(dict): + def __init__(__self__, *, + key: str, + value: str): + """ + :param str key: The name of the key-value pair. For environment variables, this is the name of the environment variable. + :param str value: The value of the key-value pair. For environment variables, this is the value of the environment variable. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def key(self) -> str: + """ + The name of the key-value pair. For environment variables, this is the name of the environment variable. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter + def value(self) -> str: + """ + The value of the key-value pair. For environment variables, this is the value of the environment variable. + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class GetTaskExecutionOverridesContainerOverrideResourceRequirementResult(dict): + def __init__(__self__, *, + type: str, + value: str): + """ + :param str type: The type of resource to assign to a container. Valid values are `GPU` or `InferenceAccelerator`. + :param str value: The value for the specified resource type. If the `GPU` type is used, the value is the number of physical GPUs the Amazon ECS container agent reserves for the container. The number of GPUs that's reserved for all containers in a task can't exceed the number of available GPUs on the container instance that the task is launched on. If the `InferenceAccelerator` type is used, the value matches the `deviceName` for an InferenceAccelerator specified in a task definition. + """ + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def type(self) -> str: + """ + The type of resource to assign to a container. Valid values are `GPU` or `InferenceAccelerator`. + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter + def value(self) -> str: + """ + The value for the specified resource type. If the `GPU` type is used, the value is the number of physical GPUs the Amazon ECS container agent reserves for the container. The number of GPUs that's reserved for all containers in a task can't exceed the number of available GPUs on the container instance that the task is launched on. If the `InferenceAccelerator` type is used, the value matches the `deviceName` for an InferenceAccelerator specified in a task definition. + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class GetTaskExecutionOverridesInferenceAcceleratorOverrideResult(dict): + def __init__(__self__, *, + device_name: Optional[str] = None, + device_type: Optional[str] = None): + """ + :param str device_name: The Elastic Inference accelerator device name to override for the task. This parameter must match a deviceName specified in the task definition. + :param str device_type: The Elastic Inference accelerator type to use. + """ + if device_name is not None: + pulumi.set(__self__, "device_name", device_name) + if device_type is not None: + pulumi.set(__self__, "device_type", device_type) + + @property + @pulumi.getter(name="deviceName") + def device_name(self) -> Optional[str]: + """ + The Elastic Inference accelerator device name to override for the task. This parameter must match a deviceName specified in the task definition. + """ + return pulumi.get(self, "device_name") + + @property + @pulumi.getter(name="deviceType") + def device_type(self) -> Optional[str]: + """ + The Elastic Inference accelerator type to use. + """ + return pulumi.get(self, "device_type") + + +@pulumi.output_type +class GetTaskExecutionPlacementConstraintResult(dict): + def __init__(__self__, *, + type: str, + expression: Optional[str] = None): + """ + :param str type: The type of constraint. Valid values are `distinctInstance` or `memberOf`. Use `distinctInstance` to ensure that each task in a particular group is running on a different container instance. Use `memberOf` to restrict the selection to a group of valid candidates. + :param str expression: A cluster query language expression to apply to the constraint. The expression can have a maximum length of 2000 characters. You can't specify an expression if the constraint type is `distinctInstance`. + """ + pulumi.set(__self__, "type", type) + if expression is not None: + pulumi.set(__self__, "expression", expression) + + @property + @pulumi.getter + def type(self) -> str: + """ + The type of constraint. Valid values are `distinctInstance` or `memberOf`. Use `distinctInstance` to ensure that each task in a particular group is running on a different container instance. Use `memberOf` to restrict the selection to a group of valid candidates. + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter + def expression(self) -> Optional[str]: + """ + A cluster query language expression to apply to the constraint. The expression can have a maximum length of 2000 characters. You can't specify an expression if the constraint type is `distinctInstance`. + """ + return pulumi.get(self, "expression") + + +@pulumi.output_type +class GetTaskExecutionPlacementStrategyResult(dict): + def __init__(__self__, *, + type: str, + field: Optional[str] = None): + """ + :param str type: The type of placement strategy. Valid values are `random`, `spread`, and `binpack`. + :param str field: The field to apply the placement strategy against. + """ + pulumi.set(__self__, "type", type) + if field is not None: + pulumi.set(__self__, "field", field) + + @property + @pulumi.getter + def type(self) -> str: + """ + The type of placement strategy. Valid values are `random`, `spread`, and `binpack`. + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter + def field(self) -> Optional[str]: + """ + The field to apply the placement strategy against. + """ + return pulumi.get(self, "field") + + diff --git a/sdk/python/pulumi_aws/eks/cluster.py b/sdk/python/pulumi_aws/eks/cluster.py index cec51654b99..0eaba772c19 100644 --- a/sdk/python/pulumi_aws/eks/cluster.py +++ b/sdk/python/pulumi_aws/eks/cluster.py @@ -538,6 +538,30 @@ def __init__(__self__, pulumi.export("endpoint", example.endpoint) pulumi.export("kubeconfig-certificate-authority-data", example.certificate_authority.data) ``` + ### Example IAM Role for EKS Cluster + + ```python + import pulumi + import pulumi_aws as aws + + assume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs( + effect="Allow", + principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs( + type="Service", + identifiers=["eks.amazonaws.com"], + )], + actions=["sts:AssumeRole"], + )]) + example = aws.iam.Role("example", assume_role_policy=assume_role.json) + example__amazon_eks_cluster_policy = aws.iam.RolePolicyAttachment("example-AmazonEKSClusterPolicy", + policy_arn="arn:aws:iam::aws:policy/AmazonEKSClusterPolicy", + role=example.name) + # Optionally, enable Security Groups for Pods + # Reference: https://docs.aws.amazon.com/eks/latest/userguide/security-groups-for-pods.html + example__amazon_eksvpc_resource_controller = aws.iam.RolePolicyAttachment("example-AmazonEKSVPCResourceController", + policy_arn="arn:aws:iam::aws:policy/AmazonEKSVPCResourceController", + role=example.name) + ``` ### Enabling Control Plane Logging [EKS Control Plane Logging](https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html) can be enabled via the `enabled_cluster_log_types` argument. To manage the CloudWatch Log Group retention period, the `cloudwatch.LogGroup` resource can be used. @@ -635,6 +659,30 @@ def __init__(__self__, pulumi.export("endpoint", example.endpoint) pulumi.export("kubeconfig-certificate-authority-data", example.certificate_authority.data) ``` + ### Example IAM Role for EKS Cluster + + ```python + import pulumi + import pulumi_aws as aws + + assume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs( + effect="Allow", + principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs( + type="Service", + identifiers=["eks.amazonaws.com"], + )], + actions=["sts:AssumeRole"], + )]) + example = aws.iam.Role("example", assume_role_policy=assume_role.json) + example__amazon_eks_cluster_policy = aws.iam.RolePolicyAttachment("example-AmazonEKSClusterPolicy", + policy_arn="arn:aws:iam::aws:policy/AmazonEKSClusterPolicy", + role=example.name) + # Optionally, enable Security Groups for Pods + # Reference: https://docs.aws.amazon.com/eks/latest/userguide/security-groups-for-pods.html + example__amazon_eksvpc_resource_controller = aws.iam.RolePolicyAttachment("example-AmazonEKSVPCResourceController", + policy_arn="arn:aws:iam::aws:policy/AmazonEKSVPCResourceController", + role=example.name) + ``` ### Enabling Control Plane Logging [EKS Control Plane Logging](https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html) can be enabled via the `enabled_cluster_log_types` argument. To manage the CloudWatch Log Group retention period, the `cloudwatch.LogGroup` resource can be used. diff --git a/sdk/python/pulumi_aws/grafana/_inputs.py b/sdk/python/pulumi_aws/grafana/_inputs.py index 69cb13a428a..82c92e09e55 100644 --- a/sdk/python/pulumi_aws/grafana/_inputs.py +++ b/sdk/python/pulumi_aws/grafana/_inputs.py @@ -10,9 +10,47 @@ from .. import _utilities __all__ = [ + 'WorkspaceNetworkAccessControlArgs', 'WorkspaceVpcConfigurationArgs', ] +@pulumi.input_type +class WorkspaceNetworkAccessControlArgs: + def __init__(__self__, *, + prefix_list_ids: pulumi.Input[Sequence[pulumi.Input[str]]], + vpce_ids: pulumi.Input[Sequence[pulumi.Input[str]]]): + """ + :param pulumi.Input[Sequence[pulumi.Input[str]]] prefix_list_ids: An array of prefix list IDs. + :param pulumi.Input[Sequence[pulumi.Input[str]]] vpce_ids: An array of Amazon VPC endpoint IDs for the workspace. The only VPC endpoints that can be specified here are interface VPC endpoints for Grafana workspaces (using the com.amazonaws.[region].grafana-workspace service endpoint). Other VPC endpoints will be ignored. + """ + pulumi.set(__self__, "prefix_list_ids", prefix_list_ids) + pulumi.set(__self__, "vpce_ids", vpce_ids) + + @property + @pulumi.getter(name="prefixListIds") + def prefix_list_ids(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + An array of prefix list IDs. + """ + return pulumi.get(self, "prefix_list_ids") + + @prefix_list_ids.setter + def prefix_list_ids(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "prefix_list_ids", value) + + @property + @pulumi.getter(name="vpceIds") + def vpce_ids(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + An array of Amazon VPC endpoint IDs for the workspace. The only VPC endpoints that can be specified here are interface VPC endpoints for Grafana workspaces (using the com.amazonaws.[region].grafana-workspace service endpoint). Other VPC endpoints will be ignored. + """ + return pulumi.get(self, "vpce_ids") + + @vpce_ids.setter + def vpce_ids(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "vpce_ids", value) + + @pulumi.input_type class WorkspaceVpcConfigurationArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws/grafana/outputs.py b/sdk/python/pulumi_aws/grafana/outputs.py index cb4a54381b7..428e5ddd3f8 100644 --- a/sdk/python/pulumi_aws/grafana/outputs.py +++ b/sdk/python/pulumi_aws/grafana/outputs.py @@ -10,9 +10,58 @@ from .. import _utilities __all__ = [ + 'WorkspaceNetworkAccessControl', 'WorkspaceVpcConfiguration', ] +@pulumi.output_type +class WorkspaceNetworkAccessControl(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "prefixListIds": + suggest = "prefix_list_ids" + elif key == "vpceIds": + suggest = "vpce_ids" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in WorkspaceNetworkAccessControl. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + WorkspaceNetworkAccessControl.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + WorkspaceNetworkAccessControl.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + prefix_list_ids: Sequence[str], + vpce_ids: Sequence[str]): + """ + :param Sequence[str] prefix_list_ids: An array of prefix list IDs. + :param Sequence[str] vpce_ids: An array of Amazon VPC endpoint IDs for the workspace. The only VPC endpoints that can be specified here are interface VPC endpoints for Grafana workspaces (using the com.amazonaws.[region].grafana-workspace service endpoint). Other VPC endpoints will be ignored. + """ + pulumi.set(__self__, "prefix_list_ids", prefix_list_ids) + pulumi.set(__self__, "vpce_ids", vpce_ids) + + @property + @pulumi.getter(name="prefixListIds") + def prefix_list_ids(self) -> Sequence[str]: + """ + An array of prefix list IDs. + """ + return pulumi.get(self, "prefix_list_ids") + + @property + @pulumi.getter(name="vpceIds") + def vpce_ids(self) -> Sequence[str]: + """ + An array of Amazon VPC endpoint IDs for the workspace. The only VPC endpoints that can be specified here are interface VPC endpoints for Grafana workspaces (using the com.amazonaws.[region].grafana-workspace service endpoint). Other VPC endpoints will be ignored. + """ + return pulumi.get(self, "vpce_ids") + + @pulumi.output_type class WorkspaceVpcConfiguration(dict): @staticmethod diff --git a/sdk/python/pulumi_aws/grafana/workspace.py b/sdk/python/pulumi_aws/grafana/workspace.py index 84b0d1586e6..d2a1f917120 100644 --- a/sdk/python/pulumi_aws/grafana/workspace.py +++ b/sdk/python/pulumi_aws/grafana/workspace.py @@ -23,6 +23,7 @@ def __init__(__self__, *, data_sources: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, description: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, + network_access_control: Optional[pulumi.Input['WorkspaceNetworkAccessControlArgs']] = None, notification_destinations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, organization_role_name: Optional[pulumi.Input[str]] = None, organizational_units: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -39,6 +40,7 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[str]]] data_sources: The data sources for the workspace. Valid values are `AMAZON_OPENSEARCH_SERVICE`, `ATHENA`, `CLOUDWATCH`, `PROMETHEUS`, `REDSHIFT`, `SITEWISE`, `TIMESTREAM`, `XRAY` :param pulumi.Input[str] description: The workspace description. :param pulumi.Input[str] name: The Grafana workspace name. + :param pulumi.Input['WorkspaceNetworkAccessControlArgs'] network_access_control: Configuration for network access to your workspace.See Network Access Control below. :param pulumi.Input[Sequence[pulumi.Input[str]]] notification_destinations: The notification destinations. If a data source is specified here, Amazon Managed Grafana will create IAM roles and permissions needed to use these destinations. Must be set to `SNS`. :param pulumi.Input[str] organization_role_name: The role name that the workspace uses to access resources through Amazon Organizations. :param pulumi.Input[Sequence[pulumi.Input[str]]] organizational_units: The Amazon Organizations organizational units that the workspace is authorized to use data sources from. @@ -58,6 +60,8 @@ def __init__(__self__, *, pulumi.set(__self__, "description", description) if name is not None: pulumi.set(__self__, "name", name) + if network_access_control is not None: + pulumi.set(__self__, "network_access_control", network_access_control) if notification_destinations is not None: pulumi.set(__self__, "notification_destinations", notification_destinations) if organization_role_name is not None: @@ -157,6 +161,18 @@ def name(self) -> Optional[pulumi.Input[str]]: def name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "name", value) + @property + @pulumi.getter(name="networkAccessControl") + def network_access_control(self) -> Optional[pulumi.Input['WorkspaceNetworkAccessControlArgs']]: + """ + Configuration for network access to your workspace.See Network Access Control below. + """ + return pulumi.get(self, "network_access_control") + + @network_access_control.setter + def network_access_control(self, value: Optional[pulumi.Input['WorkspaceNetworkAccessControlArgs']]): + pulumi.set(self, "network_access_control", value) + @property @pulumi.getter(name="notificationDestinations") def notification_destinations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: @@ -254,6 +270,7 @@ def __init__(__self__, *, endpoint: Optional[pulumi.Input[str]] = None, grafana_version: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, + network_access_control: Optional[pulumi.Input['WorkspaceNetworkAccessControlArgs']] = None, notification_destinations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, organization_role_name: Optional[pulumi.Input[str]] = None, organizational_units: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -275,6 +292,7 @@ def __init__(__self__, *, :param pulumi.Input[str] endpoint: The endpoint of the Grafana workspace. :param pulumi.Input[str] grafana_version: The version of Grafana running on the workspace. :param pulumi.Input[str] name: The Grafana workspace name. + :param pulumi.Input['WorkspaceNetworkAccessControlArgs'] network_access_control: Configuration for network access to your workspace.See Network Access Control below. :param pulumi.Input[Sequence[pulumi.Input[str]]] notification_destinations: The notification destinations. If a data source is specified here, Amazon Managed Grafana will create IAM roles and permissions needed to use these destinations. Must be set to `SNS`. :param pulumi.Input[str] organization_role_name: The role name that the workspace uses to access resources through Amazon Organizations. :param pulumi.Input[Sequence[pulumi.Input[str]]] organizational_units: The Amazon Organizations organizational units that the workspace is authorized to use data sources from. @@ -303,6 +321,8 @@ def __init__(__self__, *, pulumi.set(__self__, "grafana_version", grafana_version) if name is not None: pulumi.set(__self__, "name", name) + if network_access_control is not None: + pulumi.set(__self__, "network_access_control", network_access_control) if notification_destinations is not None: pulumi.set(__self__, "notification_destinations", notification_destinations) if organization_role_name is not None: @@ -432,6 +452,18 @@ def name(self) -> Optional[pulumi.Input[str]]: def name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "name", value) + @property + @pulumi.getter(name="networkAccessControl") + def network_access_control(self) -> Optional[pulumi.Input['WorkspaceNetworkAccessControlArgs']]: + """ + Configuration for network access to your workspace.See Network Access Control below. + """ + return pulumi.get(self, "network_access_control") + + @network_access_control.setter + def network_access_control(self, value: Optional[pulumi.Input['WorkspaceNetworkAccessControlArgs']]): + pulumi.set(self, "network_access_control", value) + @property @pulumi.getter(name="notificationDestinations") def notification_destinations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: @@ -561,6 +593,7 @@ def __init__(__self__, data_sources: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, description: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, + network_access_control: Optional[pulumi.Input[pulumi.InputType['WorkspaceNetworkAccessControlArgs']]] = None, notification_destinations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, organization_role_name: Optional[pulumi.Input[str]] = None, organizational_units: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -615,6 +648,7 @@ def __init__(__self__, :param pulumi.Input[Sequence[pulumi.Input[str]]] data_sources: The data sources for the workspace. Valid values are `AMAZON_OPENSEARCH_SERVICE`, `ATHENA`, `CLOUDWATCH`, `PROMETHEUS`, `REDSHIFT`, `SITEWISE`, `TIMESTREAM`, `XRAY` :param pulumi.Input[str] description: The workspace description. :param pulumi.Input[str] name: The Grafana workspace name. + :param pulumi.Input[pulumi.InputType['WorkspaceNetworkAccessControlArgs']] network_access_control: Configuration for network access to your workspace.See Network Access Control below. :param pulumi.Input[Sequence[pulumi.Input[str]]] notification_destinations: The notification destinations. If a data source is specified here, Amazon Managed Grafana will create IAM roles and permissions needed to use these destinations. Must be set to `SNS`. :param pulumi.Input[str] organization_role_name: The role name that the workspace uses to access resources through Amazon Organizations. :param pulumi.Input[Sequence[pulumi.Input[str]]] organizational_units: The Amazon Organizations organizational units that the workspace is authorized to use data sources from. @@ -688,6 +722,7 @@ def _internal_init(__self__, data_sources: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, description: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, + network_access_control: Optional[pulumi.Input[pulumi.InputType['WorkspaceNetworkAccessControlArgs']]] = None, notification_destinations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, organization_role_name: Optional[pulumi.Input[str]] = None, organizational_units: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -715,6 +750,7 @@ def _internal_init(__self__, __props__.__dict__["data_sources"] = data_sources __props__.__dict__["description"] = description __props__.__dict__["name"] = name + __props__.__dict__["network_access_control"] = network_access_control __props__.__dict__["notification_destinations"] = notification_destinations __props__.__dict__["organization_role_name"] = organization_role_name __props__.__dict__["organizational_units"] = organizational_units @@ -749,6 +785,7 @@ def get(resource_name: str, endpoint: Optional[pulumi.Input[str]] = None, grafana_version: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, + network_access_control: Optional[pulumi.Input[pulumi.InputType['WorkspaceNetworkAccessControlArgs']]] = None, notification_destinations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, organization_role_name: Optional[pulumi.Input[str]] = None, organizational_units: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -775,6 +812,7 @@ def get(resource_name: str, :param pulumi.Input[str] endpoint: The endpoint of the Grafana workspace. :param pulumi.Input[str] grafana_version: The version of Grafana running on the workspace. :param pulumi.Input[str] name: The Grafana workspace name. + :param pulumi.Input[pulumi.InputType['WorkspaceNetworkAccessControlArgs']] network_access_control: Configuration for network access to your workspace.See Network Access Control below. :param pulumi.Input[Sequence[pulumi.Input[str]]] notification_destinations: The notification destinations. If a data source is specified here, Amazon Managed Grafana will create IAM roles and permissions needed to use these destinations. Must be set to `SNS`. :param pulumi.Input[str] organization_role_name: The role name that the workspace uses to access resources through Amazon Organizations. :param pulumi.Input[Sequence[pulumi.Input[str]]] organizational_units: The Amazon Organizations organizational units that the workspace is authorized to use data sources from. @@ -798,6 +836,7 @@ def get(resource_name: str, __props__.__dict__["endpoint"] = endpoint __props__.__dict__["grafana_version"] = grafana_version __props__.__dict__["name"] = name + __props__.__dict__["network_access_control"] = network_access_control __props__.__dict__["notification_destinations"] = notification_destinations __props__.__dict__["organization_role_name"] = organization_role_name __props__.__dict__["organizational_units"] = organizational_units @@ -882,6 +921,14 @@ def name(self) -> pulumi.Output[str]: """ return pulumi.get(self, "name") + @property + @pulumi.getter(name="networkAccessControl") + def network_access_control(self) -> pulumi.Output[Optional['outputs.WorkspaceNetworkAccessControl']]: + """ + Configuration for network access to your workspace.See Network Access Control below. + """ + return pulumi.get(self, "network_access_control") + @property @pulumi.getter(name="notificationDestinations") def notification_destinations(self) -> pulumi.Output[Optional[Sequence[str]]]: diff --git a/sdk/python/pulumi_aws/iam/policy_attachment.py b/sdk/python/pulumi_aws/iam/policy_attachment.py index 2e649658714..e73c8611222 100644 --- a/sdk/python/pulumi_aws/iam/policy_attachment.py +++ b/sdk/python/pulumi_aws/iam/policy_attachment.py @@ -206,6 +206,38 @@ def __init__(__self__, > **NOTE:** For a given role, this resource is incompatible with using the `iam.Role` resource `managed_policy_arns` argument. When using that argument and this resource, both will attempt to manage the role's managed policy attachments and the provider will show a permanent difference. + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + user = aws.iam.User("user") + assume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs( + effect="Allow", + principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs( + type="Service", + identifiers=["ec2.amazonaws.com"], + )], + actions=["sts:AssumeRole"], + )]) + role = aws.iam.Role("role", assume_role_policy=assume_role.json) + group = aws.iam.Group("group") + policy_policy_document = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs( + effect="Allow", + actions=["ec2:Describe*"], + resources=["*"], + )]) + policy_policy = aws.iam.Policy("policyPolicy", + description="A test policy", + policy=policy_policy_document.json) + test_attach = aws.iam.PolicyAttachment("test-attach", + users=[user.name], + roles=[role.name], + groups=[group.name], + policy_arn=policy_policy.arn) + ``` + :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Sequence[pulumi.Input[str]]] groups: The group(s) the policy should be applied to @@ -229,6 +261,38 @@ def __init__(__self__, > **NOTE:** For a given role, this resource is incompatible with using the `iam.Role` resource `managed_policy_arns` argument. When using that argument and this resource, both will attempt to manage the role's managed policy attachments and the provider will show a permanent difference. + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + user = aws.iam.User("user") + assume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs( + effect="Allow", + principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs( + type="Service", + identifiers=["ec2.amazonaws.com"], + )], + actions=["sts:AssumeRole"], + )]) + role = aws.iam.Role("role", assume_role_policy=assume_role.json) + group = aws.iam.Group("group") + policy_policy_document = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs( + effect="Allow", + actions=["ec2:Describe*"], + resources=["*"], + )]) + policy_policy = aws.iam.Policy("policyPolicy", + description="A test policy", + policy=policy_policy_document.json) + test_attach = aws.iam.PolicyAttachment("test-attach", + users=[user.name], + roles=[role.name], + groups=[group.name], + policy_arn=policy_policy.arn) + ``` + :param str resource_name: The name of the resource. :param PolicyAttachmentArgs args: The arguments to use to populate this resource's properties. :param pulumi.ResourceOptions opts: Options for the resource. diff --git a/sdk/python/pulumi_aws/lambda_/function.py b/sdk/python/pulumi_aws/lambda_/function.py index b8472db9751..47e9ea46daa 100644 --- a/sdk/python/pulumi_aws/lambda_/function.py +++ b/sdk/python/pulumi_aws/lambda_/function.py @@ -1262,6 +1262,8 @@ def __init__(__self__, > **NOTE:** Due to [AWS Lambda improved VPC networking changes that began deploying in September 2019](https://aws.amazon.com/blogs/compute/announcing-improved-vpc-networking-for-aws-lambda-functions/), EC2 subnets and security groups associated with Lambda Functions can take up to 45 minutes to successfully delete. + > **NOTE:** If you get a `KMSAccessDeniedException: Lambda was unable to decrypt the environment variables because KMS access was denied` error when invoking an `lambda.Function` with environment variables, the IAM role associated with the function may have been deleted and recreated _after_ the function was created. You can fix the problem two ways: 1) updating the function's role to another role and then updating it back again to the recreated role, or 2) by using Pulumi to `taint` the function and `apply` your configuration again to recreate the function. (When you create a function, Lambda grants permissions on the KMS key to the function's IAM role. If the IAM role is recreated, the grant is no longer valid. Changing the function's role or recreating the function causes Lambda to update the grant.) + > To give an external source (like an EventBridge Rule, SNS, or S3) permission to access the Lambda function, use the `lambda.Permission` resource. See [Lambda Permission Model](https://docs.aws.amazon.com/lambda/latest/dg/intro-permission-model.html) for more details. On the other hand, the `role` argument of this resource is the function's execution role for identity and access to AWS services and resources. ## Example Usage @@ -1450,6 +1452,8 @@ def __init__(__self__, > **NOTE:** Due to [AWS Lambda improved VPC networking changes that began deploying in September 2019](https://aws.amazon.com/blogs/compute/announcing-improved-vpc-networking-for-aws-lambda-functions/), EC2 subnets and security groups associated with Lambda Functions can take up to 45 minutes to successfully delete. + > **NOTE:** If you get a `KMSAccessDeniedException: Lambda was unable to decrypt the environment variables because KMS access was denied` error when invoking an `lambda.Function` with environment variables, the IAM role associated with the function may have been deleted and recreated _after_ the function was created. You can fix the problem two ways: 1) updating the function's role to another role and then updating it back again to the recreated role, or 2) by using Pulumi to `taint` the function and `apply` your configuration again to recreate the function. (When you create a function, Lambda grants permissions on the KMS key to the function's IAM role. If the IAM role is recreated, the grant is no longer valid. Changing the function's role or recreating the function causes Lambda to update the grant.) + > To give an external source (like an EventBridge Rule, SNS, or S3) permission to access the Lambda function, use the `lambda.Permission` resource. See [Lambda Permission Model](https://docs.aws.amazon.com/lambda/latest/dg/intro-permission-model.html) for more details. On the other hand, the `role` argument of this resource is the function's execution role for identity and access to AWS services and resources. ## Example Usage diff --git a/sdk/python/pulumi_aws/lambda_/get_invocation.py b/sdk/python/pulumi_aws/lambda_/get_invocation.py index 41aee0452d7..ae94f549cdf 100644 --- a/sdk/python/pulumi_aws/lambda_/get_invocation.py +++ b/sdk/python/pulumi_aws/lambda_/get_invocation.py @@ -92,6 +92,8 @@ def get_invocation(function_name: Optional[str] = None, The lambda function is invoked with [RequestResponse](https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html#API_Invoke_RequestSyntax) invocation type. + > **NOTE:** If you get a `KMSAccessDeniedException: Lambda was unable to decrypt the environment variables because KMS access was denied` error when invoking an `lambda.Function` with environment variables, the IAM role associated with the function may have been deleted and recreated _after_ the function was created. You can fix the problem two ways: 1) updating the function's role to another role and then updating it back again to the recreated role, or 2) by using Pulumi to `taint` the function and `apply` your configuration again to recreate the function. (When you create a function, Lambda grants permissions on the KMS key to the function's IAM role. If the IAM role is recreated, the grant is no longer valid. Changing the function's role or recreating the function causes Lambda to update the grant.) + :param str function_name: Name of the lambda function. :param str input: String in JSON format that is passed as payload to the lambda function. @@ -123,6 +125,8 @@ def get_invocation_output(function_name: Optional[pulumi.Input[str]] = None, The lambda function is invoked with [RequestResponse](https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html#API_Invoke_RequestSyntax) invocation type. + > **NOTE:** If you get a `KMSAccessDeniedException: Lambda was unable to decrypt the environment variables because KMS access was denied` error when invoking an `lambda.Function` with environment variables, the IAM role associated with the function may have been deleted and recreated _after_ the function was created. You can fix the problem two ways: 1) updating the function's role to another role and then updating it back again to the recreated role, or 2) by using Pulumi to `taint` the function and `apply` your configuration again to recreate the function. (When you create a function, Lambda grants permissions on the KMS key to the function's IAM role. If the IAM role is recreated, the grant is no longer valid. Changing the function's role or recreating the function causes Lambda to update the grant.) + :param str function_name: Name of the lambda function. :param str input: String in JSON format that is passed as payload to the lambda function. diff --git a/sdk/python/pulumi_aws/lambda_/invocation.py b/sdk/python/pulumi_aws/lambda_/invocation.py index 098eedf6a6c..48368dc5913 100644 --- a/sdk/python/pulumi_aws/lambda_/invocation.py +++ b/sdk/python/pulumi_aws/lambda_/invocation.py @@ -184,6 +184,8 @@ def __init__(__self__, > **NOTE:** This resource _only_ invokes the function when the arguments call for a create or update. In other words, after an initial invocation on _apply_, if the arguments do not change, a subsequent _apply_ does not invoke the function again. To dynamically invoke the function, see the `triggers` example below. To always invoke a function on each _apply_, see the `lambda.Invocation` data source. + > **NOTE:** If you get a `KMSAccessDeniedException: Lambda was unable to decrypt the environment variables because KMS access was denied` error when invoking an `lambda.Function` with environment variables, the IAM role associated with the function may have been deleted and recreated _after_ the function was created. You can fix the problem two ways: 1) updating the function's role to another role and then updating it back again to the recreated role, or 2) by using Pulumi to `taint` the function and `apply` your configuration again to recreate the function. (When you create a function, Lambda grants permissions on the KMS key to the function's IAM role. If the IAM role is recreated, the grant is no longer valid. Changing the function's role or recreating the function causes Lambda to update the grant.) + ## Example Usage ### Dynamic Invocation Example Using Triggers @@ -222,6 +224,8 @@ def __init__(__self__, > **NOTE:** This resource _only_ invokes the function when the arguments call for a create or update. In other words, after an initial invocation on _apply_, if the arguments do not change, a subsequent _apply_ does not invoke the function again. To dynamically invoke the function, see the `triggers` example below. To always invoke a function on each _apply_, see the `lambda.Invocation` data source. + > **NOTE:** If you get a `KMSAccessDeniedException: Lambda was unable to decrypt the environment variables because KMS access was denied` error when invoking an `lambda.Function` with environment variables, the IAM role associated with the function may have been deleted and recreated _after_ the function was created. You can fix the problem two ways: 1) updating the function's role to another role and then updating it back again to the recreated role, or 2) by using Pulumi to `taint` the function and `apply` your configuration again to recreate the function. (When you create a function, Lambda grants permissions on the KMS key to the function's IAM role. If the IAM role is recreated, the grant is no longer valid. Changing the function's role or recreating the function causes Lambda to update the grant.) + ## Example Usage ### Dynamic Invocation Example Using Triggers diff --git a/sdk/python/pulumi_aws/licensemanager/__init__.py b/sdk/python/pulumi_aws/licensemanager/__init__.py index eade6bad414..276c778dad7 100644 --- a/sdk/python/pulumi_aws/licensemanager/__init__.py +++ b/sdk/python/pulumi_aws/licensemanager/__init__.py @@ -6,4 +6,11 @@ import typing # Export this package's modules as members: from .association import * +from .get_license_grants import * +from .get_received_license import * +from .get_received_licenses import * from .license_configuration import * +from .license_grant import * +from .license_grant_accepter import * +from ._inputs import * +from . import outputs diff --git a/sdk/python/pulumi_aws/licensemanager/_inputs.py b/sdk/python/pulumi_aws/licensemanager/_inputs.py new file mode 100644 index 00000000000..5a6cc0852f6 --- /dev/null +++ b/sdk/python/pulumi_aws/licensemanager/_inputs.py @@ -0,0 +1,98 @@ +# coding=utf-8 +# *** 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! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities + +__all__ = [ + 'GetLicenseGrantsFilterArgs', + 'GetReceivedLicensesFilterArgs', +] + +@pulumi.input_type +class GetLicenseGrantsFilterArgs: + def __init__(__self__, *, + name: str, + values: Sequence[str]): + """ + :param str name: Name of the field to filter by, as defined by + [the underlying AWS API](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_ListReceivedGrants.html#API_ListReceivedGrants_RequestSyntax). + For example, if filtering using `ProductSKU`, use: + :param Sequence[str] values: Set of values that are accepted for the given field. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def name(self) -> str: + """ + Name of the field to filter by, as defined by + [the underlying AWS API](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_ListReceivedGrants.html#API_ListReceivedGrants_RequestSyntax). + For example, if filtering using `ProductSKU`, use: + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: str): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def values(self) -> Sequence[str]: + """ + Set of values that are accepted for the given field. + """ + return pulumi.get(self, "values") + + @values.setter + def values(self, value: Sequence[str]): + pulumi.set(self, "values", value) + + +@pulumi.input_type +class GetReceivedLicensesFilterArgs: + def __init__(__self__, *, + name: str, + values: Sequence[str]): + """ + :param str name: Name of the field to filter by, as defined by + [the underlying AWS API](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_ListReceivedLicenses.html#API_ListReceivedLicenses_RequestSyntax). + For example, if filtering using `ProductSKU`, use: + :param Sequence[str] values: Set of values that are accepted for the given field. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def name(self) -> str: + """ + Name of the field to filter by, as defined by + [the underlying AWS API](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_ListReceivedLicenses.html#API_ListReceivedLicenses_RequestSyntax). + For example, if filtering using `ProductSKU`, use: + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: str): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def values(self) -> Sequence[str]: + """ + Set of values that are accepted for the given field. + """ + return pulumi.get(self, "values") + + @values.setter + def values(self, value: Sequence[str]): + pulumi.set(self, "values", value) + + diff --git a/sdk/python/pulumi_aws/licensemanager/get_license_grants.py b/sdk/python/pulumi_aws/licensemanager/get_license_grants.py new file mode 100644 index 00000000000..0aba867149a --- /dev/null +++ b/sdk/python/pulumi_aws/licensemanager/get_license_grants.py @@ -0,0 +1,128 @@ +# coding=utf-8 +# *** 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! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = [ + 'GetLicenseGrantsResult', + 'AwaitableGetLicenseGrantsResult', + 'get_license_grants', + 'get_license_grants_output', +] + +@pulumi.output_type +class GetLicenseGrantsResult: + """ + A collection of values returned by getLicenseGrants. + """ + def __init__(__self__, arns=None, filters=None, id=None): + if arns and not isinstance(arns, list): + raise TypeError("Expected argument 'arns' to be a list") + pulumi.set(__self__, "arns", arns) + if filters and not isinstance(filters, list): + raise TypeError("Expected argument 'filters' to be a list") + pulumi.set(__self__, "filters", filters) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + + @property + @pulumi.getter + def arns(self) -> Sequence[str]: + """ + List of all the license grant ARNs found. + """ + return pulumi.get(self, "arns") + + @property + @pulumi.getter + def filters(self) -> Optional[Sequence['outputs.GetLicenseGrantsFilterResult']]: + return pulumi.get(self, "filters") + + @property + @pulumi.getter + def id(self) -> str: + """ + The provider-assigned unique ID for this managed resource. + """ + return pulumi.get(self, "id") + + +class AwaitableGetLicenseGrantsResult(GetLicenseGrantsResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetLicenseGrantsResult( + arns=self.arns, + filters=self.filters, + id=self.id) + + +def get_license_grants(filters: Optional[Sequence[pulumi.InputType['GetLicenseGrantsFilterArgs']]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetLicenseGrantsResult: + """ + This resource can be used to get a set of license grant ARNs matching a filter. + + ## Example Usage + + The following shows getting all license grant ARNs granted to your account. + + ```python + import pulumi + import pulumi_aws as aws + + current = aws.get_caller_identity() + test = aws.licensemanager.get_license_grants(filters=[aws.licensemanager.GetLicenseGrantsFilterArgs( + name="GranteePrincipalARN", + values=[f"arn:aws:iam::{current.account_id}:root"], + )]) + ``` + + + :param Sequence[pulumi.InputType['GetLicenseGrantsFilterArgs']] filters: Custom filter block as described below. + """ + __args__ = dict() + __args__['filters'] = filters + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws:licensemanager/getLicenseGrants:getLicenseGrants', __args__, opts=opts, typ=GetLicenseGrantsResult).value + + return AwaitableGetLicenseGrantsResult( + arns=__ret__.arns, + filters=__ret__.filters, + id=__ret__.id) + + +@_utilities.lift_output_func(get_license_grants) +def get_license_grants_output(filters: Optional[pulumi.Input[Optional[Sequence[pulumi.InputType['GetLicenseGrantsFilterArgs']]]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLicenseGrantsResult]: + """ + This resource can be used to get a set of license grant ARNs matching a filter. + + ## Example Usage + + The following shows getting all license grant ARNs granted to your account. + + ```python + import pulumi + import pulumi_aws as aws + + current = aws.get_caller_identity() + test = aws.licensemanager.get_license_grants(filters=[aws.licensemanager.GetLicenseGrantsFilterArgs( + name="GranteePrincipalARN", + values=[f"arn:aws:iam::{current.account_id}:root"], + )]) + ``` + + + :param Sequence[pulumi.InputType['GetLicenseGrantsFilterArgs']] filters: Custom filter block as described below. + """ + ... diff --git a/sdk/python/pulumi_aws/licensemanager/get_received_license.py b/sdk/python/pulumi_aws/licensemanager/get_received_license.py new file mode 100644 index 00000000000..d300714be46 --- /dev/null +++ b/sdk/python/pulumi_aws/licensemanager/get_received_license.py @@ -0,0 +1,289 @@ +# coding=utf-8 +# *** 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! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs + +__all__ = [ + 'GetReceivedLicenseResult', + 'AwaitableGetReceivedLicenseResult', + 'get_received_license', + 'get_received_license_output', +] + +@pulumi.output_type +class GetReceivedLicenseResult: + """ + A collection of values returned by getReceivedLicense. + """ + def __init__(__self__, beneficiary=None, consumption_configurations=None, create_time=None, entitlements=None, home_region=None, id=None, issuers=None, license_arn=None, license_metadatas=None, license_name=None, product_name=None, product_sku=None, received_metadatas=None, status=None, validities=None, version=None): + if beneficiary and not isinstance(beneficiary, str): + raise TypeError("Expected argument 'beneficiary' to be a str") + pulumi.set(__self__, "beneficiary", beneficiary) + if consumption_configurations and not isinstance(consumption_configurations, list): + raise TypeError("Expected argument 'consumption_configurations' to be a list") + pulumi.set(__self__, "consumption_configurations", consumption_configurations) + if create_time and not isinstance(create_time, str): + raise TypeError("Expected argument 'create_time' to be a str") + pulumi.set(__self__, "create_time", create_time) + if entitlements and not isinstance(entitlements, list): + raise TypeError("Expected argument 'entitlements' to be a list") + pulumi.set(__self__, "entitlements", entitlements) + if home_region and not isinstance(home_region, str): + raise TypeError("Expected argument 'home_region' to be a str") + pulumi.set(__self__, "home_region", home_region) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if issuers and not isinstance(issuers, list): + raise TypeError("Expected argument 'issuers' to be a list") + pulumi.set(__self__, "issuers", issuers) + if license_arn and not isinstance(license_arn, str): + raise TypeError("Expected argument 'license_arn' to be a str") + pulumi.set(__self__, "license_arn", license_arn) + if license_metadatas and not isinstance(license_metadatas, list): + raise TypeError("Expected argument 'license_metadatas' to be a list") + pulumi.set(__self__, "license_metadatas", license_metadatas) + if license_name and not isinstance(license_name, str): + raise TypeError("Expected argument 'license_name' to be a str") + pulumi.set(__self__, "license_name", license_name) + if product_name and not isinstance(product_name, str): + raise TypeError("Expected argument 'product_name' to be a str") + pulumi.set(__self__, "product_name", product_name) + if product_sku and not isinstance(product_sku, str): + raise TypeError("Expected argument 'product_sku' to be a str") + pulumi.set(__self__, "product_sku", product_sku) + if received_metadatas and not isinstance(received_metadatas, list): + raise TypeError("Expected argument 'received_metadatas' to be a list") + pulumi.set(__self__, "received_metadatas", received_metadatas) + if status and not isinstance(status, str): + raise TypeError("Expected argument 'status' to be a str") + pulumi.set(__self__, "status", status) + if validities and not isinstance(validities, list): + raise TypeError("Expected argument 'validities' to be a list") + pulumi.set(__self__, "validities", validities) + if version and not isinstance(version, str): + raise TypeError("Expected argument 'version' to be a str") + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter + def beneficiary(self) -> str: + """ + Granted license beneficiary. This is in the form of the ARN of the root user of the account. + """ + return pulumi.get(self, "beneficiary") + + @property + @pulumi.getter(name="consumptionConfigurations") + def consumption_configurations(self) -> Sequence['outputs.GetReceivedLicenseConsumptionConfigurationResult']: + """ + Configuration for consumption of the license. Detailed below + """ + return pulumi.get(self, "consumption_configurations") + + @property + @pulumi.getter(name="createTime") + def create_time(self) -> str: + """ + Creation time of the granted license in RFC 3339 format. + """ + return pulumi.get(self, "create_time") + + @property + @pulumi.getter + def entitlements(self) -> Sequence['outputs.GetReceivedLicenseEntitlementResult']: + """ + License entitlements. Detailed below + """ + return pulumi.get(self, "entitlements") + + @property + @pulumi.getter(name="homeRegion") + def home_region(self) -> str: + """ + Home Region of the granted license. + """ + return pulumi.get(self, "home_region") + + @property + @pulumi.getter + def id(self) -> str: + """ + The provider-assigned unique ID for this managed resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def issuers(self) -> Sequence['outputs.GetReceivedLicenseIssuerResult']: + """ + Granted license issuer. Detailed below + """ + return pulumi.get(self, "issuers") + + @property + @pulumi.getter(name="licenseArn") + def license_arn(self) -> str: + """ + Amazon Resource Name (ARN) of the license. + """ + return pulumi.get(self, "license_arn") + + @property + @pulumi.getter(name="licenseMetadatas") + def license_metadatas(self) -> Sequence['outputs.GetReceivedLicenseLicenseMetadataResult']: + """ + Granted license metadata. This is in the form of a set of all meta data. Detailed below + """ + return pulumi.get(self, "license_metadatas") + + @property + @pulumi.getter(name="licenseName") + def license_name(self) -> str: + """ + License name. + """ + return pulumi.get(self, "license_name") + + @property + @pulumi.getter(name="productName") + def product_name(self) -> str: + """ + Product name. + * `product_sku ` - Product SKU. + """ + return pulumi.get(self, "product_name") + + @property + @pulumi.getter(name="productSku") + def product_sku(self) -> str: + return pulumi.get(self, "product_sku") + + @property + @pulumi.getter(name="receivedMetadatas") + def received_metadatas(self) -> Sequence['outputs.GetReceivedLicenseReceivedMetadataResult']: + """ + Granted license received metadata. Detailed below + """ + return pulumi.get(self, "received_metadatas") + + @property + @pulumi.getter + def status(self) -> str: + """ + Granted license status. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter + def validities(self) -> Sequence['outputs.GetReceivedLicenseValidityResult']: + """ + Date and time range during which the granted license is valid, in ISO8601-UTC format. Detailed below + """ + return pulumi.get(self, "validities") + + @property + @pulumi.getter + def version(self) -> str: + """ + Version of the granted license. + """ + return pulumi.get(self, "version") + + +class AwaitableGetReceivedLicenseResult(GetReceivedLicenseResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetReceivedLicenseResult( + beneficiary=self.beneficiary, + consumption_configurations=self.consumption_configurations, + create_time=self.create_time, + entitlements=self.entitlements, + home_region=self.home_region, + id=self.id, + issuers=self.issuers, + license_arn=self.license_arn, + license_metadatas=self.license_metadatas, + license_name=self.license_name, + product_name=self.product_name, + product_sku=self.product_sku, + received_metadatas=self.received_metadatas, + status=self.status, + validities=self.validities, + version=self.version) + + +def get_received_license(license_arn: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetReceivedLicenseResult: + """ + This resource can be used to get data on a received license using an ARN. This can be helpful for pulling in data on a license from the AWS marketplace and sharing that license with another account. + + ## Example Usage + + The following shows getting the received license data using and ARN. + + ```python + import pulumi + import pulumi_aws as aws + + test = aws.licensemanager.get_received_license(license_arn="arn:aws:license-manager::111111111111:license:l-ecbaa94eb71a4830b6d7e49268fecaa0") + ``` + + + :param str license_arn: The ARN of the received license you want data for. + """ + __args__ = dict() + __args__['licenseArn'] = license_arn + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws:licensemanager/getReceivedLicense:getReceivedLicense', __args__, opts=opts, typ=GetReceivedLicenseResult).value + + return AwaitableGetReceivedLicenseResult( + beneficiary=__ret__.beneficiary, + consumption_configurations=__ret__.consumption_configurations, + create_time=__ret__.create_time, + entitlements=__ret__.entitlements, + home_region=__ret__.home_region, + id=__ret__.id, + issuers=__ret__.issuers, + license_arn=__ret__.license_arn, + license_metadatas=__ret__.license_metadatas, + license_name=__ret__.license_name, + product_name=__ret__.product_name, + product_sku=__ret__.product_sku, + received_metadatas=__ret__.received_metadatas, + status=__ret__.status, + validities=__ret__.validities, + version=__ret__.version) + + +@_utilities.lift_output_func(get_received_license) +def get_received_license_output(license_arn: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetReceivedLicenseResult]: + """ + This resource can be used to get data on a received license using an ARN. This can be helpful for pulling in data on a license from the AWS marketplace and sharing that license with another account. + + ## Example Usage + + The following shows getting the received license data using and ARN. + + ```python + import pulumi + import pulumi_aws as aws + + test = aws.licensemanager.get_received_license(license_arn="arn:aws:license-manager::111111111111:license:l-ecbaa94eb71a4830b6d7e49268fecaa0") + ``` + + + :param str license_arn: The ARN of the received license you want data for. + """ + ... diff --git a/sdk/python/pulumi_aws/licensemanager/get_received_licenses.py b/sdk/python/pulumi_aws/licensemanager/get_received_licenses.py new file mode 100644 index 00000000000..56161d7148a --- /dev/null +++ b/sdk/python/pulumi_aws/licensemanager/get_received_licenses.py @@ -0,0 +1,126 @@ +# coding=utf-8 +# *** 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! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = [ + 'GetReceivedLicensesResult', + 'AwaitableGetReceivedLicensesResult', + 'get_received_licenses', + 'get_received_licenses_output', +] + +@pulumi.output_type +class GetReceivedLicensesResult: + """ + A collection of values returned by getReceivedLicenses. + """ + def __init__(__self__, arns=None, filters=None, id=None): + if arns and not isinstance(arns, list): + raise TypeError("Expected argument 'arns' to be a list") + pulumi.set(__self__, "arns", arns) + if filters and not isinstance(filters, list): + raise TypeError("Expected argument 'filters' to be a list") + pulumi.set(__self__, "filters", filters) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + + @property + @pulumi.getter + def arns(self) -> Sequence[str]: + """ + List of all the license ARNs found. + """ + return pulumi.get(self, "arns") + + @property + @pulumi.getter + def filters(self) -> Optional[Sequence['outputs.GetReceivedLicensesFilterResult']]: + return pulumi.get(self, "filters") + + @property + @pulumi.getter + def id(self) -> str: + """ + The provider-assigned unique ID for this managed resource. + """ + return pulumi.get(self, "id") + + +class AwaitableGetReceivedLicensesResult(GetReceivedLicensesResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetReceivedLicensesResult( + arns=self.arns, + filters=self.filters, + id=self.id) + + +def get_received_licenses(filters: Optional[Sequence[pulumi.InputType['GetReceivedLicensesFilterArgs']]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetReceivedLicensesResult: + """ + This resource can be used to get a set of license ARNs matching a filter. + + ## Example Usage + + The following shows getting all license ARNs issued from the AWS marketplace. Providing no filter, would provide all license ARNs for the entire account. + + ```python + import pulumi + import pulumi_aws as aws + + test = aws.licensemanager.get_received_licenses(filters=[aws.licensemanager.GetReceivedLicensesFilterArgs( + name="IssuerName", + values=["AWS/Marketplace"], + )]) + ``` + + + :param Sequence[pulumi.InputType['GetReceivedLicensesFilterArgs']] filters: Custom filter block as described below. + """ + __args__ = dict() + __args__['filters'] = filters + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws:licensemanager/getReceivedLicenses:getReceivedLicenses', __args__, opts=opts, typ=GetReceivedLicensesResult).value + + return AwaitableGetReceivedLicensesResult( + arns=__ret__.arns, + filters=__ret__.filters, + id=__ret__.id) + + +@_utilities.lift_output_func(get_received_licenses) +def get_received_licenses_output(filters: Optional[pulumi.Input[Optional[Sequence[pulumi.InputType['GetReceivedLicensesFilterArgs']]]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetReceivedLicensesResult]: + """ + This resource can be used to get a set of license ARNs matching a filter. + + ## Example Usage + + The following shows getting all license ARNs issued from the AWS marketplace. Providing no filter, would provide all license ARNs for the entire account. + + ```python + import pulumi + import pulumi_aws as aws + + test = aws.licensemanager.get_received_licenses(filters=[aws.licensemanager.GetReceivedLicensesFilterArgs( + name="IssuerName", + values=["AWS/Marketplace"], + )]) + ``` + + + :param Sequence[pulumi.InputType['GetReceivedLicensesFilterArgs']] filters: Custom filter block as described below. + """ + ... diff --git a/sdk/python/pulumi_aws/licensemanager/license_grant.py b/sdk/python/pulumi_aws/licensemanager/license_grant.py new file mode 100644 index 00000000000..36605ef4a4a --- /dev/null +++ b/sdk/python/pulumi_aws/licensemanager/license_grant.py @@ -0,0 +1,445 @@ +# coding=utf-8 +# *** 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! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities + +__all__ = ['LicenseGrantArgs', 'LicenseGrant'] + +@pulumi.input_type +class LicenseGrantArgs: + def __init__(__self__, *, + allowed_operations: pulumi.Input[Sequence[pulumi.Input[str]]], + license_arn: pulumi.Input[str], + principal: pulumi.Input[str], + name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a LicenseGrant resource. + :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_operations: A list of the allowed operations for the grant. This is a subset of the allowed operations on the license. + :param pulumi.Input[str] license_arn: The ARN of the license to grant. + :param pulumi.Input[str] principal: The target account for the grant in the form of the ARN for an account principal of the root user. + :param pulumi.Input[str] name: The Name of the grant. + """ + pulumi.set(__self__, "allowed_operations", allowed_operations) + pulumi.set(__self__, "license_arn", license_arn) + pulumi.set(__self__, "principal", principal) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter(name="allowedOperations") + def allowed_operations(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + A list of the allowed operations for the grant. This is a subset of the allowed operations on the license. + """ + return pulumi.get(self, "allowed_operations") + + @allowed_operations.setter + def allowed_operations(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "allowed_operations", value) + + @property + @pulumi.getter(name="licenseArn") + def license_arn(self) -> pulumi.Input[str]: + """ + The ARN of the license to grant. + """ + return pulumi.get(self, "license_arn") + + @license_arn.setter + def license_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "license_arn", value) + + @property + @pulumi.getter + def principal(self) -> pulumi.Input[str]: + """ + The target account for the grant in the form of the ARN for an account principal of the root user. + """ + return pulumi.get(self, "principal") + + @principal.setter + def principal(self, value: pulumi.Input[str]): + pulumi.set(self, "principal", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The Name of the grant. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + +@pulumi.input_type +class _LicenseGrantState: + def __init__(__self__, *, + allowed_operations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + arn: Optional[pulumi.Input[str]] = None, + home_region: Optional[pulumi.Input[str]] = None, + license_arn: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + parent_arn: Optional[pulumi.Input[str]] = None, + principal: Optional[pulumi.Input[str]] = None, + status: Optional[pulumi.Input[str]] = None, + version: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering LicenseGrant resources. + :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_operations: A list of the allowed operations for the grant. This is a subset of the allowed operations on the license. + :param pulumi.Input[str] arn: The grant ARN. + :param pulumi.Input[str] home_region: The home region for the license. + :param pulumi.Input[str] license_arn: The ARN of the license to grant. + :param pulumi.Input[str] name: The Name of the grant. + :param pulumi.Input[str] parent_arn: The parent ARN. + :param pulumi.Input[str] principal: The target account for the grant in the form of the ARN for an account principal of the root user. + :param pulumi.Input[str] status: The grant status. + :param pulumi.Input[str] version: The grant version. + """ + if allowed_operations is not None: + pulumi.set(__self__, "allowed_operations", allowed_operations) + if arn is not None: + pulumi.set(__self__, "arn", arn) + if home_region is not None: + pulumi.set(__self__, "home_region", home_region) + if license_arn is not None: + pulumi.set(__self__, "license_arn", license_arn) + if name is not None: + pulumi.set(__self__, "name", name) + if parent_arn is not None: + pulumi.set(__self__, "parent_arn", parent_arn) + if principal is not None: + pulumi.set(__self__, "principal", principal) + if status is not None: + pulumi.set(__self__, "status", status) + if version is not None: + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter(name="allowedOperations") + def allowed_operations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + A list of the allowed operations for the grant. This is a subset of the allowed operations on the license. + """ + return pulumi.get(self, "allowed_operations") + + @allowed_operations.setter + def allowed_operations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "allowed_operations", value) + + @property + @pulumi.getter + def arn(self) -> Optional[pulumi.Input[str]]: + """ + The grant ARN. + """ + return pulumi.get(self, "arn") + + @arn.setter + def arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "arn", value) + + @property + @pulumi.getter(name="homeRegion") + def home_region(self) -> Optional[pulumi.Input[str]]: + """ + The home region for the license. + """ + return pulumi.get(self, "home_region") + + @home_region.setter + def home_region(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "home_region", value) + + @property + @pulumi.getter(name="licenseArn") + def license_arn(self) -> Optional[pulumi.Input[str]]: + """ + The ARN of the license to grant. + """ + return pulumi.get(self, "license_arn") + + @license_arn.setter + def license_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "license_arn", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The Name of the grant. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="parentArn") + def parent_arn(self) -> Optional[pulumi.Input[str]]: + """ + The parent ARN. + """ + return pulumi.get(self, "parent_arn") + + @parent_arn.setter + def parent_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "parent_arn", value) + + @property + @pulumi.getter + def principal(self) -> Optional[pulumi.Input[str]]: + """ + The target account for the grant in the form of the ARN for an account principal of the root user. + """ + return pulumi.get(self, "principal") + + @principal.setter + def principal(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "principal", value) + + @property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[str]]: + """ + The grant status. + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "status", value) + + @property + @pulumi.getter + def version(self) -> Optional[pulumi.Input[str]]: + """ + The grant version. + """ + return pulumi.get(self, "version") + + @version.setter + def version(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "version", value) + + +class LicenseGrant(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + allowed_operations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + license_arn: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + principal: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Provides a License Manager grant. This allows for sharing licenses with other AWS accounts. + + ## Import + + `aws_licensemanager_grant` can be imported using the grant arn. + + ```sh + $ pulumi import aws:licensemanager/licenseGrant:LicenseGrant test arn:aws:license-manager::123456789011:grant:g-01d313393d9e443d8664cc054db1e089 + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_operations: A list of the allowed operations for the grant. This is a subset of the allowed operations on the license. + :param pulumi.Input[str] license_arn: The ARN of the license to grant. + :param pulumi.Input[str] name: The Name of the grant. + :param pulumi.Input[str] principal: The target account for the grant in the form of the ARN for an account principal of the root user. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: LicenseGrantArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a License Manager grant. This allows for sharing licenses with other AWS accounts. + + ## Import + + `aws_licensemanager_grant` can be imported using the grant arn. + + ```sh + $ pulumi import aws:licensemanager/licenseGrant:LicenseGrant test arn:aws:license-manager::123456789011:grant:g-01d313393d9e443d8664cc054db1e089 + ``` + + :param str resource_name: The name of the resource. + :param LicenseGrantArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(LicenseGrantArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + allowed_operations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + license_arn: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + principal: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = LicenseGrantArgs.__new__(LicenseGrantArgs) + + if allowed_operations is None and not opts.urn: + raise TypeError("Missing required property 'allowed_operations'") + __props__.__dict__["allowed_operations"] = allowed_operations + if license_arn is None and not opts.urn: + raise TypeError("Missing required property 'license_arn'") + __props__.__dict__["license_arn"] = license_arn + __props__.__dict__["name"] = name + if principal is None and not opts.urn: + raise TypeError("Missing required property 'principal'") + __props__.__dict__["principal"] = principal + __props__.__dict__["arn"] = None + __props__.__dict__["home_region"] = None + __props__.__dict__["parent_arn"] = None + __props__.__dict__["status"] = None + __props__.__dict__["version"] = None + super(LicenseGrant, __self__).__init__( + 'aws:licensemanager/licenseGrant:LicenseGrant', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + allowed_operations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + arn: Optional[pulumi.Input[str]] = None, + home_region: Optional[pulumi.Input[str]] = None, + license_arn: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + parent_arn: Optional[pulumi.Input[str]] = None, + principal: Optional[pulumi.Input[str]] = None, + status: Optional[pulumi.Input[str]] = None, + version: Optional[pulumi.Input[str]] = None) -> 'LicenseGrant': + """ + Get an existing LicenseGrant resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_operations: A list of the allowed operations for the grant. This is a subset of the allowed operations on the license. + :param pulumi.Input[str] arn: The grant ARN. + :param pulumi.Input[str] home_region: The home region for the license. + :param pulumi.Input[str] license_arn: The ARN of the license to grant. + :param pulumi.Input[str] name: The Name of the grant. + :param pulumi.Input[str] parent_arn: The parent ARN. + :param pulumi.Input[str] principal: The target account for the grant in the form of the ARN for an account principal of the root user. + :param pulumi.Input[str] status: The grant status. + :param pulumi.Input[str] version: The grant version. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _LicenseGrantState.__new__(_LicenseGrantState) + + __props__.__dict__["allowed_operations"] = allowed_operations + __props__.__dict__["arn"] = arn + __props__.__dict__["home_region"] = home_region + __props__.__dict__["license_arn"] = license_arn + __props__.__dict__["name"] = name + __props__.__dict__["parent_arn"] = parent_arn + __props__.__dict__["principal"] = principal + __props__.__dict__["status"] = status + __props__.__dict__["version"] = version + return LicenseGrant(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="allowedOperations") + def allowed_operations(self) -> pulumi.Output[Sequence[str]]: + """ + A list of the allowed operations for the grant. This is a subset of the allowed operations on the license. + """ + return pulumi.get(self, "allowed_operations") + + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + """ + The grant ARN. + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="homeRegion") + def home_region(self) -> pulumi.Output[str]: + """ + The home region for the license. + """ + return pulumi.get(self, "home_region") + + @property + @pulumi.getter(name="licenseArn") + def license_arn(self) -> pulumi.Output[str]: + """ + The ARN of the license to grant. + """ + return pulumi.get(self, "license_arn") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The Name of the grant. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="parentArn") + def parent_arn(self) -> pulumi.Output[str]: + """ + The parent ARN. + """ + return pulumi.get(self, "parent_arn") + + @property + @pulumi.getter + def principal(self) -> pulumi.Output[str]: + """ + The target account for the grant in the form of the ARN for an account principal of the root user. + """ + return pulumi.get(self, "principal") + + @property + @pulumi.getter + def status(self) -> pulumi.Output[str]: + """ + The grant status. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter + def version(self) -> pulumi.Output[str]: + """ + The grant version. + """ + return pulumi.get(self, "version") + diff --git a/sdk/python/pulumi_aws/licensemanager/license_grant_accepter.py b/sdk/python/pulumi_aws/licensemanager/license_grant_accepter.py new file mode 100644 index 00000000000..d386e1d9721 --- /dev/null +++ b/sdk/python/pulumi_aws/licensemanager/license_grant_accepter.py @@ -0,0 +1,386 @@ +# coding=utf-8 +# *** 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! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities + +__all__ = ['LicenseGrantAccepterArgs', 'LicenseGrantAccepter'] + +@pulumi.input_type +class LicenseGrantAccepterArgs: + def __init__(__self__, *, + grant_arn: pulumi.Input[str]): + """ + The set of arguments for constructing a LicenseGrantAccepter resource. + :param pulumi.Input[str] grant_arn: The ARN of the grant to accept. + """ + pulumi.set(__self__, "grant_arn", grant_arn) + + @property + @pulumi.getter(name="grantArn") + def grant_arn(self) -> pulumi.Input[str]: + """ + The ARN of the grant to accept. + """ + return pulumi.get(self, "grant_arn") + + @grant_arn.setter + def grant_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "grant_arn", value) + + +@pulumi.input_type +class _LicenseGrantAccepterState: + def __init__(__self__, *, + allowed_operations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + grant_arn: Optional[pulumi.Input[str]] = None, + home_region: Optional[pulumi.Input[str]] = None, + license_arn: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + parent_arn: Optional[pulumi.Input[str]] = None, + principal: Optional[pulumi.Input[str]] = None, + status: Optional[pulumi.Input[str]] = None, + version: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering LicenseGrantAccepter resources. + :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_operations: A list of the allowed operations for the grant. + :param pulumi.Input[str] grant_arn: The ARN of the grant to accept. + :param pulumi.Input[str] home_region: The home region for the license. + :param pulumi.Input[str] license_arn: The ARN of the license for the grant. + :param pulumi.Input[str] name: The Name of the grant. + :param pulumi.Input[str] parent_arn: The parent ARN. + :param pulumi.Input[str] principal: The target account for the grant. + :param pulumi.Input[str] status: The grant status. + :param pulumi.Input[str] version: The grant version. + """ + if allowed_operations is not None: + pulumi.set(__self__, "allowed_operations", allowed_operations) + if grant_arn is not None: + pulumi.set(__self__, "grant_arn", grant_arn) + if home_region is not None: + pulumi.set(__self__, "home_region", home_region) + if license_arn is not None: + pulumi.set(__self__, "license_arn", license_arn) + if name is not None: + pulumi.set(__self__, "name", name) + if parent_arn is not None: + pulumi.set(__self__, "parent_arn", parent_arn) + if principal is not None: + pulumi.set(__self__, "principal", principal) + if status is not None: + pulumi.set(__self__, "status", status) + if version is not None: + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter(name="allowedOperations") + def allowed_operations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + A list of the allowed operations for the grant. + """ + return pulumi.get(self, "allowed_operations") + + @allowed_operations.setter + def allowed_operations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "allowed_operations", value) + + @property + @pulumi.getter(name="grantArn") + def grant_arn(self) -> Optional[pulumi.Input[str]]: + """ + The ARN of the grant to accept. + """ + return pulumi.get(self, "grant_arn") + + @grant_arn.setter + def grant_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "grant_arn", value) + + @property + @pulumi.getter(name="homeRegion") + def home_region(self) -> Optional[pulumi.Input[str]]: + """ + The home region for the license. + """ + return pulumi.get(self, "home_region") + + @home_region.setter + def home_region(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "home_region", value) + + @property + @pulumi.getter(name="licenseArn") + def license_arn(self) -> Optional[pulumi.Input[str]]: + """ + The ARN of the license for the grant. + """ + return pulumi.get(self, "license_arn") + + @license_arn.setter + def license_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "license_arn", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The Name of the grant. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="parentArn") + def parent_arn(self) -> Optional[pulumi.Input[str]]: + """ + The parent ARN. + """ + return pulumi.get(self, "parent_arn") + + @parent_arn.setter + def parent_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "parent_arn", value) + + @property + @pulumi.getter + def principal(self) -> Optional[pulumi.Input[str]]: + """ + The target account for the grant. + """ + return pulumi.get(self, "principal") + + @principal.setter + def principal(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "principal", value) + + @property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[str]]: + """ + The grant status. + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "status", value) + + @property + @pulumi.getter + def version(self) -> Optional[pulumi.Input[str]]: + """ + The grant version. + """ + return pulumi.get(self, "version") + + @version.setter + def version(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "version", value) + + +class LicenseGrantAccepter(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + grant_arn: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Accepts a License Manager grant. This allows for sharing licenses with other aws accounts. + + ## Import + + `aws_licensemanager_grant_accepter` can be imported using the grant arn. + + ```sh + $ pulumi import aws:licensemanager/licenseGrantAccepter:LicenseGrantAccepter test arn:aws:license-manager::123456789012:grant:g-1cf9fba4ba2f42dcab11c686c4b4d329 + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] grant_arn: The ARN of the grant to accept. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: LicenseGrantAccepterArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Accepts a License Manager grant. This allows for sharing licenses with other aws accounts. + + ## Import + + `aws_licensemanager_grant_accepter` can be imported using the grant arn. + + ```sh + $ pulumi import aws:licensemanager/licenseGrantAccepter:LicenseGrantAccepter test arn:aws:license-manager::123456789012:grant:g-1cf9fba4ba2f42dcab11c686c4b4d329 + ``` + + :param str resource_name: The name of the resource. + :param LicenseGrantAccepterArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(LicenseGrantAccepterArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + grant_arn: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = LicenseGrantAccepterArgs.__new__(LicenseGrantAccepterArgs) + + if grant_arn is None and not opts.urn: + raise TypeError("Missing required property 'grant_arn'") + __props__.__dict__["grant_arn"] = grant_arn + __props__.__dict__["allowed_operations"] = None + __props__.__dict__["home_region"] = None + __props__.__dict__["license_arn"] = None + __props__.__dict__["name"] = None + __props__.__dict__["parent_arn"] = None + __props__.__dict__["principal"] = None + __props__.__dict__["status"] = None + __props__.__dict__["version"] = None + super(LicenseGrantAccepter, __self__).__init__( + 'aws:licensemanager/licenseGrantAccepter:LicenseGrantAccepter', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + allowed_operations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + grant_arn: Optional[pulumi.Input[str]] = None, + home_region: Optional[pulumi.Input[str]] = None, + license_arn: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + parent_arn: Optional[pulumi.Input[str]] = None, + principal: Optional[pulumi.Input[str]] = None, + status: Optional[pulumi.Input[str]] = None, + version: Optional[pulumi.Input[str]] = None) -> 'LicenseGrantAccepter': + """ + Get an existing LicenseGrantAccepter resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_operations: A list of the allowed operations for the grant. + :param pulumi.Input[str] grant_arn: The ARN of the grant to accept. + :param pulumi.Input[str] home_region: The home region for the license. + :param pulumi.Input[str] license_arn: The ARN of the license for the grant. + :param pulumi.Input[str] name: The Name of the grant. + :param pulumi.Input[str] parent_arn: The parent ARN. + :param pulumi.Input[str] principal: The target account for the grant. + :param pulumi.Input[str] status: The grant status. + :param pulumi.Input[str] version: The grant version. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _LicenseGrantAccepterState.__new__(_LicenseGrantAccepterState) + + __props__.__dict__["allowed_operations"] = allowed_operations + __props__.__dict__["grant_arn"] = grant_arn + __props__.__dict__["home_region"] = home_region + __props__.__dict__["license_arn"] = license_arn + __props__.__dict__["name"] = name + __props__.__dict__["parent_arn"] = parent_arn + __props__.__dict__["principal"] = principal + __props__.__dict__["status"] = status + __props__.__dict__["version"] = version + return LicenseGrantAccepter(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="allowedOperations") + def allowed_operations(self) -> pulumi.Output[Sequence[str]]: + """ + A list of the allowed operations for the grant. + """ + return pulumi.get(self, "allowed_operations") + + @property + @pulumi.getter(name="grantArn") + def grant_arn(self) -> pulumi.Output[str]: + """ + The ARN of the grant to accept. + """ + return pulumi.get(self, "grant_arn") + + @property + @pulumi.getter(name="homeRegion") + def home_region(self) -> pulumi.Output[str]: + """ + The home region for the license. + """ + return pulumi.get(self, "home_region") + + @property + @pulumi.getter(name="licenseArn") + def license_arn(self) -> pulumi.Output[str]: + """ + The ARN of the license for the grant. + """ + return pulumi.get(self, "license_arn") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The Name of the grant. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="parentArn") + def parent_arn(self) -> pulumi.Output[str]: + """ + The parent ARN. + """ + return pulumi.get(self, "parent_arn") + + @property + @pulumi.getter + def principal(self) -> pulumi.Output[str]: + """ + The target account for the grant. + """ + return pulumi.get(self, "principal") + + @property + @pulumi.getter + def status(self) -> pulumi.Output[str]: + """ + The grant status. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter + def version(self) -> pulumi.Output[str]: + """ + The grant version. + """ + return pulumi.get(self, "version") + diff --git a/sdk/python/pulumi_aws/licensemanager/outputs.py b/sdk/python/pulumi_aws/licensemanager/outputs.py new file mode 100644 index 00000000000..39766321def --- /dev/null +++ b/sdk/python/pulumi_aws/licensemanager/outputs.py @@ -0,0 +1,374 @@ +# coding=utf-8 +# *** 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! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs + +__all__ = [ + 'GetLicenseGrantsFilterResult', + 'GetReceivedLicenseConsumptionConfigurationResult', + 'GetReceivedLicenseConsumptionConfigurationBorrowConfigurationResult', + 'GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationResult', + 'GetReceivedLicenseEntitlementResult', + 'GetReceivedLicenseIssuerResult', + 'GetReceivedLicenseLicenseMetadataResult', + 'GetReceivedLicenseReceivedMetadataResult', + 'GetReceivedLicenseValidityResult', + 'GetReceivedLicensesFilterResult', +] + +@pulumi.output_type +class GetLicenseGrantsFilterResult(dict): + def __init__(__self__, *, + name: str, + values: Sequence[str]): + """ + :param str name: Name of the field to filter by, as defined by + [the underlying AWS API](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_ListReceivedGrants.html#API_ListReceivedGrants_RequestSyntax). + For example, if filtering using `ProductSKU`, use: + :param Sequence[str] values: Set of values that are accepted for the given field. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def name(self) -> str: + """ + Name of the field to filter by, as defined by + [the underlying AWS API](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_ListReceivedGrants.html#API_ListReceivedGrants_RequestSyntax). + For example, if filtering using `ProductSKU`, use: + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def values(self) -> Sequence[str]: + """ + Set of values that are accepted for the given field. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class GetReceivedLicenseConsumptionConfigurationResult(dict): + def __init__(__self__, *, + borrow_configurations: Sequence['outputs.GetReceivedLicenseConsumptionConfigurationBorrowConfigurationResult'], + provisional_configurations: Sequence['outputs.GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationResult'], + renew_type: str): + """ + :param Sequence['GetReceivedLicenseConsumptionConfigurationBorrowConfigurationArgs'] borrow_configurations: Details about a borrow configuration. Detailed below + :param Sequence['GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationArgs'] provisional_configurations: Details about a provisional configuration. Detailed below + """ + pulumi.set(__self__, "borrow_configurations", borrow_configurations) + pulumi.set(__self__, "provisional_configurations", provisional_configurations) + pulumi.set(__self__, "renew_type", renew_type) + + @property + @pulumi.getter(name="borrowConfigurations") + def borrow_configurations(self) -> Sequence['outputs.GetReceivedLicenseConsumptionConfigurationBorrowConfigurationResult']: + """ + Details about a borrow configuration. Detailed below + """ + return pulumi.get(self, "borrow_configurations") + + @property + @pulumi.getter(name="provisionalConfigurations") + def provisional_configurations(self) -> Sequence['outputs.GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationResult']: + """ + Details about a provisional configuration. Detailed below + """ + return pulumi.get(self, "provisional_configurations") + + @property + @pulumi.getter(name="renewType") + def renew_type(self) -> str: + return pulumi.get(self, "renew_type") + + +@pulumi.output_type +class GetReceivedLicenseConsumptionConfigurationBorrowConfigurationResult(dict): + def __init__(__self__, *, + allow_early_check_in: bool, + max_time_to_live_in_minutes: int): + """ + :param bool allow_early_check_in: Indicates whether early check-ins are allowed. + :param int max_time_to_live_in_minutes: Maximum time for the provisional configuration, in minutes. + """ + pulumi.set(__self__, "allow_early_check_in", allow_early_check_in) + pulumi.set(__self__, "max_time_to_live_in_minutes", max_time_to_live_in_minutes) + + @property + @pulumi.getter(name="allowEarlyCheckIn") + def allow_early_check_in(self) -> bool: + """ + Indicates whether early check-ins are allowed. + """ + return pulumi.get(self, "allow_early_check_in") + + @property + @pulumi.getter(name="maxTimeToLiveInMinutes") + def max_time_to_live_in_minutes(self) -> int: + """ + Maximum time for the provisional configuration, in minutes. + """ + return pulumi.get(self, "max_time_to_live_in_minutes") + + +@pulumi.output_type +class GetReceivedLicenseConsumptionConfigurationProvisionalConfigurationResult(dict): + def __init__(__self__, *, + max_time_to_live_in_minutes: int): + """ + :param int max_time_to_live_in_minutes: Maximum time for the provisional configuration, in minutes. + """ + pulumi.set(__self__, "max_time_to_live_in_minutes", max_time_to_live_in_minutes) + + @property + @pulumi.getter(name="maxTimeToLiveInMinutes") + def max_time_to_live_in_minutes(self) -> int: + """ + Maximum time for the provisional configuration, in minutes. + """ + return pulumi.get(self, "max_time_to_live_in_minutes") + + +@pulumi.output_type +class GetReceivedLicenseEntitlementResult(dict): + def __init__(__self__, *, + allow_check_in: bool, + max_count: int, + name: str, + unit: str, + value: str): + """ + :param bool allow_check_in: Indicates whether check-ins are allowed. + :param int max_count: Maximum entitlement count. Use if the unit is not None. + :param str name: The key name. + :param str unit: Entitlement unit. + :param str value: The value. + """ + pulumi.set(__self__, "allow_check_in", allow_check_in) + pulumi.set(__self__, "max_count", max_count) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter(name="allowCheckIn") + def allow_check_in(self) -> bool: + """ + Indicates whether check-ins are allowed. + """ + return pulumi.get(self, "allow_check_in") + + @property + @pulumi.getter(name="maxCount") + def max_count(self) -> int: + """ + Maximum entitlement count. Use if the unit is not None. + """ + return pulumi.get(self, "max_count") + + @property + @pulumi.getter + def name(self) -> str: + """ + The key name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def unit(self) -> str: + """ + Entitlement unit. + """ + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> str: + """ + The value. + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class GetReceivedLicenseIssuerResult(dict): + def __init__(__self__, *, + key_fingerprint: str, + name: str, + sign_key: str): + """ + :param str key_fingerprint: Issuer key fingerprint. + :param str name: The key name. + :param str sign_key: Asymmetric KMS key from AWS Key Management Service. The KMS key must have a key usage of sign and verify, and support the RSASSA-PSS SHA-256 signing algorithm. + """ + pulumi.set(__self__, "key_fingerprint", key_fingerprint) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "sign_key", sign_key) + + @property + @pulumi.getter(name="keyFingerprint") + def key_fingerprint(self) -> str: + """ + Issuer key fingerprint. + """ + return pulumi.get(self, "key_fingerprint") + + @property + @pulumi.getter + def name(self) -> str: + """ + The key name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="signKey") + def sign_key(self) -> str: + """ + Asymmetric KMS key from AWS Key Management Service. The KMS key must have a key usage of sign and verify, and support the RSASSA-PSS SHA-256 signing algorithm. + """ + return pulumi.get(self, "sign_key") + + +@pulumi.output_type +class GetReceivedLicenseLicenseMetadataResult(dict): + def __init__(__self__, *, + name: str, + value: str): + """ + :param str name: The key name. + :param str value: The value. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def name(self) -> str: + """ + The key name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def value(self) -> str: + """ + The value. + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class GetReceivedLicenseReceivedMetadataResult(dict): + def __init__(__self__, *, + allowed_operations: Sequence[str], + received_status: str, + received_status_reason: str): + """ + :param Sequence[str] allowed_operations: A list of allowed operations. + :param str received_status: Received status. + :param str received_status_reason: Received status reason. + """ + pulumi.set(__self__, "allowed_operations", allowed_operations) + pulumi.set(__self__, "received_status", received_status) + pulumi.set(__self__, "received_status_reason", received_status_reason) + + @property + @pulumi.getter(name="allowedOperations") + def allowed_operations(self) -> Sequence[str]: + """ + A list of allowed operations. + """ + return pulumi.get(self, "allowed_operations") + + @property + @pulumi.getter(name="receivedStatus") + def received_status(self) -> str: + """ + Received status. + """ + return pulumi.get(self, "received_status") + + @property + @pulumi.getter(name="receivedStatusReason") + def received_status_reason(self) -> str: + """ + Received status reason. + """ + return pulumi.get(self, "received_status_reason") + + +@pulumi.output_type +class GetReceivedLicenseValidityResult(dict): + def __init__(__self__, *, + begin: str, + end: str): + """ + :param str begin: Start of the validity time range. + :param str end: End of the validity time range. + """ + pulumi.set(__self__, "begin", begin) + pulumi.set(__self__, "end", end) + + @property + @pulumi.getter + def begin(self) -> str: + """ + Start of the validity time range. + """ + return pulumi.get(self, "begin") + + @property + @pulumi.getter + def end(self) -> str: + """ + End of the validity time range. + """ + return pulumi.get(self, "end") + + +@pulumi.output_type +class GetReceivedLicensesFilterResult(dict): + def __init__(__self__, *, + name: str, + values: Sequence[str]): + """ + :param str name: Name of the field to filter by, as defined by + [the underlying AWS API](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_ListReceivedLicenses.html#API_ListReceivedLicenses_RequestSyntax). + For example, if filtering using `ProductSKU`, use: + :param Sequence[str] values: Set of values that are accepted for the given field. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def name(self) -> str: + """ + Name of the field to filter by, as defined by + [the underlying AWS API](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_ListReceivedLicenses.html#API_ListReceivedLicenses_RequestSyntax). + For example, if filtering using `ProductSKU`, use: + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def values(self) -> Sequence[str]: + """ + Set of values that are accepted for the given field. + """ + return pulumi.get(self, "values") + + diff --git a/sdk/python/pulumi_aws/organizations/policy.py b/sdk/python/pulumi_aws/organizations/policy.py index b6f1d5d087c..f70c4b784b9 100644 --- a/sdk/python/pulumi_aws/organizations/policy.py +++ b/sdk/python/pulumi_aws/organizations/policy.py @@ -265,6 +265,20 @@ def __init__(__self__, """ Provides a resource to manage an [AWS Organizations policy](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies.html). + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + example_policy_document = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs( + effect="Allow", + actions=["*"], + resources=["*"], + )]) + example_policy = aws.organizations.Policy("examplePolicy", content=example_policy_document.json) + ``` + ## Import `aws_organizations_policy` can be imported by using the policy ID, e.g., @@ -291,6 +305,20 @@ def __init__(__self__, """ Provides a resource to manage an [AWS Organizations policy](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies.html). + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + example_policy_document = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs( + effect="Allow", + actions=["*"], + resources=["*"], + )]) + example_policy = aws.organizations.Policy("examplePolicy", content=example_policy_document.json) + ``` + ## Import `aws_organizations_policy` can be imported by using the policy ID, e.g., diff --git a/sdk/python/pulumi_aws/rds/_inputs.py b/sdk/python/pulumi_aws/rds/_inputs.py index 9aa47f027a1..8f8d48fd12c 100644 --- a/sdk/python/pulumi_aws/rds/_inputs.py +++ b/sdk/python/pulumi_aws/rds/_inputs.py @@ -18,6 +18,7 @@ 'ClusterServerlessv2ScalingConfigurationArgs', 'GlobalClusterGlobalClusterMemberArgs', 'InstanceBlueGreenUpdateArgs', + 'InstanceListenerEndpointArgs', 'InstanceRestoreToPointInTimeArgs', 'InstanceS3ImportArgs', 'OptionGroupOptionArgs', @@ -432,6 +433,61 @@ def enabled(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "enabled", value) +@pulumi.input_type +class InstanceListenerEndpointArgs: + def __init__(__self__, *, + address: Optional[pulumi.Input[str]] = None, + hosted_zone_id: Optional[pulumi.Input[str]] = None, + port: Optional[pulumi.Input[int]] = None): + """ + :param pulumi.Input[str] address: Specifies the DNS address of the DB instance. + :param pulumi.Input[str] hosted_zone_id: Specifies the ID that Amazon Route 53 assigns when you create a hosted zone. + :param pulumi.Input[int] port: The port on which the DB accepts connections. + """ + if address is not None: + pulumi.set(__self__, "address", address) + if hosted_zone_id is not None: + pulumi.set(__self__, "hosted_zone_id", hosted_zone_id) + if port is not None: + pulumi.set(__self__, "port", port) + + @property + @pulumi.getter + def address(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the DNS address of the DB instance. + """ + return pulumi.get(self, "address") + + @address.setter + def address(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "address", value) + + @property + @pulumi.getter(name="hostedZoneId") + def hosted_zone_id(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the ID that Amazon Route 53 assigns when you create a hosted zone. + """ + return pulumi.get(self, "hosted_zone_id") + + @hosted_zone_id.setter + def hosted_zone_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "hosted_zone_id", value) + + @property + @pulumi.getter + def port(self) -> Optional[pulumi.Input[int]]: + """ + The port on which the DB accepts connections. + """ + return pulumi.get(self, "port") + + @port.setter + def port(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "port", value) + + @pulumi.input_type class InstanceRestoreToPointInTimeArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws/rds/instance.py b/sdk/python/pulumi_aws/rds/instance.py index fb95aae445f..0ad8dd23b9d 100644 --- a/sdk/python/pulumi_aws/rds/instance.py +++ b/sdk/python/pulumi_aws/rds/instance.py @@ -1197,6 +1197,7 @@ def __init__(__self__, *, kms_key_id: Optional[pulumi.Input[str]] = None, latest_restorable_time: Optional[pulumi.Input[str]] = None, license_model: Optional[pulumi.Input[str]] = None, + listener_endpoints: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceListenerEndpointArgs']]]] = None, maintenance_window: Optional[pulumi.Input[str]] = None, max_allocated_storage: Optional[pulumi.Input[int]] = None, monitoring_interval: Optional[pulumi.Input[int]] = None, @@ -1233,7 +1234,7 @@ def __init__(__self__, *, vpc_security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): """ Input properties used for looking up and filtering Instance resources. - :param pulumi.Input[str] address: The hostname of the RDS instance. See also `endpoint` and `port`. + :param pulumi.Input[str] address: Specifies the DNS address of the DB instance. :param pulumi.Input[int] allocated_storage: The allocated storage in gibibytes. If `max_allocated_storage` is configured, this argument represents the initial storage allocation and differences from the configuration will be ignored automatically when Storage Autoscaling occurs. If `replicate_source_db` is set, the value is ignored during the creation of the instance. :param pulumi.Input[bool] allow_major_version_upgrade: Indicates that major version upgrades are allowed. Changing this parameter does not result in an outage and @@ -1294,8 +1295,7 @@ def __init__(__self__, *, :param pulumi.Input[str] final_snapshot_identifier: The name of your final DB snapshot when this DB instance is deleted. Must be provided if `skip_final_snapshot` is set to `false`. The value must begin with a letter, only contain alphanumeric characters and hyphens, and not end with a hyphen or contain two consecutive hyphens. Must not be provided when deleting a read replica. - :param pulumi.Input[str] hosted_zone_id: The canonical hosted zone ID of the DB instance (to be used - in a Route 53 Alias record). + :param pulumi.Input[str] hosted_zone_id: Specifies the ID that Amazon Route 53 assigns when you create a hosted zone. :param pulumi.Input[bool] iam_database_authentication_enabled: Specifies whether mappings of AWS Identity and Access Management (IAM) accounts to database accounts is enabled. :param pulumi.Input[str] identifier: The name of the RDS instance, @@ -1312,6 +1312,7 @@ def __init__(__self__, *, :param pulumi.Input[str] latest_restorable_time: The latest time, in UTC [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8), to which a database can be restored with point-in-time restore. :param pulumi.Input[str] license_model: (Optional, but required for some DB engines, i.e., Oracle SE1) License model information for this DB instance. + :param pulumi.Input[Sequence[pulumi.Input['InstanceListenerEndpointArgs']]] listener_endpoints: Specifies the listener connection endpoint for SQL Server Always On. See endpoint below. :param pulumi.Input[str] maintenance_window: The window to perform maintenance in. Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00". See [RDS Maintenance Window @@ -1463,6 +1464,8 @@ def __init__(__self__, *, pulumi.set(__self__, "latest_restorable_time", latest_restorable_time) if license_model is not None: pulumi.set(__self__, "license_model", license_model) + if listener_endpoints is not None: + pulumi.set(__self__, "listener_endpoints", listener_endpoints) if maintenance_window is not None: pulumi.set(__self__, "maintenance_window", maintenance_window) if max_allocated_storage is not None: @@ -1539,7 +1542,7 @@ def __init__(__self__, *, @pulumi.getter def address(self) -> Optional[pulumi.Input[str]]: """ - The hostname of the RDS instance. See also `endpoint` and `port`. + Specifies the DNS address of the DB instance. """ return pulumi.get(self, "address") @@ -1897,8 +1900,7 @@ def final_snapshot_identifier(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="hostedZoneId") def hosted_zone_id(self) -> Optional[pulumi.Input[str]]: """ - The canonical hosted zone ID of the DB instance (to be used - in a Route 53 Alias record). + Specifies the ID that Amazon Route 53 assigns when you create a hosted zone. """ return pulumi.get(self, "hosted_zone_id") @@ -2010,6 +2012,18 @@ def license_model(self) -> Optional[pulumi.Input[str]]: def license_model(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "license_model", value) + @property + @pulumi.getter(name="listenerEndpoints") + def listener_endpoints(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceListenerEndpointArgs']]]]: + """ + Specifies the listener connection endpoint for SQL Server Always On. See endpoint below. + """ + return pulumi.get(self, "listener_endpoints") + + @listener_endpoints.setter + def listener_endpoints(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceListenerEndpointArgs']]]]): + pulumi.set(self, "listener_endpoints", value) + @property @pulumi.getter(name="maintenanceWindow") def maintenance_window(self) -> Optional[pulumi.Input[str]]: @@ -2990,6 +3004,7 @@ def _internal_init(__self__, __props__.__dict__["engine_version_actual"] = None __props__.__dict__["hosted_zone_id"] = None __props__.__dict__["latest_restorable_time"] = None + __props__.__dict__["listener_endpoints"] = None __props__.__dict__["replicas"] = None __props__.__dict__["resource_id"] = None __props__.__dict__["status"] = None @@ -3042,6 +3057,7 @@ def get(resource_name: str, kms_key_id: Optional[pulumi.Input[str]] = None, latest_restorable_time: Optional[pulumi.Input[str]] = None, license_model: Optional[pulumi.Input[str]] = None, + listener_endpoints: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceListenerEndpointArgs']]]]] = None, maintenance_window: Optional[pulumi.Input[str]] = None, max_allocated_storage: Optional[pulumi.Input[int]] = None, monitoring_interval: Optional[pulumi.Input[int]] = None, @@ -3083,7 +3099,7 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] address: The hostname of the RDS instance. See also `endpoint` and `port`. + :param pulumi.Input[str] address: Specifies the DNS address of the DB instance. :param pulumi.Input[int] allocated_storage: The allocated storage in gibibytes. If `max_allocated_storage` is configured, this argument represents the initial storage allocation and differences from the configuration will be ignored automatically when Storage Autoscaling occurs. If `replicate_source_db` is set, the value is ignored during the creation of the instance. :param pulumi.Input[bool] allow_major_version_upgrade: Indicates that major version upgrades are allowed. Changing this parameter does not result in an outage and @@ -3144,8 +3160,7 @@ def get(resource_name: str, :param pulumi.Input[str] final_snapshot_identifier: The name of your final DB snapshot when this DB instance is deleted. Must be provided if `skip_final_snapshot` is set to `false`. The value must begin with a letter, only contain alphanumeric characters and hyphens, and not end with a hyphen or contain two consecutive hyphens. Must not be provided when deleting a read replica. - :param pulumi.Input[str] hosted_zone_id: The canonical hosted zone ID of the DB instance (to be used - in a Route 53 Alias record). + :param pulumi.Input[str] hosted_zone_id: Specifies the ID that Amazon Route 53 assigns when you create a hosted zone. :param pulumi.Input[bool] iam_database_authentication_enabled: Specifies whether mappings of AWS Identity and Access Management (IAM) accounts to database accounts is enabled. :param pulumi.Input[str] identifier: The name of the RDS instance, @@ -3162,6 +3177,7 @@ def get(resource_name: str, :param pulumi.Input[str] latest_restorable_time: The latest time, in UTC [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8), to which a database can be restored with point-in-time restore. :param pulumi.Input[str] license_model: (Optional, but required for some DB engines, i.e., Oracle SE1) License model information for this DB instance. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceListenerEndpointArgs']]]] listener_endpoints: Specifies the listener connection endpoint for SQL Server Always On. See endpoint below. :param pulumi.Input[str] maintenance_window: The window to perform maintenance in. Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00". See [RDS Maintenance Window @@ -3281,6 +3297,7 @@ def get(resource_name: str, __props__.__dict__["kms_key_id"] = kms_key_id __props__.__dict__["latest_restorable_time"] = latest_restorable_time __props__.__dict__["license_model"] = license_model + __props__.__dict__["listener_endpoints"] = listener_endpoints __props__.__dict__["maintenance_window"] = maintenance_window __props__.__dict__["max_allocated_storage"] = max_allocated_storage __props__.__dict__["monitoring_interval"] = monitoring_interval @@ -3321,7 +3338,7 @@ def get(resource_name: str, @pulumi.getter def address(self) -> pulumi.Output[str]: """ - The hostname of the RDS instance. See also `endpoint` and `port`. + Specifies the DNS address of the DB instance. """ return pulumi.get(self, "address") @@ -3571,8 +3588,7 @@ def final_snapshot_identifier(self) -> pulumi.Output[Optional[str]]: @pulumi.getter(name="hostedZoneId") def hosted_zone_id(self) -> pulumi.Output[str]: """ - The canonical hosted zone ID of the DB instance (to be used - in a Route 53 Alias record). + Specifies the ID that Amazon Route 53 assigns when you create a hosted zone. """ return pulumi.get(self, "hosted_zone_id") @@ -3648,6 +3664,14 @@ def license_model(self) -> pulumi.Output[str]: """ return pulumi.get(self, "license_model") + @property + @pulumi.getter(name="listenerEndpoints") + def listener_endpoints(self) -> pulumi.Output[Sequence['outputs.InstanceListenerEndpoint']]: + """ + Specifies the listener connection endpoint for SQL Server Always On. See endpoint below. + """ + return pulumi.get(self, "listener_endpoints") + @property @pulumi.getter(name="maintenanceWindow") def maintenance_window(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_aws/rds/outputs.py b/sdk/python/pulumi_aws/rds/outputs.py index 91ade8b7dc8..110d5cba1e3 100644 --- a/sdk/python/pulumi_aws/rds/outputs.py +++ b/sdk/python/pulumi_aws/rds/outputs.py @@ -19,6 +19,7 @@ 'ClusterServerlessv2ScalingConfiguration', 'GlobalClusterGlobalClusterMember', 'InstanceBlueGreenUpdate', + 'InstanceListenerEndpoint', 'InstanceRestoreToPointInTime', 'InstanceS3Import', 'OptionGroupOption', @@ -474,6 +475,66 @@ def enabled(self) -> Optional[bool]: return pulumi.get(self, "enabled") +@pulumi.output_type +class InstanceListenerEndpoint(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "hostedZoneId": + suggest = "hosted_zone_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in InstanceListenerEndpoint. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + InstanceListenerEndpoint.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + InstanceListenerEndpoint.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + address: Optional[str] = None, + hosted_zone_id: Optional[str] = None, + port: Optional[int] = None): + """ + :param str address: Specifies the DNS address of the DB instance. + :param str hosted_zone_id: Specifies the ID that Amazon Route 53 assigns when you create a hosted zone. + :param int port: The port on which the DB accepts connections. + """ + if address is not None: + pulumi.set(__self__, "address", address) + if hosted_zone_id is not None: + pulumi.set(__self__, "hosted_zone_id", hosted_zone_id) + if port is not None: + pulumi.set(__self__, "port", port) + + @property + @pulumi.getter + def address(self) -> Optional[str]: + """ + Specifies the DNS address of the DB instance. + """ + return pulumi.get(self, "address") + + @property + @pulumi.getter(name="hostedZoneId") + def hosted_zone_id(self) -> Optional[str]: + """ + Specifies the ID that Amazon Route 53 assigns when you create a hosted zone. + """ + return pulumi.get(self, "hosted_zone_id") + + @property + @pulumi.getter + def port(self) -> Optional[int]: + """ + The port on which the DB accepts connections. + """ + return pulumi.get(self, "port") + + @pulumi.output_type class InstanceRestoreToPointInTime(dict): @staticmethod diff --git a/sdk/python/pulumi_aws/rds/snapshot.py b/sdk/python/pulumi_aws/rds/snapshot.py index c50ce51f946..7ce922a31db 100644 --- a/sdk/python/pulumi_aws/rds/snapshot.py +++ b/sdk/python/pulumi_aws/rds/snapshot.py @@ -16,15 +16,19 @@ class SnapshotArgs: def __init__(__self__, *, db_instance_identifier: pulumi.Input[str], db_snapshot_identifier: pulumi.Input[str], + shared_accounts: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ The set of arguments for constructing a Snapshot resource. :param pulumi.Input[str] db_instance_identifier: The DB Instance Identifier from which to take the snapshot. :param pulumi.Input[str] db_snapshot_identifier: The Identifier for the snapshot. + :param pulumi.Input[Sequence[pulumi.Input[str]]] shared_accounts: List of AWS Account ids to share snapshot with, use `all` to make snaphot public. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] 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. """ pulumi.set(__self__, "db_instance_identifier", db_instance_identifier) pulumi.set(__self__, "db_snapshot_identifier", db_snapshot_identifier) + if shared_accounts is not None: + pulumi.set(__self__, "shared_accounts", shared_accounts) if tags is not None: pulumi.set(__self__, "tags", tags) @@ -52,6 +56,18 @@ def db_snapshot_identifier(self) -> pulumi.Input[str]: def db_snapshot_identifier(self, value: pulumi.Input[str]): pulumi.set(self, "db_snapshot_identifier", value) + @property + @pulumi.getter(name="sharedAccounts") + def shared_accounts(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of AWS Account ids to share snapshot with, use `all` to make snaphot public. + """ + return pulumi.get(self, "shared_accounts") + + @shared_accounts.setter + def shared_accounts(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "shared_accounts", value) + @property @pulumi.getter def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: @@ -81,6 +97,7 @@ def __init__(__self__, *, license_model: Optional[pulumi.Input[str]] = None, option_group_name: Optional[pulumi.Input[str]] = None, port: Optional[pulumi.Input[int]] = None, + shared_accounts: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, snapshot_type: Optional[pulumi.Input[str]] = None, source_db_snapshot_identifier: Optional[pulumi.Input[str]] = None, source_region: Optional[pulumi.Input[str]] = None, @@ -103,6 +120,7 @@ def __init__(__self__, *, :param pulumi.Input[str] kms_key_id: The ARN for the KMS encryption key. :param pulumi.Input[str] license_model: License model information for the restored DB instance. :param pulumi.Input[str] option_group_name: Provides the option group name for the DB snapshot. + :param pulumi.Input[Sequence[pulumi.Input[str]]] shared_accounts: List of AWS Account ids to share snapshot with, use `all` to make snaphot public. :param pulumi.Input[str] source_db_snapshot_identifier: The DB snapshot Arn that the DB snapshot was copied from. It only has value in case of cross customer or cross region copy. :param pulumi.Input[str] source_region: The region that the DB snapshot was created in or copied from. :param pulumi.Input[str] status: Specifies the status of this DB snapshot. @@ -137,6 +155,8 @@ def __init__(__self__, *, pulumi.set(__self__, "option_group_name", option_group_name) if port is not None: pulumi.set(__self__, "port", port) + if shared_accounts is not None: + pulumi.set(__self__, "shared_accounts", shared_accounts) if snapshot_type is not None: pulumi.set(__self__, "snapshot_type", snapshot_type) if source_db_snapshot_identifier is not None: @@ -307,6 +327,18 @@ def port(self) -> Optional[pulumi.Input[int]]: def port(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "port", value) + @property + @pulumi.getter(name="sharedAccounts") + def shared_accounts(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of AWS Account ids to share snapshot with, use `all` to make snaphot public. + """ + return pulumi.get(self, "shared_accounts") + + @shared_accounts.setter + def shared_accounts(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "shared_accounts", value) + @property @pulumi.getter(name="snapshotType") def snapshot_type(self) -> Optional[pulumi.Input[str]]: @@ -408,6 +440,7 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, db_instance_identifier: Optional[pulumi.Input[str]] = None, db_snapshot_identifier: Optional[pulumi.Input[str]] = None, + shared_accounts: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, __props__=None): """ @@ -447,6 +480,7 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] db_instance_identifier: The DB Instance Identifier from which to take the snapshot. :param pulumi.Input[str] db_snapshot_identifier: The Identifier for the snapshot. + :param pulumi.Input[Sequence[pulumi.Input[str]]] shared_accounts: List of AWS Account ids to share snapshot with, use `all` to make snaphot public. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] 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. """ ... @@ -505,6 +539,7 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, db_instance_identifier: Optional[pulumi.Input[str]] = None, db_snapshot_identifier: Optional[pulumi.Input[str]] = None, + shared_accounts: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -521,6 +556,7 @@ def _internal_init(__self__, if db_snapshot_identifier is None and not opts.urn: raise TypeError("Missing required property 'db_snapshot_identifier'") __props__.__dict__["db_snapshot_identifier"] = db_snapshot_identifier + __props__.__dict__["shared_accounts"] = shared_accounts __props__.__dict__["tags"] = tags __props__.__dict__["allocated_storage"] = None __props__.__dict__["availability_zone"] = None @@ -563,6 +599,7 @@ def get(resource_name: str, license_model: Optional[pulumi.Input[str]] = None, option_group_name: Optional[pulumi.Input[str]] = None, port: Optional[pulumi.Input[int]] = None, + shared_accounts: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, snapshot_type: Optional[pulumi.Input[str]] = None, source_db_snapshot_identifier: Optional[pulumi.Input[str]] = None, source_region: Optional[pulumi.Input[str]] = None, @@ -590,6 +627,7 @@ def get(resource_name: str, :param pulumi.Input[str] kms_key_id: The ARN for the KMS encryption key. :param pulumi.Input[str] license_model: License model information for the restored DB instance. :param pulumi.Input[str] option_group_name: Provides the option group name for the DB snapshot. + :param pulumi.Input[Sequence[pulumi.Input[str]]] shared_accounts: List of AWS Account ids to share snapshot with, use `all` to make snaphot public. :param pulumi.Input[str] source_db_snapshot_identifier: The DB snapshot Arn that the DB snapshot was copied from. It only has value in case of cross customer or cross region copy. :param pulumi.Input[str] source_region: The region that the DB snapshot was created in or copied from. :param pulumi.Input[str] status: Specifies the status of this DB snapshot. @@ -615,6 +653,7 @@ def get(resource_name: str, __props__.__dict__["license_model"] = license_model __props__.__dict__["option_group_name"] = option_group_name __props__.__dict__["port"] = port + __props__.__dict__["shared_accounts"] = shared_accounts __props__.__dict__["snapshot_type"] = snapshot_type __props__.__dict__["source_db_snapshot_identifier"] = source_db_snapshot_identifier __props__.__dict__["source_region"] = source_region @@ -726,6 +765,14 @@ def option_group_name(self) -> pulumi.Output[str]: def port(self) -> pulumi.Output[int]: return pulumi.get(self, "port") + @property + @pulumi.getter(name="sharedAccounts") + def shared_accounts(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + List of AWS Account ids to share snapshot with, use `all` to make snaphot public. + """ + return pulumi.get(self, "shared_accounts") + @property @pulumi.getter(name="snapshotType") def snapshot_type(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_aws/redshift/__init__.py b/sdk/python/pulumi_aws/redshift/__init__.py index 17ddb6619eb..aa721c68415 100644 --- a/sdk/python/pulumi_aws/redshift/__init__.py +++ b/sdk/python/pulumi_aws/redshift/__init__.py @@ -8,6 +8,7 @@ from .authentication_profile import * from .cluster import * from .cluster_iam_roles import * +from .cluster_snapshot import * from .endpoint_access import * from .endpoint_authorization import * from .event_subscription import * diff --git a/sdk/python/pulumi_aws/redshift/cluster_snapshot.py b/sdk/python/pulumi_aws/redshift/cluster_snapshot.py new file mode 100644 index 00000000000..4d87b83a299 --- /dev/null +++ b/sdk/python/pulumi_aws/redshift/cluster_snapshot.py @@ -0,0 +1,416 @@ +# coding=utf-8 +# *** 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! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities + +__all__ = ['ClusterSnapshotArgs', 'ClusterSnapshot'] + +@pulumi.input_type +class ClusterSnapshotArgs: + def __init__(__self__, *, + cluster_identifier: pulumi.Input[str], + snapshot_identifier: pulumi.Input[str], + manual_snapshot_retention_period: Optional[pulumi.Input[int]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a ClusterSnapshot resource. + :param pulumi.Input[str] cluster_identifier: The cluster identifier for which you want a snapshot. + :param pulumi.Input[str] snapshot_identifier: A unique identifier for the snapshot that you are requesting. This identifier must be unique for all snapshots within the Amazon Web Services account. + :param pulumi.Input[int] manual_snapshot_retention_period: The number of days that a manual snapshot is retained. If the value is `-1`, the manual snapshot is retained indefinitely. Valid values are -1 and between `1` and `3653`. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] 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. + """ + pulumi.set(__self__, "cluster_identifier", cluster_identifier) + pulumi.set(__self__, "snapshot_identifier", snapshot_identifier) + if manual_snapshot_retention_period is not None: + pulumi.set(__self__, "manual_snapshot_retention_period", manual_snapshot_retention_period) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="clusterIdentifier") + def cluster_identifier(self) -> pulumi.Input[str]: + """ + The cluster identifier for which you want a snapshot. + """ + return pulumi.get(self, "cluster_identifier") + + @cluster_identifier.setter + def cluster_identifier(self, value: pulumi.Input[str]): + pulumi.set(self, "cluster_identifier", value) + + @property + @pulumi.getter(name="snapshotIdentifier") + def snapshot_identifier(self) -> pulumi.Input[str]: + """ + A unique identifier for the snapshot that you are requesting. This identifier must be unique for all snapshots within the Amazon Web Services account. + """ + return pulumi.get(self, "snapshot_identifier") + + @snapshot_identifier.setter + def snapshot_identifier(self, value: pulumi.Input[str]): + pulumi.set(self, "snapshot_identifier", value) + + @property + @pulumi.getter(name="manualSnapshotRetentionPeriod") + def manual_snapshot_retention_period(self) -> Optional[pulumi.Input[int]]: + """ + The number of days that a manual snapshot is retained. If the value is `-1`, the manual snapshot is retained indefinitely. Valid values are -1 and between `1` and `3653`. + """ + return pulumi.get(self, "manual_snapshot_retention_period") + + @manual_snapshot_retention_period.setter + def manual_snapshot_retention_period(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "manual_snapshot_retention_period", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + 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. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + +@pulumi.input_type +class _ClusterSnapshotState: + def __init__(__self__, *, + arn: Optional[pulumi.Input[str]] = None, + cluster_identifier: Optional[pulumi.Input[str]] = None, + kms_key_id: Optional[pulumi.Input[str]] = None, + manual_snapshot_retention_period: Optional[pulumi.Input[int]] = None, + owner_account: Optional[pulumi.Input[str]] = None, + snapshot_identifier: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + Input properties used for looking up and filtering ClusterSnapshot resources. + :param pulumi.Input[str] arn: Amazon Resource Name (ARN) of the snapshot. + :param pulumi.Input[str] cluster_identifier: The cluster identifier for which you want a snapshot. + :param pulumi.Input[str] kms_key_id: The Key Management Service (KMS) key ID of the encryption key that was used to encrypt data in the cluster from which the snapshot was taken. + :param pulumi.Input[int] manual_snapshot_retention_period: The number of days that a manual snapshot is retained. If the value is `-1`, the manual snapshot is retained indefinitely. Valid values are -1 and between `1` and `3653`. + :param pulumi.Input[str] owner_account: For manual snapshots, the Amazon Web Services account used to create or copy the snapshot. For automatic snapshots, the owner of the cluster. The owner can perform all snapshot actions, such as sharing a manual snapshot. + :param pulumi.Input[str] snapshot_identifier: A unique identifier for the snapshot that you are requesting. This identifier must be unique for all snapshots within the Amazon Web Services account. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] 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. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + if arn is not None: + pulumi.set(__self__, "arn", arn) + if cluster_identifier is not None: + pulumi.set(__self__, "cluster_identifier", cluster_identifier) + if kms_key_id is not None: + pulumi.set(__self__, "kms_key_id", kms_key_id) + if manual_snapshot_retention_period is not None: + pulumi.set(__self__, "manual_snapshot_retention_period", manual_snapshot_retention_period) + if owner_account is not None: + pulumi.set(__self__, "owner_account", owner_account) + if snapshot_identifier is not None: + pulumi.set(__self__, "snapshot_identifier", snapshot_identifier) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) + + @property + @pulumi.getter + def arn(self) -> Optional[pulumi.Input[str]]: + """ + Amazon Resource Name (ARN) of the snapshot. + """ + return pulumi.get(self, "arn") + + @arn.setter + def arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "arn", value) + + @property + @pulumi.getter(name="clusterIdentifier") + def cluster_identifier(self) -> Optional[pulumi.Input[str]]: + """ + The cluster identifier for which you want a snapshot. + """ + return pulumi.get(self, "cluster_identifier") + + @cluster_identifier.setter + def cluster_identifier(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cluster_identifier", value) + + @property + @pulumi.getter(name="kmsKeyId") + def kms_key_id(self) -> Optional[pulumi.Input[str]]: + """ + The Key Management Service (KMS) key ID of the encryption key that was used to encrypt data in the cluster from which the snapshot was taken. + """ + return pulumi.get(self, "kms_key_id") + + @kms_key_id.setter + def kms_key_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "kms_key_id", value) + + @property + @pulumi.getter(name="manualSnapshotRetentionPeriod") + def manual_snapshot_retention_period(self) -> Optional[pulumi.Input[int]]: + """ + The number of days that a manual snapshot is retained. If the value is `-1`, the manual snapshot is retained indefinitely. Valid values are -1 and between `1` and `3653`. + """ + return pulumi.get(self, "manual_snapshot_retention_period") + + @manual_snapshot_retention_period.setter + def manual_snapshot_retention_period(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "manual_snapshot_retention_period", value) + + @property + @pulumi.getter(name="ownerAccount") + def owner_account(self) -> Optional[pulumi.Input[str]]: + """ + For manual snapshots, the Amazon Web Services account used to create or copy the snapshot. For automatic snapshots, the owner of the cluster. The owner can perform all snapshot actions, such as sharing a manual snapshot. + """ + return pulumi.get(self, "owner_account") + + @owner_account.setter + def owner_account(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "owner_account", value) + + @property + @pulumi.getter(name="snapshotIdentifier") + def snapshot_identifier(self) -> Optional[pulumi.Input[str]]: + """ + A unique identifier for the snapshot that you are requesting. This identifier must be unique for all snapshots within the Amazon Web Services account. + """ + return pulumi.get(self, "snapshot_identifier") + + @snapshot_identifier.setter + def snapshot_identifier(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "snapshot_identifier", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + 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. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + + +class ClusterSnapshot(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + cluster_identifier: Optional[pulumi.Input[str]] = None, + manual_snapshot_retention_period: Optional[pulumi.Input[int]] = None, + snapshot_identifier: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + """ + Creates a Redshift cluster snapshot + + ## Import + + Redshift Cluster Snapshots support import by `snapshot_identifier`, e.g., console + + ```sh + $ pulumi import aws:redshift/clusterSnapshot:ClusterSnapshot test example + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] cluster_identifier: The cluster identifier for which you want a snapshot. + :param pulumi.Input[int] manual_snapshot_retention_period: The number of days that a manual snapshot is retained. If the value is `-1`, the manual snapshot is retained indefinitely. Valid values are -1 and between `1` and `3653`. + :param pulumi.Input[str] snapshot_identifier: A unique identifier for the snapshot that you are requesting. This identifier must be unique for all snapshots within the Amazon Web Services account. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] 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. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ClusterSnapshotArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Creates a Redshift cluster snapshot + + ## Import + + Redshift Cluster Snapshots support import by `snapshot_identifier`, e.g., console + + ```sh + $ pulumi import aws:redshift/clusterSnapshot:ClusterSnapshot test example + ``` + + :param str resource_name: The name of the resource. + :param ClusterSnapshotArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(ClusterSnapshotArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + cluster_identifier: Optional[pulumi.Input[str]] = None, + manual_snapshot_retention_period: Optional[pulumi.Input[int]] = None, + snapshot_identifier: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = ClusterSnapshotArgs.__new__(ClusterSnapshotArgs) + + if cluster_identifier is None and not opts.urn: + raise TypeError("Missing required property 'cluster_identifier'") + __props__.__dict__["cluster_identifier"] = cluster_identifier + __props__.__dict__["manual_snapshot_retention_period"] = manual_snapshot_retention_period + if snapshot_identifier is None and not opts.urn: + raise TypeError("Missing required property 'snapshot_identifier'") + __props__.__dict__["snapshot_identifier"] = snapshot_identifier + __props__.__dict__["tags"] = tags + __props__.__dict__["arn"] = None + __props__.__dict__["kms_key_id"] = None + __props__.__dict__["owner_account"] = None + __props__.__dict__["tags_all"] = None + super(ClusterSnapshot, __self__).__init__( + 'aws:redshift/clusterSnapshot:ClusterSnapshot', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + arn: Optional[pulumi.Input[str]] = None, + cluster_identifier: Optional[pulumi.Input[str]] = None, + kms_key_id: Optional[pulumi.Input[str]] = None, + manual_snapshot_retention_period: Optional[pulumi.Input[int]] = None, + owner_account: Optional[pulumi.Input[str]] = None, + snapshot_identifier: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None) -> 'ClusterSnapshot': + """ + Get an existing ClusterSnapshot resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] arn: Amazon Resource Name (ARN) of the snapshot. + :param pulumi.Input[str] cluster_identifier: The cluster identifier for which you want a snapshot. + :param pulumi.Input[str] kms_key_id: The Key Management Service (KMS) key ID of the encryption key that was used to encrypt data in the cluster from which the snapshot was taken. + :param pulumi.Input[int] manual_snapshot_retention_period: The number of days that a manual snapshot is retained. If the value is `-1`, the manual snapshot is retained indefinitely. Valid values are -1 and between `1` and `3653`. + :param pulumi.Input[str] owner_account: For manual snapshots, the Amazon Web Services account used to create or copy the snapshot. For automatic snapshots, the owner of the cluster. The owner can perform all snapshot actions, such as sharing a manual snapshot. + :param pulumi.Input[str] snapshot_identifier: A unique identifier for the snapshot that you are requesting. This identifier must be unique for all snapshots within the Amazon Web Services account. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] 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. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _ClusterSnapshotState.__new__(_ClusterSnapshotState) + + __props__.__dict__["arn"] = arn + __props__.__dict__["cluster_identifier"] = cluster_identifier + __props__.__dict__["kms_key_id"] = kms_key_id + __props__.__dict__["manual_snapshot_retention_period"] = manual_snapshot_retention_period + __props__.__dict__["owner_account"] = owner_account + __props__.__dict__["snapshot_identifier"] = snapshot_identifier + __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all + return ClusterSnapshot(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + """ + Amazon Resource Name (ARN) of the snapshot. + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="clusterIdentifier") + def cluster_identifier(self) -> pulumi.Output[str]: + """ + The cluster identifier for which you want a snapshot. + """ + return pulumi.get(self, "cluster_identifier") + + @property + @pulumi.getter(name="kmsKeyId") + def kms_key_id(self) -> pulumi.Output[str]: + """ + The Key Management Service (KMS) key ID of the encryption key that was used to encrypt data in the cluster from which the snapshot was taken. + """ + return pulumi.get(self, "kms_key_id") + + @property + @pulumi.getter(name="manualSnapshotRetentionPeriod") + def manual_snapshot_retention_period(self) -> pulumi.Output[Optional[int]]: + """ + The number of days that a manual snapshot is retained. If the value is `-1`, the manual snapshot is retained indefinitely. Valid values are -1 and between `1` and `3653`. + """ + return pulumi.get(self, "manual_snapshot_retention_period") + + @property + @pulumi.getter(name="ownerAccount") + def owner_account(self) -> pulumi.Output[str]: + """ + For manual snapshots, the Amazon Web Services account used to create or copy the snapshot. For automatic snapshots, the owner of the cluster. The owner can perform all snapshot actions, such as sharing a manual snapshot. + """ + return pulumi.get(self, "owner_account") + + @property + @pulumi.getter(name="snapshotIdentifier") + def snapshot_identifier(self) -> pulumi.Output[str]: + """ + A unique identifier for the snapshot that you are requesting. This identifier must be unique for all snapshots within the Amazon Web Services account. + """ + return pulumi.get(self, "snapshot_identifier") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + 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. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> pulumi.Output[Mapping[str, str]]: + """ + A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags_all") + diff --git a/sdk/python/pulumi_aws/redshiftserverless/namespace.py b/sdk/python/pulumi_aws/redshiftserverless/namespace.py index 88283456c20..6d728b07f9b 100644 --- a/sdk/python/pulumi_aws/redshiftserverless/namespace.py +++ b/sdk/python/pulumi_aws/redshiftserverless/namespace.py @@ -29,7 +29,7 @@ def __init__(__self__, *, :param pulumi.Input[str] admin_user_password: The password of the administrator for the first database created in the namespace. :param pulumi.Input[str] admin_username: The username of the administrator for the first database created in the namespace. :param pulumi.Input[str] db_name: The name of the first database created in the namespace. - :param pulumi.Input[str] default_iam_role_arn: The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. + :param pulumi.Input[str] default_iam_role_arn: The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. When specifying `default_iam_role_arn`, it also must be part of `iam_roles`. :param pulumi.Input[Sequence[pulumi.Input[str]]] iam_roles: A list of IAM roles to associate with the namespace. :param pulumi.Input[str] kms_key_id: The ARN of the Amazon Web Services Key Management Service key used to encrypt your data. :param pulumi.Input[Sequence[pulumi.Input[str]]] log_exports: The types of logs the namespace can export. Available export types are `userlog`, `connectionlog`, and `useractivitylog`. @@ -105,7 +105,7 @@ def db_name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="defaultIamRoleArn") def default_iam_role_arn(self) -> Optional[pulumi.Input[str]]: """ - The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. + The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. When specifying `default_iam_role_arn`, it also must be part of `iam_roles`. """ return pulumi.get(self, "default_iam_role_arn") @@ -183,7 +183,7 @@ def __init__(__self__, *, :param pulumi.Input[str] admin_username: The username of the administrator for the first database created in the namespace. :param pulumi.Input[str] arn: Amazon Resource Name (ARN) of the Redshift Serverless Namespace. :param pulumi.Input[str] db_name: The name of the first database created in the namespace. - :param pulumi.Input[str] default_iam_role_arn: The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. + :param pulumi.Input[str] default_iam_role_arn: The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. When specifying `default_iam_role_arn`, it also must be part of `iam_roles`. :param pulumi.Input[Sequence[pulumi.Input[str]]] iam_roles: A list of IAM roles to associate with the namespace. :param pulumi.Input[str] kms_key_id: The ARN of the Amazon Web Services Key Management Service key used to encrypt your data. :param pulumi.Input[Sequence[pulumi.Input[str]]] log_exports: The types of logs the namespace can export. Available export types are `userlog`, `connectionlog`, and `useractivitylog`. @@ -269,7 +269,7 @@ def db_name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="defaultIamRoleArn") def default_iam_role_arn(self) -> Optional[pulumi.Input[str]]: """ - The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. + The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. When specifying `default_iam_role_arn`, it also must be part of `iam_roles`. """ return pulumi.get(self, "default_iam_role_arn") @@ -402,7 +402,7 @@ def __init__(__self__, :param pulumi.Input[str] admin_user_password: The password of the administrator for the first database created in the namespace. :param pulumi.Input[str] admin_username: The username of the administrator for the first database created in the namespace. :param pulumi.Input[str] db_name: The name of the first database created in the namespace. - :param pulumi.Input[str] default_iam_role_arn: The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. + :param pulumi.Input[str] default_iam_role_arn: The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. When specifying `default_iam_role_arn`, it also must be part of `iam_roles`. :param pulumi.Input[Sequence[pulumi.Input[str]]] iam_roles: A list of IAM roles to associate with the namespace. :param pulumi.Input[str] kms_key_id: The ARN of the Amazon Web Services Key Management Service key used to encrypt your data. :param pulumi.Input[Sequence[pulumi.Input[str]]] log_exports: The types of logs the namespace can export. Available export types are `userlog`, `connectionlog`, and `useractivitylog`. @@ -517,7 +517,7 @@ def get(resource_name: str, :param pulumi.Input[str] admin_username: The username of the administrator for the first database created in the namespace. :param pulumi.Input[str] arn: Amazon Resource Name (ARN) of the Redshift Serverless Namespace. :param pulumi.Input[str] db_name: The name of the first database created in the namespace. - :param pulumi.Input[str] default_iam_role_arn: The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. + :param pulumi.Input[str] default_iam_role_arn: The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. When specifying `default_iam_role_arn`, it also must be part of `iam_roles`. :param pulumi.Input[Sequence[pulumi.Input[str]]] iam_roles: A list of IAM roles to associate with the namespace. :param pulumi.Input[str] kms_key_id: The ARN of the Amazon Web Services Key Management Service key used to encrypt your data. :param pulumi.Input[Sequence[pulumi.Input[str]]] log_exports: The types of logs the namespace can export. Available export types are `userlog`, `connectionlog`, and `useractivitylog`. @@ -580,7 +580,7 @@ def db_name(self) -> pulumi.Output[str]: @pulumi.getter(name="defaultIamRoleArn") def default_iam_role_arn(self) -> pulumi.Output[Optional[str]]: """ - The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. + The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. When specifying `default_iam_role_arn`, it also must be part of `iam_roles`. """ return pulumi.get(self, "default_iam_role_arn") diff --git a/sdk/python/pulumi_aws/route53/hosted_zone_dns_sec.py b/sdk/python/pulumi_aws/route53/hosted_zone_dns_sec.py index c7cf2639d33..5cd990a06f4 100644 --- a/sdk/python/pulumi_aws/route53/hosted_zone_dns_sec.py +++ b/sdk/python/pulumi_aws/route53/hosted_zone_dns_sec.py @@ -122,35 +122,14 @@ def __init__(__self__, "kms:DescribeKey", "kms:GetPublicKey", "kms:Sign", + "kms:Verify", ], "Effect": "Allow", "Principal": { "Service": "dnssec-route53.amazonaws.com", }, - "Sid": "Allow Route 53 DNSSEC Service", "Resource": "*", - "Condition": { - "StringEquals": { - "aws:SourceAccount": current.account_id, - }, - "ArnLike": { - "aws:SourceArn": "arn:aws:route53:::hostedzone/*", - }, - }, - }, - { - "Action": "kms:CreateGrant", - "Effect": "Allow", - "Principal": { - "Service": "dnssec-route53.amazonaws.com", - }, - "Sid": "Allow Route 53 DNSSEC Service to CreateGrant", - "Resource": "*", - "Condition": { - "Bool": { - "kms:GrantIsForAWSResource": "true", - }, - }, + "Sid": "Allow Route 53 DNSSEC Service", }, { "Action": "kms:*", @@ -215,35 +194,14 @@ def __init__(__self__, "kms:DescribeKey", "kms:GetPublicKey", "kms:Sign", + "kms:Verify", ], "Effect": "Allow", "Principal": { "Service": "dnssec-route53.amazonaws.com", }, - "Sid": "Allow Route 53 DNSSEC Service", "Resource": "*", - "Condition": { - "StringEquals": { - "aws:SourceAccount": current.account_id, - }, - "ArnLike": { - "aws:SourceArn": "arn:aws:route53:::hostedzone/*", - }, - }, - }, - { - "Action": "kms:CreateGrant", - "Effect": "Allow", - "Principal": { - "Service": "dnssec-route53.amazonaws.com", - }, - "Sid": "Allow Route 53 DNSSEC Service to CreateGrant", - "Resource": "*", - "Condition": { - "Bool": { - "kms:GrantIsForAWSResource": "true", - }, - }, + "Sid": "Allow Route 53 DNSSEC Service", }, { "Action": "kms:*", diff --git a/sdk/python/pulumi_aws/sagemaker/domain.py b/sdk/python/pulumi_aws/sagemaker/domain.py index 1a06696beb9..77ad8509b86 100644 --- a/sdk/python/pulumi_aws/sagemaker/domain.py +++ b/sdk/python/pulumi_aws/sagemaker/domain.py @@ -35,7 +35,7 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[str]]] subnet_ids: The VPC subnets that Studio uses for communication. :param pulumi.Input[str] vpc_id: The ID of the Amazon Virtual Private Cloud (VPC) that Studio uses for communication. :param pulumi.Input[str] app_network_access_type: Specifies the VPC used for non-EFS traffic. The default value is `PublicInternetOnly`. Valid values are `PublicInternetOnly` and `VpcOnly`. - :param pulumi.Input[str] app_security_group_management: The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`.* `domain_settings` - (Optional) The domain settings. See Domain Settings below. + :param pulumi.Input[str] app_security_group_management: The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`. :param pulumi.Input['DomainDefaultSpaceSettingsArgs'] default_space_settings: The default space settings. See Default Space Settings below. :param pulumi.Input['DomainDomainSettingsArgs'] domain_settings: The domain's settings. :param pulumi.Input[str] kms_key_id: The AWS KMS customer managed CMK used to encrypt the EFS volume attached to the domain. @@ -135,7 +135,7 @@ def app_network_access_type(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="appSecurityGroupManagement") def app_security_group_management(self) -> Optional[pulumi.Input[str]]: """ - The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`.* `domain_settings` - (Optional) The domain settings. See Domain Settings below. + The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`. """ return pulumi.get(self, "app_security_group_management") @@ -228,7 +228,7 @@ def __init__(__self__, *, """ Input properties used for looking up and filtering Domain resources. :param pulumi.Input[str] app_network_access_type: Specifies the VPC used for non-EFS traffic. The default value is `PublicInternetOnly`. Valid values are `PublicInternetOnly` and `VpcOnly`. - :param pulumi.Input[str] app_security_group_management: The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`.* `domain_settings` - (Optional) The domain settings. See Domain Settings below. + :param pulumi.Input[str] app_security_group_management: The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`. :param pulumi.Input[str] arn: The Amazon Resource Name (ARN) assigned by AWS to this Domain. :param pulumi.Input[str] auth_mode: The mode of authentication that members use to access the domain. Valid values are `IAM` and `SSO`. :param pulumi.Input['DomainDefaultSpaceSettingsArgs'] default_space_settings: The default space settings. See Default Space Settings below. @@ -298,7 +298,7 @@ def app_network_access_type(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="appSecurityGroupManagement") def app_security_group_management(self) -> Optional[pulumi.Input[str]]: """ - The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`.* `domain_settings` - (Optional) The domain settings. See Domain Settings below. + The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`. """ return pulumi.get(self, "app_security_group_management") @@ -589,7 +589,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] app_network_access_type: Specifies the VPC used for non-EFS traffic. The default value is `PublicInternetOnly`. Valid values are `PublicInternetOnly` and `VpcOnly`. - :param pulumi.Input[str] app_security_group_management: The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`.* `domain_settings` - (Optional) The domain settings. See Domain Settings below. + :param pulumi.Input[str] app_security_group_management: The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`. :param pulumi.Input[str] auth_mode: The mode of authentication that members use to access the domain. Valid values are `IAM` and `SSO`. :param pulumi.Input[pulumi.InputType['DomainDefaultSpaceSettingsArgs']] default_space_settings: The default space settings. See Default Space Settings below. :param pulumi.Input[pulumi.InputType['DomainDefaultUserSettingsArgs']] default_user_settings: The default user settings. See Default User Settings below.* `domain_name` - (Required) The domain name. @@ -778,7 +778,7 @@ def get(resource_name: str, :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] app_network_access_type: Specifies the VPC used for non-EFS traffic. The default value is `PublicInternetOnly`. Valid values are `PublicInternetOnly` and `VpcOnly`. - :param pulumi.Input[str] app_security_group_management: The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`.* `domain_settings` - (Optional) The domain settings. See Domain Settings below. + :param pulumi.Input[str] app_security_group_management: The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`. :param pulumi.Input[str] arn: The Amazon Resource Name (ARN) assigned by AWS to this Domain. :param pulumi.Input[str] auth_mode: The mode of authentication that members use to access the domain. Valid values are `IAM` and `SSO`. :param pulumi.Input[pulumi.InputType['DomainDefaultSpaceSettingsArgs']] default_space_settings: The default space settings. See Default Space Settings below. @@ -831,7 +831,7 @@ def app_network_access_type(self) -> pulumi.Output[Optional[str]]: @pulumi.getter(name="appSecurityGroupManagement") def app_security_group_management(self) -> pulumi.Output[Optional[str]]: """ - The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`.* `domain_settings` - (Optional) The domain settings. See Domain Settings below. + The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`. """ return pulumi.get(self, "app_security_group_management") diff --git a/sdk/python/pulumi_aws/sesv2/_inputs.py b/sdk/python/pulumi_aws/sesv2/_inputs.py index 5d7e85d6ad3..61118243ec1 100644 --- a/sdk/python/pulumi_aws/sesv2/_inputs.py +++ b/sdk/python/pulumi_aws/sesv2/_inputs.py @@ -21,6 +21,9 @@ 'ConfigurationSetSendingOptionsArgs', 'ConfigurationSetSuppressionOptionsArgs', 'ConfigurationSetTrackingOptionsArgs', + 'ConfigurationSetVdmOptionsArgs', + 'ConfigurationSetVdmOptionsDashboardOptionsArgs', + 'ConfigurationSetVdmOptionsGuardianOptionsArgs', 'EmailIdentityDkimSigningAttributesArgs', ] @@ -419,6 +422,91 @@ def custom_redirect_domain(self, value: pulumi.Input[str]): pulumi.set(self, "custom_redirect_domain", value) +@pulumi.input_type +class ConfigurationSetVdmOptionsArgs: + def __init__(__self__, *, + dashboard_options: Optional[pulumi.Input['ConfigurationSetVdmOptionsDashboardOptionsArgs']] = None, + guardian_options: Optional[pulumi.Input['ConfigurationSetVdmOptionsGuardianOptionsArgs']] = None): + """ + :param pulumi.Input['ConfigurationSetVdmOptionsDashboardOptionsArgs'] dashboard_options: Specifies additional settings for your VDM configuration as applicable to the Dashboard. + :param pulumi.Input['ConfigurationSetVdmOptionsGuardianOptionsArgs'] guardian_options: Specifies additional settings for your VDM configuration as applicable to the Guardian. + """ + if dashboard_options is not None: + pulumi.set(__self__, "dashboard_options", dashboard_options) + if guardian_options is not None: + pulumi.set(__self__, "guardian_options", guardian_options) + + @property + @pulumi.getter(name="dashboardOptions") + def dashboard_options(self) -> Optional[pulumi.Input['ConfigurationSetVdmOptionsDashboardOptionsArgs']]: + """ + Specifies additional settings for your VDM configuration as applicable to the Dashboard. + """ + return pulumi.get(self, "dashboard_options") + + @dashboard_options.setter + def dashboard_options(self, value: Optional[pulumi.Input['ConfigurationSetVdmOptionsDashboardOptionsArgs']]): + pulumi.set(self, "dashboard_options", value) + + @property + @pulumi.getter(name="guardianOptions") + def guardian_options(self) -> Optional[pulumi.Input['ConfigurationSetVdmOptionsGuardianOptionsArgs']]: + """ + Specifies additional settings for your VDM configuration as applicable to the Guardian. + """ + return pulumi.get(self, "guardian_options") + + @guardian_options.setter + def guardian_options(self, value: Optional[pulumi.Input['ConfigurationSetVdmOptionsGuardianOptionsArgs']]): + pulumi.set(self, "guardian_options", value) + + +@pulumi.input_type +class ConfigurationSetVdmOptionsDashboardOptionsArgs: + def __init__(__self__, *, + engagement_metrics: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] engagement_metrics: Specifies the status of your VDM engagement metrics collection. Valid values: `ENABLED`, `DISABLED`. + """ + if engagement_metrics is not None: + pulumi.set(__self__, "engagement_metrics", engagement_metrics) + + @property + @pulumi.getter(name="engagementMetrics") + def engagement_metrics(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the status of your VDM engagement metrics collection. Valid values: `ENABLED`, `DISABLED`. + """ + return pulumi.get(self, "engagement_metrics") + + @engagement_metrics.setter + def engagement_metrics(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "engagement_metrics", value) + + +@pulumi.input_type +class ConfigurationSetVdmOptionsGuardianOptionsArgs: + def __init__(__self__, *, + optimized_shared_delivery: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] optimized_shared_delivery: Specifies the status of your VDM optimized shared delivery. Valid values: `ENABLED`, `DISABLED`. + """ + if optimized_shared_delivery is not None: + pulumi.set(__self__, "optimized_shared_delivery", optimized_shared_delivery) + + @property + @pulumi.getter(name="optimizedSharedDelivery") + def optimized_shared_delivery(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the status of your VDM optimized shared delivery. Valid values: `ENABLED`, `DISABLED`. + """ + return pulumi.get(self, "optimized_shared_delivery") + + @optimized_shared_delivery.setter + def optimized_shared_delivery(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "optimized_shared_delivery", value) + + @pulumi.input_type class EmailIdentityDkimSigningAttributesArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws/sesv2/configuration_set.py b/sdk/python/pulumi_aws/sesv2/configuration_set.py index b23654ea189..04b256b7674 100644 --- a/sdk/python/pulumi_aws/sesv2/configuration_set.py +++ b/sdk/python/pulumi_aws/sesv2/configuration_set.py @@ -22,7 +22,8 @@ def __init__(__self__, *, sending_options: Optional[pulumi.Input['ConfigurationSetSendingOptionsArgs']] = None, suppression_options: Optional[pulumi.Input['ConfigurationSetSuppressionOptionsArgs']] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - tracking_options: Optional[pulumi.Input['ConfigurationSetTrackingOptionsArgs']] = None): + tracking_options: Optional[pulumi.Input['ConfigurationSetTrackingOptionsArgs']] = None, + vdm_options: Optional[pulumi.Input['ConfigurationSetVdmOptionsArgs']] = None): """ The set of arguments for constructing a ConfigurationSet resource. :param pulumi.Input[str] configuration_set_name: The name of the configuration set. @@ -32,6 +33,7 @@ def __init__(__self__, *, :param pulumi.Input['ConfigurationSetSuppressionOptionsArgs'] suppression_options: An object that contains information about the suppression list preferences for your account. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the service. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input['ConfigurationSetTrackingOptionsArgs'] tracking_options: An object that defines the open and click tracking options for emails that you send using the configuration set. + :param pulumi.Input['ConfigurationSetVdmOptionsArgs'] vdm_options: An object that defines the VDM settings that apply to emails that you send using the configuration set. """ pulumi.set(__self__, "configuration_set_name", configuration_set_name) if delivery_options is not None: @@ -46,6 +48,8 @@ def __init__(__self__, *, pulumi.set(__self__, "tags", tags) if tracking_options is not None: pulumi.set(__self__, "tracking_options", tracking_options) + if vdm_options is not None: + pulumi.set(__self__, "vdm_options", vdm_options) @property @pulumi.getter(name="configurationSetName") @@ -131,6 +135,18 @@ def tracking_options(self) -> Optional[pulumi.Input['ConfigurationSetTrackingOpt def tracking_options(self, value: Optional[pulumi.Input['ConfigurationSetTrackingOptionsArgs']]): pulumi.set(self, "tracking_options", value) + @property + @pulumi.getter(name="vdmOptions") + def vdm_options(self) -> Optional[pulumi.Input['ConfigurationSetVdmOptionsArgs']]: + """ + An object that defines the VDM settings that apply to emails that you send using the configuration set. + """ + return pulumi.get(self, "vdm_options") + + @vdm_options.setter + def vdm_options(self, value: Optional[pulumi.Input['ConfigurationSetVdmOptionsArgs']]): + pulumi.set(self, "vdm_options", value) + @pulumi.input_type class _ConfigurationSetState: @@ -143,7 +159,8 @@ def __init__(__self__, *, suppression_options: Optional[pulumi.Input['ConfigurationSetSuppressionOptionsArgs']] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - tracking_options: Optional[pulumi.Input['ConfigurationSetTrackingOptionsArgs']] = None): + tracking_options: Optional[pulumi.Input['ConfigurationSetTrackingOptionsArgs']] = None, + vdm_options: Optional[pulumi.Input['ConfigurationSetVdmOptionsArgs']] = None): """ Input properties used for looking up and filtering ConfigurationSet resources. :param pulumi.Input[str] arn: ARN of the Configuration Set. @@ -154,6 +171,7 @@ def __init__(__self__, *, :param pulumi.Input['ConfigurationSetSuppressionOptionsArgs'] suppression_options: An object that contains information about the suppression list preferences for your account. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the service. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input['ConfigurationSetTrackingOptionsArgs'] tracking_options: An object that defines the open and click tracking options for emails that you send using the configuration set. + :param pulumi.Input['ConfigurationSetVdmOptionsArgs'] vdm_options: An object that defines the VDM settings that apply to emails that you send using the configuration set. """ if arn is not None: pulumi.set(__self__, "arn", arn) @@ -173,6 +191,8 @@ def __init__(__self__, *, pulumi.set(__self__, "tags_all", tags_all) if tracking_options is not None: pulumi.set(__self__, "tracking_options", tracking_options) + if vdm_options is not None: + pulumi.set(__self__, "vdm_options", vdm_options) @property @pulumi.getter @@ -279,6 +299,18 @@ def tracking_options(self) -> Optional[pulumi.Input['ConfigurationSetTrackingOpt def tracking_options(self, value: Optional[pulumi.Input['ConfigurationSetTrackingOptionsArgs']]): pulumi.set(self, "tracking_options", value) + @property + @pulumi.getter(name="vdmOptions") + def vdm_options(self) -> Optional[pulumi.Input['ConfigurationSetVdmOptionsArgs']]: + """ + An object that defines the VDM settings that apply to emails that you send using the configuration set. + """ + return pulumi.get(self, "vdm_options") + + @vdm_options.setter + def vdm_options(self, value: Optional[pulumi.Input['ConfigurationSetVdmOptionsArgs']]): + pulumi.set(self, "vdm_options", value) + class ConfigurationSet(pulumi.CustomResource): @overload @@ -292,6 +324,7 @@ def __init__(__self__, suppression_options: Optional[pulumi.Input[pulumi.InputType['ConfigurationSetSuppressionOptionsArgs']]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tracking_options: Optional[pulumi.Input[pulumi.InputType['ConfigurationSetTrackingOptionsArgs']]] = None, + vdm_options: Optional[pulumi.Input[pulumi.InputType['ConfigurationSetVdmOptionsArgs']]] = None, __props__=None): """ Resource for managing an AWS SESv2 (Simple Email V2) Configuration Set. @@ -342,6 +375,7 @@ def __init__(__self__, :param pulumi.Input[pulumi.InputType['ConfigurationSetSuppressionOptionsArgs']] suppression_options: An object that contains information about the suppression list preferences for your account. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the service. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[pulumi.InputType['ConfigurationSetTrackingOptionsArgs']] tracking_options: An object that defines the open and click tracking options for emails that you send using the configuration set. + :param pulumi.Input[pulumi.InputType['ConfigurationSetVdmOptionsArgs']] vdm_options: An object that defines the VDM settings that apply to emails that you send using the configuration set. """ ... @overload @@ -411,6 +445,7 @@ def _internal_init(__self__, suppression_options: Optional[pulumi.Input[pulumi.InputType['ConfigurationSetSuppressionOptionsArgs']]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tracking_options: Optional[pulumi.Input[pulumi.InputType['ConfigurationSetTrackingOptionsArgs']]] = None, + vdm_options: Optional[pulumi.Input[pulumi.InputType['ConfigurationSetVdmOptionsArgs']]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -429,6 +464,7 @@ def _internal_init(__self__, __props__.__dict__["suppression_options"] = suppression_options __props__.__dict__["tags"] = tags __props__.__dict__["tracking_options"] = tracking_options + __props__.__dict__["vdm_options"] = vdm_options __props__.__dict__["arn"] = None __props__.__dict__["tags_all"] = None super(ConfigurationSet, __self__).__init__( @@ -449,7 +485,8 @@ def get(resource_name: str, suppression_options: Optional[pulumi.Input[pulumi.InputType['ConfigurationSetSuppressionOptionsArgs']]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - tracking_options: Optional[pulumi.Input[pulumi.InputType['ConfigurationSetTrackingOptionsArgs']]] = None) -> 'ConfigurationSet': + tracking_options: Optional[pulumi.Input[pulumi.InputType['ConfigurationSetTrackingOptionsArgs']]] = None, + vdm_options: Optional[pulumi.Input[pulumi.InputType['ConfigurationSetVdmOptionsArgs']]] = None) -> 'ConfigurationSet': """ Get an existing ConfigurationSet resource's state with the given name, id, and optional extra properties used to qualify the lookup. @@ -465,6 +502,7 @@ def get(resource_name: str, :param pulumi.Input[pulumi.InputType['ConfigurationSetSuppressionOptionsArgs']] suppression_options: An object that contains information about the suppression list preferences for your account. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the service. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[pulumi.InputType['ConfigurationSetTrackingOptionsArgs']] tracking_options: An object that defines the open and click tracking options for emails that you send using the configuration set. + :param pulumi.Input[pulumi.InputType['ConfigurationSetVdmOptionsArgs']] vdm_options: An object that defines the VDM settings that apply to emails that you send using the configuration set. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -479,6 +517,7 @@ def get(resource_name: str, __props__.__dict__["tags"] = tags __props__.__dict__["tags_all"] = tags_all __props__.__dict__["tracking_options"] = tracking_options + __props__.__dict__["vdm_options"] = vdm_options return ConfigurationSet(resource_name, opts=opts, __props__=__props__) @property @@ -550,3 +589,11 @@ def tracking_options(self) -> pulumi.Output[Optional['outputs.ConfigurationSetTr """ return pulumi.get(self, "tracking_options") + @property + @pulumi.getter(name="vdmOptions") + def vdm_options(self) -> pulumi.Output[Optional['outputs.ConfigurationSetVdmOptions']]: + """ + An object that defines the VDM settings that apply to emails that you send using the configuration set. + """ + return pulumi.get(self, "vdm_options") + diff --git a/sdk/python/pulumi_aws/sesv2/outputs.py b/sdk/python/pulumi_aws/sesv2/outputs.py index 5e553e37cf6..ae4ab63a53c 100644 --- a/sdk/python/pulumi_aws/sesv2/outputs.py +++ b/sdk/python/pulumi_aws/sesv2/outputs.py @@ -22,6 +22,9 @@ 'ConfigurationSetSendingOptions', 'ConfigurationSetSuppressionOptions', 'ConfigurationSetTrackingOptions', + 'ConfigurationSetVdmOptions', + 'ConfigurationSetVdmOptionsDashboardOptions', + 'ConfigurationSetVdmOptionsGuardianOptions', 'EmailIdentityDkimSigningAttributes', 'GetDedicatedIpPoolDedicatedIpResult', ] @@ -542,6 +545,128 @@ def custom_redirect_domain(self) -> str: return pulumi.get(self, "custom_redirect_domain") +@pulumi.output_type +class ConfigurationSetVdmOptions(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "dashboardOptions": + suggest = "dashboard_options" + elif key == "guardianOptions": + suggest = "guardian_options" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ConfigurationSetVdmOptions. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ConfigurationSetVdmOptions.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ConfigurationSetVdmOptions.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + dashboard_options: Optional['outputs.ConfigurationSetVdmOptionsDashboardOptions'] = None, + guardian_options: Optional['outputs.ConfigurationSetVdmOptionsGuardianOptions'] = None): + """ + :param 'ConfigurationSetVdmOptionsDashboardOptionsArgs' dashboard_options: Specifies additional settings for your VDM configuration as applicable to the Dashboard. + :param 'ConfigurationSetVdmOptionsGuardianOptionsArgs' guardian_options: Specifies additional settings for your VDM configuration as applicable to the Guardian. + """ + if dashboard_options is not None: + pulumi.set(__self__, "dashboard_options", dashboard_options) + if guardian_options is not None: + pulumi.set(__self__, "guardian_options", guardian_options) + + @property + @pulumi.getter(name="dashboardOptions") + def dashboard_options(self) -> Optional['outputs.ConfigurationSetVdmOptionsDashboardOptions']: + """ + Specifies additional settings for your VDM configuration as applicable to the Dashboard. + """ + return pulumi.get(self, "dashboard_options") + + @property + @pulumi.getter(name="guardianOptions") + def guardian_options(self) -> Optional['outputs.ConfigurationSetVdmOptionsGuardianOptions']: + """ + Specifies additional settings for your VDM configuration as applicable to the Guardian. + """ + return pulumi.get(self, "guardian_options") + + +@pulumi.output_type +class ConfigurationSetVdmOptionsDashboardOptions(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "engagementMetrics": + suggest = "engagement_metrics" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ConfigurationSetVdmOptionsDashboardOptions. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ConfigurationSetVdmOptionsDashboardOptions.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ConfigurationSetVdmOptionsDashboardOptions.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + engagement_metrics: Optional[str] = None): + """ + :param str engagement_metrics: Specifies the status of your VDM engagement metrics collection. Valid values: `ENABLED`, `DISABLED`. + """ + if engagement_metrics is not None: + pulumi.set(__self__, "engagement_metrics", engagement_metrics) + + @property + @pulumi.getter(name="engagementMetrics") + def engagement_metrics(self) -> Optional[str]: + """ + Specifies the status of your VDM engagement metrics collection. Valid values: `ENABLED`, `DISABLED`. + """ + return pulumi.get(self, "engagement_metrics") + + +@pulumi.output_type +class ConfigurationSetVdmOptionsGuardianOptions(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "optimizedSharedDelivery": + suggest = "optimized_shared_delivery" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ConfigurationSetVdmOptionsGuardianOptions. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ConfigurationSetVdmOptionsGuardianOptions.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ConfigurationSetVdmOptionsGuardianOptions.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + optimized_shared_delivery: Optional[str] = None): + """ + :param str optimized_shared_delivery: Specifies the status of your VDM optimized shared delivery. Valid values: `ENABLED`, `DISABLED`. + """ + if optimized_shared_delivery is not None: + pulumi.set(__self__, "optimized_shared_delivery", optimized_shared_delivery) + + @property + @pulumi.getter(name="optimizedSharedDelivery") + def optimized_shared_delivery(self) -> Optional[str]: + """ + Specifies the status of your VDM optimized shared delivery. Valid values: `ENABLED`, `DISABLED`. + """ + return pulumi.get(self, "optimized_shared_delivery") + + @pulumi.output_type class EmailIdentityDkimSigningAttributes(dict): @staticmethod diff --git a/sdk/python/pulumi_aws/transfer/_inputs.py b/sdk/python/pulumi_aws/transfer/_inputs.py index bfe7c65aab8..bfa6a53076a 100644 --- a/sdk/python/pulumi_aws/transfer/_inputs.py +++ b/sdk/python/pulumi_aws/transfer/_inputs.py @@ -13,6 +13,7 @@ 'AccessHomeDirectoryMappingArgs', 'AccessPosixProfileArgs', 'ServerEndpointDetailsArgs', + 'ServerProtocolDetailsArgs', 'ServerWorkflowDetailsArgs', 'ServerWorkflowDetailsOnPartialUploadArgs', 'ServerWorkflowDetailsOnUploadArgs', @@ -24,6 +25,10 @@ 'WorkflowOnExceptionStepCopyStepDetailsDestinationFileLocationEfsFileLocationArgs', 'WorkflowOnExceptionStepCopyStepDetailsDestinationFileLocationS3FileLocationArgs', 'WorkflowOnExceptionStepCustomStepDetailsArgs', + 'WorkflowOnExceptionStepDecryptStepDetailsArgs', + 'WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationArgs', + 'WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs', + 'WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs', 'WorkflowOnExceptionStepDeleteStepDetailsArgs', 'WorkflowOnExceptionStepTagStepDetailsArgs', 'WorkflowOnExceptionStepTagStepDetailsTagArgs', @@ -33,6 +38,10 @@ 'WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocationArgs', 'WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocationArgs', 'WorkflowStepCustomStepDetailsArgs', + 'WorkflowStepDecryptStepDetailsArgs', + 'WorkflowStepDecryptStepDetailsDestinationFileLocationArgs', + 'WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs', + 'WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs', 'WorkflowStepDeleteStepDetailsArgs', 'WorkflowStepTagStepDetailsArgs', 'WorkflowStepTagStepDetailsTagArgs', @@ -215,6 +224,77 @@ def vpc_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "vpc_id", value) +@pulumi.input_type +class ServerProtocolDetailsArgs: + def __init__(__self__, *, + as2_transports: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + passive_ip: Optional[pulumi.Input[str]] = None, + set_stat_option: Optional[pulumi.Input[str]] = None, + tls_session_resumption_mode: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input[str]]] as2_transports: Indicates the transport method for the AS2 messages. Currently, only `HTTP` is supported. + :param pulumi.Input[str] passive_ip: Indicates passive mode, for FTP and FTPS protocols. Enter a single IPv4 address, such as the public IP address of a firewall, router, or load balancer. + :param pulumi.Input[str] set_stat_option: Use to ignore the error that is generated when the client attempts to use `SETSTAT` on a file you are uploading to an S3 bucket. Valid values: `DEFAULT`, `ENABLE_NO_OP`. + :param pulumi.Input[str] tls_session_resumption_mode: A property used with Transfer Family servers that use the FTPS protocol. Provides a mechanism to resume or share a negotiated secret key between the control and data connection for an FTPS session. Valid values: `DISABLED`, `ENABLED`, `ENFORCED`. + """ + if as2_transports is not None: + pulumi.set(__self__, "as2_transports", as2_transports) + if passive_ip is not None: + pulumi.set(__self__, "passive_ip", passive_ip) + if set_stat_option is not None: + pulumi.set(__self__, "set_stat_option", set_stat_option) + if tls_session_resumption_mode is not None: + pulumi.set(__self__, "tls_session_resumption_mode", tls_session_resumption_mode) + + @property + @pulumi.getter(name="as2Transports") + def as2_transports(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Indicates the transport method for the AS2 messages. Currently, only `HTTP` is supported. + """ + return pulumi.get(self, "as2_transports") + + @as2_transports.setter + def as2_transports(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "as2_transports", value) + + @property + @pulumi.getter(name="passiveIp") + def passive_ip(self) -> Optional[pulumi.Input[str]]: + """ + Indicates passive mode, for FTP and FTPS protocols. Enter a single IPv4 address, such as the public IP address of a firewall, router, or load balancer. + """ + return pulumi.get(self, "passive_ip") + + @passive_ip.setter + def passive_ip(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "passive_ip", value) + + @property + @pulumi.getter(name="setStatOption") + def set_stat_option(self) -> Optional[pulumi.Input[str]]: + """ + Use to ignore the error that is generated when the client attempts to use `SETSTAT` on a file you are uploading to an S3 bucket. Valid values: `DEFAULT`, `ENABLE_NO_OP`. + """ + return pulumi.get(self, "set_stat_option") + + @set_stat_option.setter + def set_stat_option(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "set_stat_option", value) + + @property + @pulumi.getter(name="tlsSessionResumptionMode") + def tls_session_resumption_mode(self) -> Optional[pulumi.Input[str]]: + """ + A property used with Transfer Family servers that use the FTPS protocol. Provides a mechanism to resume or share a negotiated secret key between the control and data connection for an FTPS session. Valid values: `DISABLED`, `ENABLED`, `ENFORCED`. + """ + return pulumi.get(self, "tls_session_resumption_mode") + + @tls_session_resumption_mode.setter + def tls_session_resumption_mode(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "tls_session_resumption_mode", value) + + @pulumi.input_type class ServerWorkflowDetailsArgs: def __init__(__self__, *, @@ -424,12 +504,14 @@ def __init__(__self__, *, type: pulumi.Input[str], copy_step_details: Optional[pulumi.Input['WorkflowOnExceptionStepCopyStepDetailsArgs']] = None, custom_step_details: Optional[pulumi.Input['WorkflowOnExceptionStepCustomStepDetailsArgs']] = None, + decrypt_step_details: Optional[pulumi.Input['WorkflowOnExceptionStepDecryptStepDetailsArgs']] = None, delete_step_details: Optional[pulumi.Input['WorkflowOnExceptionStepDeleteStepDetailsArgs']] = None, tag_step_details: Optional[pulumi.Input['WorkflowOnExceptionStepTagStepDetailsArgs']] = None): """ - :param pulumi.Input[str] type: One of the following step types are supported. `COPY`, `CUSTOM`, `DELETE`, and `TAG`. + :param pulumi.Input[str] type: One of the following step types are supported. `COPY`, `CUSTOM`, `DECRYPT`, `DELETE`, and `TAG`. :param pulumi.Input['WorkflowOnExceptionStepCopyStepDetailsArgs'] copy_step_details: Details for a step that performs a file copy. See Copy Step Details below. :param pulumi.Input['WorkflowOnExceptionStepCustomStepDetailsArgs'] custom_step_details: Details for a step that invokes a lambda function. + :param pulumi.Input['WorkflowOnExceptionStepDecryptStepDetailsArgs'] decrypt_step_details: Details for a step that decrypts the file. :param pulumi.Input['WorkflowOnExceptionStepDeleteStepDetailsArgs'] delete_step_details: Details for a step that deletes the file. :param pulumi.Input['WorkflowOnExceptionStepTagStepDetailsArgs'] tag_step_details: Details for a step that creates one or more tags. """ @@ -438,6 +520,8 @@ def __init__(__self__, *, pulumi.set(__self__, "copy_step_details", copy_step_details) if custom_step_details is not None: pulumi.set(__self__, "custom_step_details", custom_step_details) + if decrypt_step_details is not None: + pulumi.set(__self__, "decrypt_step_details", decrypt_step_details) if delete_step_details is not None: pulumi.set(__self__, "delete_step_details", delete_step_details) if tag_step_details is not None: @@ -447,7 +531,7 @@ def __init__(__self__, *, @pulumi.getter def type(self) -> pulumi.Input[str]: """ - One of the following step types are supported. `COPY`, `CUSTOM`, `DELETE`, and `TAG`. + One of the following step types are supported. `COPY`, `CUSTOM`, `DECRYPT`, `DELETE`, and `TAG`. """ return pulumi.get(self, "type") @@ -479,6 +563,18 @@ def custom_step_details(self) -> Optional[pulumi.Input['WorkflowOnExceptionStepC def custom_step_details(self, value: Optional[pulumi.Input['WorkflowOnExceptionStepCustomStepDetailsArgs']]): pulumi.set(self, "custom_step_details", value) + @property + @pulumi.getter(name="decryptStepDetails") + def decrypt_step_details(self) -> Optional[pulumi.Input['WorkflowOnExceptionStepDecryptStepDetailsArgs']]: + """ + Details for a step that decrypts the file. + """ + return pulumi.get(self, "decrypt_step_details") + + @decrypt_step_details.setter + def decrypt_step_details(self, value: Optional[pulumi.Input['WorkflowOnExceptionStepDecryptStepDetailsArgs']]): + pulumi.set(self, "decrypt_step_details", value) + @property @pulumi.getter(name="deleteStepDetails") def delete_step_details(self) -> Optional[pulumi.Input['WorkflowOnExceptionStepDeleteStepDetailsArgs']]: @@ -763,6 +859,209 @@ def timeout_seconds(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "timeout_seconds", value) +@pulumi.input_type +class WorkflowOnExceptionStepDecryptStepDetailsArgs: + def __init__(__self__, *, + type: pulumi.Input[str], + destination_file_location: Optional[pulumi.Input['WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationArgs']] = None, + name: Optional[pulumi.Input[str]] = None, + overwrite_existing: Optional[pulumi.Input[str]] = None, + source_file_location: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] type: The type of encryption used. Currently, this value must be `"PGP"`. + :param pulumi.Input['WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationArgs'] destination_file_location: Specifies the location for the file being copied. Use ${Transfer:username} in this field to parametrize the destination prefix by username. + :param pulumi.Input[str] name: The name of the step, used as an identifier. + :param pulumi.Input[str] overwrite_existing: A flag that indicates whether or not to overwrite an existing file of the same name. The default is `FALSE`. Valid values are `TRUE` and `FALSE`. + :param pulumi.Input[str] source_file_location: Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. + """ + pulumi.set(__self__, "type", type) + if destination_file_location is not None: + pulumi.set(__self__, "destination_file_location", destination_file_location) + if name is not None: + pulumi.set(__self__, "name", name) + if overwrite_existing is not None: + pulumi.set(__self__, "overwrite_existing", overwrite_existing) + if source_file_location is not None: + pulumi.set(__self__, "source_file_location", source_file_location) + + @property + @pulumi.getter + def type(self) -> pulumi.Input[str]: + """ + The type of encryption used. Currently, this value must be `"PGP"`. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[str]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter(name="destinationFileLocation") + def destination_file_location(self) -> Optional[pulumi.Input['WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationArgs']]: + """ + Specifies the location for the file being copied. Use ${Transfer:username} in this field to parametrize the destination prefix by username. + """ + return pulumi.get(self, "destination_file_location") + + @destination_file_location.setter + def destination_file_location(self, value: Optional[pulumi.Input['WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationArgs']]): + pulumi.set(self, "destination_file_location", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the step, used as an identifier. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="overwriteExisting") + def overwrite_existing(self) -> Optional[pulumi.Input[str]]: + """ + A flag that indicates whether or not to overwrite an existing file of the same name. The default is `FALSE`. Valid values are `TRUE` and `FALSE`. + """ + return pulumi.get(self, "overwrite_existing") + + @overwrite_existing.setter + def overwrite_existing(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "overwrite_existing", value) + + @property + @pulumi.getter(name="sourceFileLocation") + def source_file_location(self) -> Optional[pulumi.Input[str]]: + """ + Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. + """ + return pulumi.get(self, "source_file_location") + + @source_file_location.setter + def source_file_location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "source_file_location", value) + + +@pulumi.input_type +class WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationArgs: + def __init__(__self__, *, + efs_file_location: Optional[pulumi.Input['WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs']] = None, + s3_file_location: Optional[pulumi.Input['WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs']] = None): + """ + :param pulumi.Input['WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs'] efs_file_location: Specifies the details for the EFS file being copied. + :param pulumi.Input['WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs'] s3_file_location: Specifies the details for the S3 file being copied. + """ + if efs_file_location is not None: + pulumi.set(__self__, "efs_file_location", efs_file_location) + if s3_file_location is not None: + pulumi.set(__self__, "s3_file_location", s3_file_location) + + @property + @pulumi.getter(name="efsFileLocation") + def efs_file_location(self) -> Optional[pulumi.Input['WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs']]: + """ + Specifies the details for the EFS file being copied. + """ + return pulumi.get(self, "efs_file_location") + + @efs_file_location.setter + def efs_file_location(self, value: Optional[pulumi.Input['WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs']]): + pulumi.set(self, "efs_file_location", value) + + @property + @pulumi.getter(name="s3FileLocation") + def s3_file_location(self) -> Optional[pulumi.Input['WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs']]: + """ + Specifies the details for the S3 file being copied. + """ + return pulumi.get(self, "s3_file_location") + + @s3_file_location.setter + def s3_file_location(self, value: Optional[pulumi.Input['WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs']]): + pulumi.set(self, "s3_file_location", value) + + +@pulumi.input_type +class WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs: + def __init__(__self__, *, + file_system_id: Optional[pulumi.Input[str]] = None, + path: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] file_system_id: The ID of the file system, assigned by Amazon EFS. + :param pulumi.Input[str] path: The pathname for the folder being used by a workflow. + """ + if file_system_id is not None: + pulumi.set(__self__, "file_system_id", file_system_id) + if path is not None: + pulumi.set(__self__, "path", path) + + @property + @pulumi.getter(name="fileSystemId") + def file_system_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID of the file system, assigned by Amazon EFS. + """ + return pulumi.get(self, "file_system_id") + + @file_system_id.setter + def file_system_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "file_system_id", value) + + @property + @pulumi.getter + def path(self) -> Optional[pulumi.Input[str]]: + """ + The pathname for the folder being used by a workflow. + """ + return pulumi.get(self, "path") + + @path.setter + def path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "path", value) + + +@pulumi.input_type +class WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs: + def __init__(__self__, *, + bucket: Optional[pulumi.Input[str]] = None, + key: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] bucket: Specifies the S3 bucket for the customer input file. + :param pulumi.Input[str] key: The name assigned to the file when it was created in S3. You use the object key to retrieve the object. + """ + if bucket is not None: + pulumi.set(__self__, "bucket", bucket) + if key is not None: + pulumi.set(__self__, "key", key) + + @property + @pulumi.getter + def bucket(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the S3 bucket for the customer input file. + """ + return pulumi.get(self, "bucket") + + @bucket.setter + def bucket(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "bucket", value) + + @property + @pulumi.getter + def key(self) -> Optional[pulumi.Input[str]]: + """ + The name assigned to the file when it was created in S3. You use the object key to retrieve the object. + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key", value) + + @pulumi.input_type class WorkflowOnExceptionStepDeleteStepDetailsArgs: def __init__(__self__, *, @@ -900,12 +1199,14 @@ def __init__(__self__, *, type: pulumi.Input[str], copy_step_details: Optional[pulumi.Input['WorkflowStepCopyStepDetailsArgs']] = None, custom_step_details: Optional[pulumi.Input['WorkflowStepCustomStepDetailsArgs']] = None, + decrypt_step_details: Optional[pulumi.Input['WorkflowStepDecryptStepDetailsArgs']] = None, delete_step_details: Optional[pulumi.Input['WorkflowStepDeleteStepDetailsArgs']] = None, tag_step_details: Optional[pulumi.Input['WorkflowStepTagStepDetailsArgs']] = None): """ - :param pulumi.Input[str] type: One of the following step types are supported. `COPY`, `CUSTOM`, `DELETE`, and `TAG`. + :param pulumi.Input[str] type: One of the following step types are supported. `COPY`, `CUSTOM`, `DECRYPT`, `DELETE`, and `TAG`. :param pulumi.Input['WorkflowStepCopyStepDetailsArgs'] copy_step_details: Details for a step that performs a file copy. See Copy Step Details below. :param pulumi.Input['WorkflowStepCustomStepDetailsArgs'] custom_step_details: Details for a step that invokes a lambda function. + :param pulumi.Input['WorkflowStepDecryptStepDetailsArgs'] decrypt_step_details: Details for a step that decrypts the file. :param pulumi.Input['WorkflowStepDeleteStepDetailsArgs'] delete_step_details: Details for a step that deletes the file. :param pulumi.Input['WorkflowStepTagStepDetailsArgs'] tag_step_details: Details for a step that creates one or more tags. """ @@ -914,6 +1215,8 @@ def __init__(__self__, *, pulumi.set(__self__, "copy_step_details", copy_step_details) if custom_step_details is not None: pulumi.set(__self__, "custom_step_details", custom_step_details) + if decrypt_step_details is not None: + pulumi.set(__self__, "decrypt_step_details", decrypt_step_details) if delete_step_details is not None: pulumi.set(__self__, "delete_step_details", delete_step_details) if tag_step_details is not None: @@ -923,7 +1226,7 @@ def __init__(__self__, *, @pulumi.getter def type(self) -> pulumi.Input[str]: """ - One of the following step types are supported. `COPY`, `CUSTOM`, `DELETE`, and `TAG`. + One of the following step types are supported. `COPY`, `CUSTOM`, `DECRYPT`, `DELETE`, and `TAG`. """ return pulumi.get(self, "type") @@ -955,6 +1258,18 @@ def custom_step_details(self) -> Optional[pulumi.Input['WorkflowStepCustomStepDe def custom_step_details(self, value: Optional[pulumi.Input['WorkflowStepCustomStepDetailsArgs']]): pulumi.set(self, "custom_step_details", value) + @property + @pulumi.getter(name="decryptStepDetails") + def decrypt_step_details(self) -> Optional[pulumi.Input['WorkflowStepDecryptStepDetailsArgs']]: + """ + Details for a step that decrypts the file. + """ + return pulumi.get(self, "decrypt_step_details") + + @decrypt_step_details.setter + def decrypt_step_details(self, value: Optional[pulumi.Input['WorkflowStepDecryptStepDetailsArgs']]): + pulumi.set(self, "decrypt_step_details", value) + @property @pulumi.getter(name="deleteStepDetails") def delete_step_details(self) -> Optional[pulumi.Input['WorkflowStepDeleteStepDetailsArgs']]: @@ -1239,6 +1554,209 @@ def timeout_seconds(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "timeout_seconds", value) +@pulumi.input_type +class WorkflowStepDecryptStepDetailsArgs: + def __init__(__self__, *, + type: pulumi.Input[str], + destination_file_location: Optional[pulumi.Input['WorkflowStepDecryptStepDetailsDestinationFileLocationArgs']] = None, + name: Optional[pulumi.Input[str]] = None, + overwrite_existing: Optional[pulumi.Input[str]] = None, + source_file_location: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] type: The type of encryption used. Currently, this value must be `"PGP"`. + :param pulumi.Input['WorkflowStepDecryptStepDetailsDestinationFileLocationArgs'] destination_file_location: Specifies the location for the file being copied. Use ${Transfer:username} in this field to parametrize the destination prefix by username. + :param pulumi.Input[str] name: The name of the step, used as an identifier. + :param pulumi.Input[str] overwrite_existing: A flag that indicates whether or not to overwrite an existing file of the same name. The default is `FALSE`. Valid values are `TRUE` and `FALSE`. + :param pulumi.Input[str] source_file_location: Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. + """ + pulumi.set(__self__, "type", type) + if destination_file_location is not None: + pulumi.set(__self__, "destination_file_location", destination_file_location) + if name is not None: + pulumi.set(__self__, "name", name) + if overwrite_existing is not None: + pulumi.set(__self__, "overwrite_existing", overwrite_existing) + if source_file_location is not None: + pulumi.set(__self__, "source_file_location", source_file_location) + + @property + @pulumi.getter + def type(self) -> pulumi.Input[str]: + """ + The type of encryption used. Currently, this value must be `"PGP"`. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[str]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter(name="destinationFileLocation") + def destination_file_location(self) -> Optional[pulumi.Input['WorkflowStepDecryptStepDetailsDestinationFileLocationArgs']]: + """ + Specifies the location for the file being copied. Use ${Transfer:username} in this field to parametrize the destination prefix by username. + """ + return pulumi.get(self, "destination_file_location") + + @destination_file_location.setter + def destination_file_location(self, value: Optional[pulumi.Input['WorkflowStepDecryptStepDetailsDestinationFileLocationArgs']]): + pulumi.set(self, "destination_file_location", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the step, used as an identifier. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="overwriteExisting") + def overwrite_existing(self) -> Optional[pulumi.Input[str]]: + """ + A flag that indicates whether or not to overwrite an existing file of the same name. The default is `FALSE`. Valid values are `TRUE` and `FALSE`. + """ + return pulumi.get(self, "overwrite_existing") + + @overwrite_existing.setter + def overwrite_existing(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "overwrite_existing", value) + + @property + @pulumi.getter(name="sourceFileLocation") + def source_file_location(self) -> Optional[pulumi.Input[str]]: + """ + Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. + """ + return pulumi.get(self, "source_file_location") + + @source_file_location.setter + def source_file_location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "source_file_location", value) + + +@pulumi.input_type +class WorkflowStepDecryptStepDetailsDestinationFileLocationArgs: + def __init__(__self__, *, + efs_file_location: Optional[pulumi.Input['WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs']] = None, + s3_file_location: Optional[pulumi.Input['WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs']] = None): + """ + :param pulumi.Input['WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs'] efs_file_location: Specifies the details for the EFS file being copied. + :param pulumi.Input['WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs'] s3_file_location: Specifies the details for the S3 file being copied. + """ + if efs_file_location is not None: + pulumi.set(__self__, "efs_file_location", efs_file_location) + if s3_file_location is not None: + pulumi.set(__self__, "s3_file_location", s3_file_location) + + @property + @pulumi.getter(name="efsFileLocation") + def efs_file_location(self) -> Optional[pulumi.Input['WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs']]: + """ + Specifies the details for the EFS file being copied. + """ + return pulumi.get(self, "efs_file_location") + + @efs_file_location.setter + def efs_file_location(self, value: Optional[pulumi.Input['WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs']]): + pulumi.set(self, "efs_file_location", value) + + @property + @pulumi.getter(name="s3FileLocation") + def s3_file_location(self) -> Optional[pulumi.Input['WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs']]: + """ + Specifies the details for the S3 file being copied. + """ + return pulumi.get(self, "s3_file_location") + + @s3_file_location.setter + def s3_file_location(self, value: Optional[pulumi.Input['WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs']]): + pulumi.set(self, "s3_file_location", value) + + +@pulumi.input_type +class WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs: + def __init__(__self__, *, + file_system_id: Optional[pulumi.Input[str]] = None, + path: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] file_system_id: The ID of the file system, assigned by Amazon EFS. + :param pulumi.Input[str] path: The pathname for the folder being used by a workflow. + """ + if file_system_id is not None: + pulumi.set(__self__, "file_system_id", file_system_id) + if path is not None: + pulumi.set(__self__, "path", path) + + @property + @pulumi.getter(name="fileSystemId") + def file_system_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID of the file system, assigned by Amazon EFS. + """ + return pulumi.get(self, "file_system_id") + + @file_system_id.setter + def file_system_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "file_system_id", value) + + @property + @pulumi.getter + def path(self) -> Optional[pulumi.Input[str]]: + """ + The pathname for the folder being used by a workflow. + """ + return pulumi.get(self, "path") + + @path.setter + def path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "path", value) + + +@pulumi.input_type +class WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs: + def __init__(__self__, *, + bucket: Optional[pulumi.Input[str]] = None, + key: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] bucket: Specifies the S3 bucket for the customer input file. + :param pulumi.Input[str] key: The name assigned to the file when it was created in S3. You use the object key to retrieve the object. + """ + if bucket is not None: + pulumi.set(__self__, "bucket", bucket) + if key is not None: + pulumi.set(__self__, "key", key) + + @property + @pulumi.getter + def bucket(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the S3 bucket for the customer input file. + """ + return pulumi.get(self, "bucket") + + @bucket.setter + def bucket(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "bucket", value) + + @property + @pulumi.getter + def key(self) -> Optional[pulumi.Input[str]]: + """ + The name assigned to the file when it was created in S3. You use the object key to retrieve the object. + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key", value) + + @pulumi.input_type class WorkflowStepDeleteStepDetailsArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws/transfer/outputs.py b/sdk/python/pulumi_aws/transfer/outputs.py index 2b1fa0e75be..d29be2ca1dd 100644 --- a/sdk/python/pulumi_aws/transfer/outputs.py +++ b/sdk/python/pulumi_aws/transfer/outputs.py @@ -14,6 +14,7 @@ 'AccessHomeDirectoryMapping', 'AccessPosixProfile', 'ServerEndpointDetails', + 'ServerProtocolDetails', 'ServerWorkflowDetails', 'ServerWorkflowDetailsOnPartialUpload', 'ServerWorkflowDetailsOnUpload', @@ -25,6 +26,10 @@ 'WorkflowOnExceptionStepCopyStepDetailsDestinationFileLocationEfsFileLocation', 'WorkflowOnExceptionStepCopyStepDetailsDestinationFileLocationS3FileLocation', 'WorkflowOnExceptionStepCustomStepDetails', + 'WorkflowOnExceptionStepDecryptStepDetails', + 'WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocation', + 'WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocation', + 'WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocation', 'WorkflowOnExceptionStepDeleteStepDetails', 'WorkflowOnExceptionStepTagStepDetails', 'WorkflowOnExceptionStepTagStepDetailsTag', @@ -34,6 +39,10 @@ 'WorkflowStepCopyStepDetailsDestinationFileLocationEfsFileLocation', 'WorkflowStepCopyStepDetailsDestinationFileLocationS3FileLocation', 'WorkflowStepCustomStepDetails', + 'WorkflowStepDecryptStepDetails', + 'WorkflowStepDecryptStepDetailsDestinationFileLocation', + 'WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocation', + 'WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocation', 'WorkflowStepDeleteStepDetails', 'WorkflowStepTagStepDetails', 'WorkflowStepTagStepDetailsTag', @@ -218,6 +227,84 @@ def vpc_id(self) -> Optional[str]: return pulumi.get(self, "vpc_id") +@pulumi.output_type +class ServerProtocolDetails(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "as2Transports": + suggest = "as2_transports" + elif key == "passiveIp": + suggest = "passive_ip" + elif key == "setStatOption": + suggest = "set_stat_option" + elif key == "tlsSessionResumptionMode": + suggest = "tls_session_resumption_mode" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ServerProtocolDetails. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ServerProtocolDetails.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ServerProtocolDetails.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + as2_transports: Optional[Sequence[str]] = None, + passive_ip: Optional[str] = None, + set_stat_option: Optional[str] = None, + tls_session_resumption_mode: Optional[str] = None): + """ + :param Sequence[str] as2_transports: Indicates the transport method for the AS2 messages. Currently, only `HTTP` is supported. + :param str passive_ip: Indicates passive mode, for FTP and FTPS protocols. Enter a single IPv4 address, such as the public IP address of a firewall, router, or load balancer. + :param str set_stat_option: Use to ignore the error that is generated when the client attempts to use `SETSTAT` on a file you are uploading to an S3 bucket. Valid values: `DEFAULT`, `ENABLE_NO_OP`. + :param str tls_session_resumption_mode: A property used with Transfer Family servers that use the FTPS protocol. Provides a mechanism to resume or share a negotiated secret key between the control and data connection for an FTPS session. Valid values: `DISABLED`, `ENABLED`, `ENFORCED`. + """ + if as2_transports is not None: + pulumi.set(__self__, "as2_transports", as2_transports) + if passive_ip is not None: + pulumi.set(__self__, "passive_ip", passive_ip) + if set_stat_option is not None: + pulumi.set(__self__, "set_stat_option", set_stat_option) + if tls_session_resumption_mode is not None: + pulumi.set(__self__, "tls_session_resumption_mode", tls_session_resumption_mode) + + @property + @pulumi.getter(name="as2Transports") + def as2_transports(self) -> Optional[Sequence[str]]: + """ + Indicates the transport method for the AS2 messages. Currently, only `HTTP` is supported. + """ + return pulumi.get(self, "as2_transports") + + @property + @pulumi.getter(name="passiveIp") + def passive_ip(self) -> Optional[str]: + """ + Indicates passive mode, for FTP and FTPS protocols. Enter a single IPv4 address, such as the public IP address of a firewall, router, or load balancer. + """ + return pulumi.get(self, "passive_ip") + + @property + @pulumi.getter(name="setStatOption") + def set_stat_option(self) -> Optional[str]: + """ + Use to ignore the error that is generated when the client attempts to use `SETSTAT` on a file you are uploading to an S3 bucket. Valid values: `DEFAULT`, `ENABLE_NO_OP`. + """ + return pulumi.get(self, "set_stat_option") + + @property + @pulumi.getter(name="tlsSessionResumptionMode") + def tls_session_resumption_mode(self) -> Optional[str]: + """ + A property used with Transfer Family servers that use the FTPS protocol. Provides a mechanism to resume or share a negotiated secret key between the control and data connection for an FTPS session. Valid values: `DISABLED`, `ENABLED`, `ENFORCED`. + """ + return pulumi.get(self, "tls_session_resumption_mode") + + @pulumi.output_type class ServerWorkflowDetails(dict): @staticmethod @@ -460,6 +547,8 @@ def __key_warning(key: str): suggest = "copy_step_details" elif key == "customStepDetails": suggest = "custom_step_details" + elif key == "decryptStepDetails": + suggest = "decrypt_step_details" elif key == "deleteStepDetails": suggest = "delete_step_details" elif key == "tagStepDetails": @@ -480,12 +569,14 @@ def __init__(__self__, *, type: str, copy_step_details: Optional['outputs.WorkflowOnExceptionStepCopyStepDetails'] = None, custom_step_details: Optional['outputs.WorkflowOnExceptionStepCustomStepDetails'] = None, + decrypt_step_details: Optional['outputs.WorkflowOnExceptionStepDecryptStepDetails'] = None, delete_step_details: Optional['outputs.WorkflowOnExceptionStepDeleteStepDetails'] = None, tag_step_details: Optional['outputs.WorkflowOnExceptionStepTagStepDetails'] = None): """ - :param str type: One of the following step types are supported. `COPY`, `CUSTOM`, `DELETE`, and `TAG`. + :param str type: One of the following step types are supported. `COPY`, `CUSTOM`, `DECRYPT`, `DELETE`, and `TAG`. :param 'WorkflowOnExceptionStepCopyStepDetailsArgs' copy_step_details: Details for a step that performs a file copy. See Copy Step Details below. :param 'WorkflowOnExceptionStepCustomStepDetailsArgs' custom_step_details: Details for a step that invokes a lambda function. + :param 'WorkflowOnExceptionStepDecryptStepDetailsArgs' decrypt_step_details: Details for a step that decrypts the file. :param 'WorkflowOnExceptionStepDeleteStepDetailsArgs' delete_step_details: Details for a step that deletes the file. :param 'WorkflowOnExceptionStepTagStepDetailsArgs' tag_step_details: Details for a step that creates one or more tags. """ @@ -494,6 +585,8 @@ def __init__(__self__, *, pulumi.set(__self__, "copy_step_details", copy_step_details) if custom_step_details is not None: pulumi.set(__self__, "custom_step_details", custom_step_details) + if decrypt_step_details is not None: + pulumi.set(__self__, "decrypt_step_details", decrypt_step_details) if delete_step_details is not None: pulumi.set(__self__, "delete_step_details", delete_step_details) if tag_step_details is not None: @@ -503,7 +596,7 @@ def __init__(__self__, *, @pulumi.getter def type(self) -> str: """ - One of the following step types are supported. `COPY`, `CUSTOM`, `DELETE`, and `TAG`. + One of the following step types are supported. `COPY`, `CUSTOM`, `DECRYPT`, `DELETE`, and `TAG`. """ return pulumi.get(self, "type") @@ -523,6 +616,14 @@ def custom_step_details(self) -> Optional['outputs.WorkflowOnExceptionStepCustom """ return pulumi.get(self, "custom_step_details") + @property + @pulumi.getter(name="decryptStepDetails") + def decrypt_step_details(self) -> Optional['outputs.WorkflowOnExceptionStepDecryptStepDetails']: + """ + Details for a step that decrypts the file. + """ + return pulumi.get(self, "decrypt_step_details") + @property @pulumi.getter(name="deleteStepDetails") def delete_step_details(self) -> Optional['outputs.WorkflowOnExceptionStepDeleteStepDetails']: @@ -819,6 +920,222 @@ def timeout_seconds(self) -> Optional[int]: return pulumi.get(self, "timeout_seconds") +@pulumi.output_type +class WorkflowOnExceptionStepDecryptStepDetails(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "destinationFileLocation": + suggest = "destination_file_location" + elif key == "overwriteExisting": + suggest = "overwrite_existing" + elif key == "sourceFileLocation": + suggest = "source_file_location" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in WorkflowOnExceptionStepDecryptStepDetails. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + WorkflowOnExceptionStepDecryptStepDetails.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + WorkflowOnExceptionStepDecryptStepDetails.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + type: str, + destination_file_location: Optional['outputs.WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocation'] = None, + name: Optional[str] = None, + overwrite_existing: Optional[str] = None, + source_file_location: Optional[str] = None): + """ + :param str type: The type of encryption used. Currently, this value must be `"PGP"`. + :param 'WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationArgs' destination_file_location: Specifies the location for the file being copied. Use ${Transfer:username} in this field to parametrize the destination prefix by username. + :param str name: The name of the step, used as an identifier. + :param str overwrite_existing: A flag that indicates whether or not to overwrite an existing file of the same name. The default is `FALSE`. Valid values are `TRUE` and `FALSE`. + :param str source_file_location: Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. + """ + pulumi.set(__self__, "type", type) + if destination_file_location is not None: + pulumi.set(__self__, "destination_file_location", destination_file_location) + if name is not None: + pulumi.set(__self__, "name", name) + if overwrite_existing is not None: + pulumi.set(__self__, "overwrite_existing", overwrite_existing) + if source_file_location is not None: + pulumi.set(__self__, "source_file_location", source_file_location) + + @property + @pulumi.getter + def type(self) -> str: + """ + The type of encryption used. Currently, this value must be `"PGP"`. + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="destinationFileLocation") + def destination_file_location(self) -> Optional['outputs.WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocation']: + """ + Specifies the location for the file being copied. Use ${Transfer:username} in this field to parametrize the destination prefix by username. + """ + return pulumi.get(self, "destination_file_location") + + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + The name of the step, used as an identifier. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="overwriteExisting") + def overwrite_existing(self) -> Optional[str]: + """ + A flag that indicates whether or not to overwrite an existing file of the same name. The default is `FALSE`. Valid values are `TRUE` and `FALSE`. + """ + return pulumi.get(self, "overwrite_existing") + + @property + @pulumi.getter(name="sourceFileLocation") + def source_file_location(self) -> Optional[str]: + """ + Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. + """ + return pulumi.get(self, "source_file_location") + + +@pulumi.output_type +class WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocation(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "efsFileLocation": + suggest = "efs_file_location" + elif key == "s3FileLocation": + suggest = "s3_file_location" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocation. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocation.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocation.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + efs_file_location: Optional['outputs.WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocation'] = None, + s3_file_location: Optional['outputs.WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocation'] = None): + """ + :param 'WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs' efs_file_location: Specifies the details for the EFS file being copied. + :param 'WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs' s3_file_location: Specifies the details for the S3 file being copied. + """ + if efs_file_location is not None: + pulumi.set(__self__, "efs_file_location", efs_file_location) + if s3_file_location is not None: + pulumi.set(__self__, "s3_file_location", s3_file_location) + + @property + @pulumi.getter(name="efsFileLocation") + def efs_file_location(self) -> Optional['outputs.WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocation']: + """ + Specifies the details for the EFS file being copied. + """ + return pulumi.get(self, "efs_file_location") + + @property + @pulumi.getter(name="s3FileLocation") + def s3_file_location(self) -> Optional['outputs.WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocation']: + """ + Specifies the details for the S3 file being copied. + """ + return pulumi.get(self, "s3_file_location") + + +@pulumi.output_type +class WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocation(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "fileSystemId": + suggest = "file_system_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocation. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocation.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationEfsFileLocation.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + file_system_id: Optional[str] = None, + path: Optional[str] = None): + """ + :param str file_system_id: The ID of the file system, assigned by Amazon EFS. + :param str path: The pathname for the folder being used by a workflow. + """ + if file_system_id is not None: + pulumi.set(__self__, "file_system_id", file_system_id) + if path is not None: + pulumi.set(__self__, "path", path) + + @property + @pulumi.getter(name="fileSystemId") + def file_system_id(self) -> Optional[str]: + """ + The ID of the file system, assigned by Amazon EFS. + """ + return pulumi.get(self, "file_system_id") + + @property + @pulumi.getter + def path(self) -> Optional[str]: + """ + The pathname for the folder being used by a workflow. + """ + return pulumi.get(self, "path") + + +@pulumi.output_type +class WorkflowOnExceptionStepDecryptStepDetailsDestinationFileLocationS3FileLocation(dict): + def __init__(__self__, *, + bucket: Optional[str] = None, + key: Optional[str] = None): + """ + :param str bucket: Specifies the S3 bucket for the customer input file. + :param str key: The name assigned to the file when it was created in S3. You use the object key to retrieve the object. + """ + if bucket is not None: + pulumi.set(__self__, "bucket", bucket) + if key is not None: + pulumi.set(__self__, "key", key) + + @property + @pulumi.getter + def bucket(self) -> Optional[str]: + """ + Specifies the S3 bucket for the customer input file. + """ + return pulumi.get(self, "bucket") + + @property + @pulumi.getter + def key(self) -> Optional[str]: + """ + The name assigned to the file when it was created in S3. You use the object key to retrieve the object. + """ + return pulumi.get(self, "key") + + @pulumi.output_type class WorkflowOnExceptionStepDeleteStepDetails(dict): @staticmethod @@ -965,6 +1282,8 @@ def __key_warning(key: str): suggest = "copy_step_details" elif key == "customStepDetails": suggest = "custom_step_details" + elif key == "decryptStepDetails": + suggest = "decrypt_step_details" elif key == "deleteStepDetails": suggest = "delete_step_details" elif key == "tagStepDetails": @@ -985,12 +1304,14 @@ def __init__(__self__, *, type: str, copy_step_details: Optional['outputs.WorkflowStepCopyStepDetails'] = None, custom_step_details: Optional['outputs.WorkflowStepCustomStepDetails'] = None, + decrypt_step_details: Optional['outputs.WorkflowStepDecryptStepDetails'] = None, delete_step_details: Optional['outputs.WorkflowStepDeleteStepDetails'] = None, tag_step_details: Optional['outputs.WorkflowStepTagStepDetails'] = None): """ - :param str type: One of the following step types are supported. `COPY`, `CUSTOM`, `DELETE`, and `TAG`. + :param str type: One of the following step types are supported. `COPY`, `CUSTOM`, `DECRYPT`, `DELETE`, and `TAG`. :param 'WorkflowStepCopyStepDetailsArgs' copy_step_details: Details for a step that performs a file copy. See Copy Step Details below. :param 'WorkflowStepCustomStepDetailsArgs' custom_step_details: Details for a step that invokes a lambda function. + :param 'WorkflowStepDecryptStepDetailsArgs' decrypt_step_details: Details for a step that decrypts the file. :param 'WorkflowStepDeleteStepDetailsArgs' delete_step_details: Details for a step that deletes the file. :param 'WorkflowStepTagStepDetailsArgs' tag_step_details: Details for a step that creates one or more tags. """ @@ -999,6 +1320,8 @@ def __init__(__self__, *, pulumi.set(__self__, "copy_step_details", copy_step_details) if custom_step_details is not None: pulumi.set(__self__, "custom_step_details", custom_step_details) + if decrypt_step_details is not None: + pulumi.set(__self__, "decrypt_step_details", decrypt_step_details) if delete_step_details is not None: pulumi.set(__self__, "delete_step_details", delete_step_details) if tag_step_details is not None: @@ -1008,7 +1331,7 @@ def __init__(__self__, *, @pulumi.getter def type(self) -> str: """ - One of the following step types are supported. `COPY`, `CUSTOM`, `DELETE`, and `TAG`. + One of the following step types are supported. `COPY`, `CUSTOM`, `DECRYPT`, `DELETE`, and `TAG`. """ return pulumi.get(self, "type") @@ -1028,6 +1351,14 @@ def custom_step_details(self) -> Optional['outputs.WorkflowStepCustomStepDetails """ return pulumi.get(self, "custom_step_details") + @property + @pulumi.getter(name="decryptStepDetails") + def decrypt_step_details(self) -> Optional['outputs.WorkflowStepDecryptStepDetails']: + """ + Details for a step that decrypts the file. + """ + return pulumi.get(self, "decrypt_step_details") + @property @pulumi.getter(name="deleteStepDetails") def delete_step_details(self) -> Optional['outputs.WorkflowStepDeleteStepDetails']: @@ -1324,6 +1655,222 @@ def timeout_seconds(self) -> Optional[int]: return pulumi.get(self, "timeout_seconds") +@pulumi.output_type +class WorkflowStepDecryptStepDetails(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "destinationFileLocation": + suggest = "destination_file_location" + elif key == "overwriteExisting": + suggest = "overwrite_existing" + elif key == "sourceFileLocation": + suggest = "source_file_location" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in WorkflowStepDecryptStepDetails. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + WorkflowStepDecryptStepDetails.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + WorkflowStepDecryptStepDetails.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + type: str, + destination_file_location: Optional['outputs.WorkflowStepDecryptStepDetailsDestinationFileLocation'] = None, + name: Optional[str] = None, + overwrite_existing: Optional[str] = None, + source_file_location: Optional[str] = None): + """ + :param str type: The type of encryption used. Currently, this value must be `"PGP"`. + :param 'WorkflowStepDecryptStepDetailsDestinationFileLocationArgs' destination_file_location: Specifies the location for the file being copied. Use ${Transfer:username} in this field to parametrize the destination prefix by username. + :param str name: The name of the step, used as an identifier. + :param str overwrite_existing: A flag that indicates whether or not to overwrite an existing file of the same name. The default is `FALSE`. Valid values are `TRUE` and `FALSE`. + :param str source_file_location: Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. + """ + pulumi.set(__self__, "type", type) + if destination_file_location is not None: + pulumi.set(__self__, "destination_file_location", destination_file_location) + if name is not None: + pulumi.set(__self__, "name", name) + if overwrite_existing is not None: + pulumi.set(__self__, "overwrite_existing", overwrite_existing) + if source_file_location is not None: + pulumi.set(__self__, "source_file_location", source_file_location) + + @property + @pulumi.getter + def type(self) -> str: + """ + The type of encryption used. Currently, this value must be `"PGP"`. + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="destinationFileLocation") + def destination_file_location(self) -> Optional['outputs.WorkflowStepDecryptStepDetailsDestinationFileLocation']: + """ + Specifies the location for the file being copied. Use ${Transfer:username} in this field to parametrize the destination prefix by username. + """ + return pulumi.get(self, "destination_file_location") + + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + The name of the step, used as an identifier. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="overwriteExisting") + def overwrite_existing(self) -> Optional[str]: + """ + A flag that indicates whether or not to overwrite an existing file of the same name. The default is `FALSE`. Valid values are `TRUE` and `FALSE`. + """ + return pulumi.get(self, "overwrite_existing") + + @property + @pulumi.getter(name="sourceFileLocation") + def source_file_location(self) -> Optional[str]: + """ + Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow. Enter ${previous.file} to use the previous file as the input. In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value. Enter ${original.file} to use the originally-uploaded file location as input for this step. + """ + return pulumi.get(self, "source_file_location") + + +@pulumi.output_type +class WorkflowStepDecryptStepDetailsDestinationFileLocation(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "efsFileLocation": + suggest = "efs_file_location" + elif key == "s3FileLocation": + suggest = "s3_file_location" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in WorkflowStepDecryptStepDetailsDestinationFileLocation. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + WorkflowStepDecryptStepDetailsDestinationFileLocation.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + WorkflowStepDecryptStepDetailsDestinationFileLocation.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + efs_file_location: Optional['outputs.WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocation'] = None, + s3_file_location: Optional['outputs.WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocation'] = None): + """ + :param 'WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocationArgs' efs_file_location: Specifies the details for the EFS file being copied. + :param 'WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocationArgs' s3_file_location: Specifies the details for the S3 file being copied. + """ + if efs_file_location is not None: + pulumi.set(__self__, "efs_file_location", efs_file_location) + if s3_file_location is not None: + pulumi.set(__self__, "s3_file_location", s3_file_location) + + @property + @pulumi.getter(name="efsFileLocation") + def efs_file_location(self) -> Optional['outputs.WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocation']: + """ + Specifies the details for the EFS file being copied. + """ + return pulumi.get(self, "efs_file_location") + + @property + @pulumi.getter(name="s3FileLocation") + def s3_file_location(self) -> Optional['outputs.WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocation']: + """ + Specifies the details for the S3 file being copied. + """ + return pulumi.get(self, "s3_file_location") + + +@pulumi.output_type +class WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocation(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "fileSystemId": + suggest = "file_system_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocation. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocation.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + WorkflowStepDecryptStepDetailsDestinationFileLocationEfsFileLocation.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + file_system_id: Optional[str] = None, + path: Optional[str] = None): + """ + :param str file_system_id: The ID of the file system, assigned by Amazon EFS. + :param str path: The pathname for the folder being used by a workflow. + """ + if file_system_id is not None: + pulumi.set(__self__, "file_system_id", file_system_id) + if path is not None: + pulumi.set(__self__, "path", path) + + @property + @pulumi.getter(name="fileSystemId") + def file_system_id(self) -> Optional[str]: + """ + The ID of the file system, assigned by Amazon EFS. + """ + return pulumi.get(self, "file_system_id") + + @property + @pulumi.getter + def path(self) -> Optional[str]: + """ + The pathname for the folder being used by a workflow. + """ + return pulumi.get(self, "path") + + +@pulumi.output_type +class WorkflowStepDecryptStepDetailsDestinationFileLocationS3FileLocation(dict): + def __init__(__self__, *, + bucket: Optional[str] = None, + key: Optional[str] = None): + """ + :param str bucket: Specifies the S3 bucket for the customer input file. + :param str key: The name assigned to the file when it was created in S3. You use the object key to retrieve the object. + """ + if bucket is not None: + pulumi.set(__self__, "bucket", bucket) + if key is not None: + pulumi.set(__self__, "key", key) + + @property + @pulumi.getter + def bucket(self) -> Optional[str]: + """ + Specifies the S3 bucket for the customer input file. + """ + return pulumi.get(self, "bucket") + + @property + @pulumi.getter + def key(self) -> Optional[str]: + """ + The name assigned to the file when it was created in S3. You use the object key to retrieve the object. + """ + return pulumi.get(self, "key") + + @pulumi.output_type class WorkflowStepDeleteStepDetails(dict): @staticmethod diff --git a/sdk/python/pulumi_aws/transfer/server.py b/sdk/python/pulumi_aws/transfer/server.py index caf97e374d9..c1135f6f541 100644 --- a/sdk/python/pulumi_aws/transfer/server.py +++ b/sdk/python/pulumi_aws/transfer/server.py @@ -29,6 +29,7 @@ def __init__(__self__, *, logging_role: Optional[pulumi.Input[str]] = None, post_authentication_login_banner: Optional[pulumi.Input[str]] = None, pre_authentication_login_banner: Optional[pulumi.Input[str]] = None, + protocol_details: Optional[pulumi.Input['ServerProtocolDetailsArgs']] = None, protocols: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, security_policy_name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, @@ -43,12 +44,13 @@ def __init__(__self__, *, :param pulumi.Input[str] endpoint_type: The type of endpoint that you want your SFTP server connect to. If you connect to a `VPC` (or `VPC_ENDPOINT`), your SFTP server isn't accessible over the public internet. If you want to connect your SFTP server via public internet, set `PUBLIC`. Defaults to `PUBLIC`. :param pulumi.Input[bool] force_destroy: A boolean that indicates all users associated with the server should be deleted so that the Server can be destroyed without error. The default value is `false`. This option only applies to servers configured with a `SERVICE_MANAGED` `identity_provider_type`. :param pulumi.Input[str] function: The ARN for a lambda function to use for the Identity provider. - :param pulumi.Input[str] host_key: RSA private key (e.g., as generated by the `ssh-keygen -N "" -m PEM -f my-new-server-key` command). + :param pulumi.Input[str] host_key: RSA, ECDSA, or ED25519 private key (e.g., as generated by the `ssh-keygen -t rsa -b 2048 -N "" -m PEM -f my-new-server-key`, `ssh-keygen -t ecdsa -b 256 -N "" -m PEM -f my-new-server-key` or `ssh-keygen -t ed25519 -N "" -f my-new-server-key` commands). :param pulumi.Input[str] identity_provider_type: The mode of authentication enabled for this service. The default value is `SERVICE_MANAGED`, which allows you to store and access SFTP user credentials within the service. `API_GATEWAY` indicates that user authentication requires a call to an API Gateway endpoint URL provided by you to integrate an identity provider of your choice. Using `AWS_DIRECTORY_SERVICE` will allow for authentication against AWS Managed Active Directory or Microsoft Active Directory in your on-premises environment, or in AWS using AD Connectors. Use the `AWS_LAMBDA` value to directly use a Lambda function as your identity provider. If you choose this value, you must specify the ARN for the lambda function in the `function` argument. :param pulumi.Input[str] invocation_role: Amazon Resource Name (ARN) of the IAM role used to authenticate the user account with an `identity_provider_type` of `API_GATEWAY`. :param pulumi.Input[str] logging_role: Amazon Resource Name (ARN) of an IAM role that allows the service to write your SFTP users’ activity to your Amazon CloudWatch logs for monitoring and auditing purposes. :param pulumi.Input[str] post_authentication_login_banner: Specify a string to display when users connect to a server. This string is displayed after the user authenticates. The SFTP protocol does not support post-authentication display banners. :param pulumi.Input[str] pre_authentication_login_banner: Specify a string to display when users connect to a server. This string is displayed before the user authenticates. + :param pulumi.Input['ServerProtocolDetailsArgs'] protocol_details: The protocol settings that are configured for your server. :param pulumi.Input[Sequence[pulumi.Input[str]]] protocols: Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are: :param pulumi.Input[str] security_policy_name: Specifies the name of the security policy that is attached to the server. Possible values are `TransferSecurityPolicy-2018-11`, `TransferSecurityPolicy-2020-06`, `TransferSecurityPolicy-FIPS-2020-06` and `TransferSecurityPolicy-2022-03`. Default value is: `TransferSecurityPolicy-2018-11`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] 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. @@ -81,6 +83,8 @@ def __init__(__self__, *, pulumi.set(__self__, "post_authentication_login_banner", post_authentication_login_banner) if pre_authentication_login_banner is not None: pulumi.set(__self__, "pre_authentication_login_banner", pre_authentication_login_banner) + if protocol_details is not None: + pulumi.set(__self__, "protocol_details", protocol_details) if protocols is not None: pulumi.set(__self__, "protocols", protocols) if security_policy_name is not None: @@ -180,7 +184,7 @@ def function(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="hostKey") def host_key(self) -> Optional[pulumi.Input[str]]: """ - RSA private key (e.g., as generated by the `ssh-keygen -N "" -m PEM -f my-new-server-key` command). + RSA, ECDSA, or ED25519 private key (e.g., as generated by the `ssh-keygen -t rsa -b 2048 -N "" -m PEM -f my-new-server-key`, `ssh-keygen -t ecdsa -b 256 -N "" -m PEM -f my-new-server-key` or `ssh-keygen -t ed25519 -N "" -f my-new-server-key` commands). """ return pulumi.get(self, "host_key") @@ -248,6 +252,18 @@ def pre_authentication_login_banner(self) -> Optional[pulumi.Input[str]]: def pre_authentication_login_banner(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "pre_authentication_login_banner", value) + @property + @pulumi.getter(name="protocolDetails") + def protocol_details(self) -> Optional[pulumi.Input['ServerProtocolDetailsArgs']]: + """ + The protocol settings that are configured for your server. + """ + return pulumi.get(self, "protocol_details") + + @protocol_details.setter + def protocol_details(self, value: Optional[pulumi.Input['ServerProtocolDetailsArgs']]): + pulumi.set(self, "protocol_details", value) + @property @pulumi.getter def protocols(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: @@ -328,6 +344,7 @@ def __init__(__self__, *, logging_role: Optional[pulumi.Input[str]] = None, post_authentication_login_banner: Optional[pulumi.Input[str]] = None, pre_authentication_login_banner: Optional[pulumi.Input[str]] = None, + protocol_details: Optional[pulumi.Input['ServerProtocolDetailsArgs']] = None, protocols: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, security_policy_name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, @@ -345,13 +362,14 @@ def __init__(__self__, *, :param pulumi.Input[str] endpoint_type: The type of endpoint that you want your SFTP server connect to. If you connect to a `VPC` (or `VPC_ENDPOINT`), your SFTP server isn't accessible over the public internet. If you want to connect your SFTP server via public internet, set `PUBLIC`. Defaults to `PUBLIC`. :param pulumi.Input[bool] force_destroy: A boolean that indicates all users associated with the server should be deleted so that the Server can be destroyed without error. The default value is `false`. This option only applies to servers configured with a `SERVICE_MANAGED` `identity_provider_type`. :param pulumi.Input[str] function: The ARN for a lambda function to use for the Identity provider. - :param pulumi.Input[str] host_key: RSA private key (e.g., as generated by the `ssh-keygen -N "" -m PEM -f my-new-server-key` command). + :param pulumi.Input[str] host_key: RSA, ECDSA, or ED25519 private key (e.g., as generated by the `ssh-keygen -t rsa -b 2048 -N "" -m PEM -f my-new-server-key`, `ssh-keygen -t ecdsa -b 256 -N "" -m PEM -f my-new-server-key` or `ssh-keygen -t ed25519 -N "" -f my-new-server-key` commands). :param pulumi.Input[str] host_key_fingerprint: This value contains the message-digest algorithm (MD5) hash of the server's host key. This value is equivalent to the output of the `ssh-keygen -l -E md5 -f my-new-server-key` command. :param pulumi.Input[str] identity_provider_type: The mode of authentication enabled for this service. The default value is `SERVICE_MANAGED`, which allows you to store and access SFTP user credentials within the service. `API_GATEWAY` indicates that user authentication requires a call to an API Gateway endpoint URL provided by you to integrate an identity provider of your choice. Using `AWS_DIRECTORY_SERVICE` will allow for authentication against AWS Managed Active Directory or Microsoft Active Directory in your on-premises environment, or in AWS using AD Connectors. Use the `AWS_LAMBDA` value to directly use a Lambda function as your identity provider. If you choose this value, you must specify the ARN for the lambda function in the `function` argument. :param pulumi.Input[str] invocation_role: Amazon Resource Name (ARN) of the IAM role used to authenticate the user account with an `identity_provider_type` of `API_GATEWAY`. :param pulumi.Input[str] logging_role: Amazon Resource Name (ARN) of an IAM role that allows the service to write your SFTP users’ activity to your Amazon CloudWatch logs for monitoring and auditing purposes. :param pulumi.Input[str] post_authentication_login_banner: Specify a string to display when users connect to a server. This string is displayed after the user authenticates. The SFTP protocol does not support post-authentication display banners. :param pulumi.Input[str] pre_authentication_login_banner: Specify a string to display when users connect to a server. This string is displayed before the user authenticates. + :param pulumi.Input['ServerProtocolDetailsArgs'] protocol_details: The protocol settings that are configured for your server. :param pulumi.Input[Sequence[pulumi.Input[str]]] protocols: Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are: :param pulumi.Input[str] security_policy_name: Specifies the name of the security policy that is attached to the server. Possible values are `TransferSecurityPolicy-2018-11`, `TransferSecurityPolicy-2020-06`, `TransferSecurityPolicy-FIPS-2020-06` and `TransferSecurityPolicy-2022-03`. Default value is: `TransferSecurityPolicy-2018-11`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] 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. @@ -391,6 +409,8 @@ def __init__(__self__, *, pulumi.set(__self__, "post_authentication_login_banner", post_authentication_login_banner) if pre_authentication_login_banner is not None: pulumi.set(__self__, "pre_authentication_login_banner", pre_authentication_login_banner) + if protocol_details is not None: + pulumi.set(__self__, "protocol_details", protocol_details) if protocols is not None: pulumi.set(__self__, "protocols", protocols) if security_policy_name is not None: @@ -516,7 +536,7 @@ def function(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="hostKey") def host_key(self) -> Optional[pulumi.Input[str]]: """ - RSA private key (e.g., as generated by the `ssh-keygen -N "" -m PEM -f my-new-server-key` command). + RSA, ECDSA, or ED25519 private key (e.g., as generated by the `ssh-keygen -t rsa -b 2048 -N "" -m PEM -f my-new-server-key`, `ssh-keygen -t ecdsa -b 256 -N "" -m PEM -f my-new-server-key` or `ssh-keygen -t ed25519 -N "" -f my-new-server-key` commands). """ return pulumi.get(self, "host_key") @@ -596,6 +616,18 @@ def pre_authentication_login_banner(self) -> Optional[pulumi.Input[str]]: def pre_authentication_login_banner(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "pre_authentication_login_banner", value) + @property + @pulumi.getter(name="protocolDetails") + def protocol_details(self) -> Optional[pulumi.Input['ServerProtocolDetailsArgs']]: + """ + The protocol settings that are configured for your server. + """ + return pulumi.get(self, "protocol_details") + + @protocol_details.setter + def protocol_details(self, value: Optional[pulumi.Input['ServerProtocolDetailsArgs']]): + pulumi.set(self, "protocol_details", value) + @property @pulumi.getter def protocols(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: @@ -687,6 +719,7 @@ def __init__(__self__, logging_role: Optional[pulumi.Input[str]] = None, post_authentication_login_banner: Optional[pulumi.Input[str]] = None, pre_authentication_login_banner: Optional[pulumi.Input[str]] = None, + protocol_details: Optional[pulumi.Input[pulumi.InputType['ServerProtocolDetailsArgs']]] = None, protocols: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, security_policy_name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, @@ -793,12 +826,13 @@ def __init__(__self__, :param pulumi.Input[str] endpoint_type: The type of endpoint that you want your SFTP server connect to. If you connect to a `VPC` (or `VPC_ENDPOINT`), your SFTP server isn't accessible over the public internet. If you want to connect your SFTP server via public internet, set `PUBLIC`. Defaults to `PUBLIC`. :param pulumi.Input[bool] force_destroy: A boolean that indicates all users associated with the server should be deleted so that the Server can be destroyed without error. The default value is `false`. This option only applies to servers configured with a `SERVICE_MANAGED` `identity_provider_type`. :param pulumi.Input[str] function: The ARN for a lambda function to use for the Identity provider. - :param pulumi.Input[str] host_key: RSA private key (e.g., as generated by the `ssh-keygen -N "" -m PEM -f my-new-server-key` command). + :param pulumi.Input[str] host_key: RSA, ECDSA, or ED25519 private key (e.g., as generated by the `ssh-keygen -t rsa -b 2048 -N "" -m PEM -f my-new-server-key`, `ssh-keygen -t ecdsa -b 256 -N "" -m PEM -f my-new-server-key` or `ssh-keygen -t ed25519 -N "" -f my-new-server-key` commands). :param pulumi.Input[str] identity_provider_type: The mode of authentication enabled for this service. The default value is `SERVICE_MANAGED`, which allows you to store and access SFTP user credentials within the service. `API_GATEWAY` indicates that user authentication requires a call to an API Gateway endpoint URL provided by you to integrate an identity provider of your choice. Using `AWS_DIRECTORY_SERVICE` will allow for authentication against AWS Managed Active Directory or Microsoft Active Directory in your on-premises environment, or in AWS using AD Connectors. Use the `AWS_LAMBDA` value to directly use a Lambda function as your identity provider. If you choose this value, you must specify the ARN for the lambda function in the `function` argument. :param pulumi.Input[str] invocation_role: Amazon Resource Name (ARN) of the IAM role used to authenticate the user account with an `identity_provider_type` of `API_GATEWAY`. :param pulumi.Input[str] logging_role: Amazon Resource Name (ARN) of an IAM role that allows the service to write your SFTP users’ activity to your Amazon CloudWatch logs for monitoring and auditing purposes. :param pulumi.Input[str] post_authentication_login_banner: Specify a string to display when users connect to a server. This string is displayed after the user authenticates. The SFTP protocol does not support post-authentication display banners. :param pulumi.Input[str] pre_authentication_login_banner: Specify a string to display when users connect to a server. This string is displayed before the user authenticates. + :param pulumi.Input[pulumi.InputType['ServerProtocolDetailsArgs']] protocol_details: The protocol settings that are configured for your server. :param pulumi.Input[Sequence[pulumi.Input[str]]] protocols: Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are: :param pulumi.Input[str] security_policy_name: Specifies the name of the security policy that is attached to the server. Possible values are `TransferSecurityPolicy-2018-11`, `TransferSecurityPolicy-2020-06`, `TransferSecurityPolicy-FIPS-2020-06` and `TransferSecurityPolicy-2022-03`. Default value is: `TransferSecurityPolicy-2018-11`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] 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. @@ -930,6 +964,7 @@ def _internal_init(__self__, logging_role: Optional[pulumi.Input[str]] = None, post_authentication_login_banner: Optional[pulumi.Input[str]] = None, pre_authentication_login_banner: Optional[pulumi.Input[str]] = None, + protocol_details: Optional[pulumi.Input[pulumi.InputType['ServerProtocolDetailsArgs']]] = None, protocols: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, security_policy_name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, @@ -957,6 +992,7 @@ def _internal_init(__self__, __props__.__dict__["logging_role"] = logging_role __props__.__dict__["post_authentication_login_banner"] = None if post_authentication_login_banner is None else pulumi.Output.secret(post_authentication_login_banner) __props__.__dict__["pre_authentication_login_banner"] = None if pre_authentication_login_banner is None else pulumi.Output.secret(pre_authentication_login_banner) + __props__.__dict__["protocol_details"] = protocol_details __props__.__dict__["protocols"] = protocols __props__.__dict__["security_policy_name"] = security_policy_name __props__.__dict__["tags"] = tags @@ -994,6 +1030,7 @@ def get(resource_name: str, logging_role: Optional[pulumi.Input[str]] = None, post_authentication_login_banner: Optional[pulumi.Input[str]] = None, pre_authentication_login_banner: Optional[pulumi.Input[str]] = None, + protocol_details: Optional[pulumi.Input[pulumi.InputType['ServerProtocolDetailsArgs']]] = None, protocols: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, security_policy_name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, @@ -1016,13 +1053,14 @@ def get(resource_name: str, :param pulumi.Input[str] endpoint_type: The type of endpoint that you want your SFTP server connect to. If you connect to a `VPC` (or `VPC_ENDPOINT`), your SFTP server isn't accessible over the public internet. If you want to connect your SFTP server via public internet, set `PUBLIC`. Defaults to `PUBLIC`. :param pulumi.Input[bool] force_destroy: A boolean that indicates all users associated with the server should be deleted so that the Server can be destroyed without error. The default value is `false`. This option only applies to servers configured with a `SERVICE_MANAGED` `identity_provider_type`. :param pulumi.Input[str] function: The ARN for a lambda function to use for the Identity provider. - :param pulumi.Input[str] host_key: RSA private key (e.g., as generated by the `ssh-keygen -N "" -m PEM -f my-new-server-key` command). + :param pulumi.Input[str] host_key: RSA, ECDSA, or ED25519 private key (e.g., as generated by the `ssh-keygen -t rsa -b 2048 -N "" -m PEM -f my-new-server-key`, `ssh-keygen -t ecdsa -b 256 -N "" -m PEM -f my-new-server-key` or `ssh-keygen -t ed25519 -N "" -f my-new-server-key` commands). :param pulumi.Input[str] host_key_fingerprint: This value contains the message-digest algorithm (MD5) hash of the server's host key. This value is equivalent to the output of the `ssh-keygen -l -E md5 -f my-new-server-key` command. :param pulumi.Input[str] identity_provider_type: The mode of authentication enabled for this service. The default value is `SERVICE_MANAGED`, which allows you to store and access SFTP user credentials within the service. `API_GATEWAY` indicates that user authentication requires a call to an API Gateway endpoint URL provided by you to integrate an identity provider of your choice. Using `AWS_DIRECTORY_SERVICE` will allow for authentication against AWS Managed Active Directory or Microsoft Active Directory in your on-premises environment, or in AWS using AD Connectors. Use the `AWS_LAMBDA` value to directly use a Lambda function as your identity provider. If you choose this value, you must specify the ARN for the lambda function in the `function` argument. :param pulumi.Input[str] invocation_role: Amazon Resource Name (ARN) of the IAM role used to authenticate the user account with an `identity_provider_type` of `API_GATEWAY`. :param pulumi.Input[str] logging_role: Amazon Resource Name (ARN) of an IAM role that allows the service to write your SFTP users’ activity to your Amazon CloudWatch logs for monitoring and auditing purposes. :param pulumi.Input[str] post_authentication_login_banner: Specify a string to display when users connect to a server. This string is displayed after the user authenticates. The SFTP protocol does not support post-authentication display banners. :param pulumi.Input[str] pre_authentication_login_banner: Specify a string to display when users connect to a server. This string is displayed before the user authenticates. + :param pulumi.Input[pulumi.InputType['ServerProtocolDetailsArgs']] protocol_details: The protocol settings that are configured for your server. :param pulumi.Input[Sequence[pulumi.Input[str]]] protocols: Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are: :param pulumi.Input[str] security_policy_name: Specifies the name of the security policy that is attached to the server. Possible values are `TransferSecurityPolicy-2018-11`, `TransferSecurityPolicy-2020-06`, `TransferSecurityPolicy-FIPS-2020-06` and `TransferSecurityPolicy-2022-03`. Default value is: `TransferSecurityPolicy-2018-11`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] 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. @@ -1050,6 +1088,7 @@ def get(resource_name: str, __props__.__dict__["logging_role"] = logging_role __props__.__dict__["post_authentication_login_banner"] = post_authentication_login_banner __props__.__dict__["pre_authentication_login_banner"] = pre_authentication_login_banner + __props__.__dict__["protocol_details"] = protocol_details __props__.__dict__["protocols"] = protocols __props__.__dict__["security_policy_name"] = security_policy_name __props__.__dict__["tags"] = tags @@ -1134,7 +1173,7 @@ def function(self) -> pulumi.Output[Optional[str]]: @pulumi.getter(name="hostKey") def host_key(self) -> pulumi.Output[Optional[str]]: """ - RSA private key (e.g., as generated by the `ssh-keygen -N "" -m PEM -f my-new-server-key` command). + RSA, ECDSA, or ED25519 private key (e.g., as generated by the `ssh-keygen -t rsa -b 2048 -N "" -m PEM -f my-new-server-key`, `ssh-keygen -t ecdsa -b 256 -N "" -m PEM -f my-new-server-key` or `ssh-keygen -t ed25519 -N "" -f my-new-server-key` commands). """ return pulumi.get(self, "host_key") @@ -1186,6 +1225,14 @@ def pre_authentication_login_banner(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "pre_authentication_login_banner") + @property + @pulumi.getter(name="protocolDetails") + def protocol_details(self) -> pulumi.Output['outputs.ServerProtocolDetails']: + """ + The protocol settings that are configured for your server. + """ + return pulumi.get(self, "protocol_details") + @property @pulumi.getter def protocols(self) -> pulumi.Output[Sequence[str]]: