diff --git a/.docs.version b/.docs.version index bf364aa905..8a5ac9e00c 100644 --- a/.docs.version +++ b/.docs.version @@ -1 +1 @@ -c0dceef1a3949735a691d57e38d7d615941e6d8b +abe8eadc17c1700e7af9dc26ce0371aedca7c5eb diff --git a/aws-cloudformation-schema/aws-controltower-landingzone.json b/aws-cloudformation-schema/aws-controltower-landingzone.json index 1ff79de592..b2f4c6a54d 100644 --- a/aws-cloudformation-schema/aws-controltower-landingzone.json +++ b/aws-cloudformation-schema/aws-controltower-landingzone.json @@ -1,60 +1,87 @@ { + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "tagProperty" : "/properties/Tags", + "cloudFormationSystemTags" : true + }, + "handlers" : { + "read" : { + "permissions" : [ "controltower:GetLandingZone", "controltower:ListTagsForResource" ] + }, + "create" : { + "permissions" : [ "controltower:CreateLandingZone", "controltower:GetLandingZoneOperation", "controltower:ListTagsForResource", "controltower:TagResource", "controltower:GetLandingZone", "cloudformation:DescribeOrganizationsAccess", "servicecatalog:AssociatePrincipalWithPortfolio", "servicecatalog:AssociateProductWithPortfolio", "servicecatalog:CreatePortfolio", "servicecatalog:CreateProduct", "servicecatalog:CreateProvisioningArtifact", "servicecatalog:ListPortfolios", "servicecatalog:ListProvisioningArtifacts", "servicecatalog:SearchProductsAsAdmin", "servicecatalog:UpdatePortfolio", "servicecatalog:UpdateProvisioningArtifact", "servicecatalog:ListPrincipalsForPortfolio", "organizations:CreateOrganizationalUnit", "organizations:CreateOrganization", "organizations:UpdatePolicy", "organizations:CreatePolicy", "organizations:AttachPolicy", "organizations:DetachPolicy", "organizations:DeletePolicy", "organizations:EnablePolicyType", "organizations:EnableAWSServiceAccess", "organizations:ListRoots", "sso:GetPeregrineStatus", "sso:ListDirectoryAssociations", "sso:StartPeregrine", "sso:RegisterRegion" ] + }, + "update" : { + "permissions" : [ "controltower:UpdateLandingZone", "controltower:GetLandingZoneOperation", "controltower:ListTagsForResource", "controltower:TagResource", "controltower:GetLandingZone", "controltower:UntagResource", "cloudformation:DescribeOrganizationsAccess", "servicecatalog:AssociatePrincipalWithPortfolio", "servicecatalog:AssociateProductWithPortfolio", "servicecatalog:CreatePortfolio", "servicecatalog:CreateProduct", "servicecatalog:CreateProvisioningArtifact", "servicecatalog:ListPortfolios", "servicecatalog:ListProvisioningArtifacts", "servicecatalog:SearchProductsAsAdmin", "servicecatalog:UpdatePortfolio", "servicecatalog:UpdateProvisioningArtifact", "servicecatalog:ListPrincipalsForPortfolio", "organizations:CreateOrganizationalUnit", "organizations:CreateOrganization", "organizations:UpdatePolicy", "organizations:CreatePolicy", "organizations:AttachPolicy", "organizations:DetachPolicy", "organizations:DeletePolicy", "organizations:EnablePolicyType", "organizations:EnableAWSServiceAccess", "organizations:ListRoots", "sso:GetPeregrineStatus", "sso:ListDirectoryAssociations", "sso:StartPeregrine", "sso:RegisterRegion" ] + }, + "list" : { + "permissions" : [ "controltower:ListLandingZones" ] + }, + "delete" : { + "permissions" : [ "controltower:DeleteLandingZone", "controltower:GetLandingZone", "controltower:GetLandingZoneOperation", "cloudformation:DescribeOrganizationsAccess", "servicecatalog:ListPortfolios", "servicecatalog:ListProvisioningArtifacts", "servicecatalog:SearchProductsAsAdmin", "servicecatalog:DeleteProvisioningArtifact", "servicecatalog:ListPrincipalsForPortfolio", "servicecatalog:DeleteProduct", "servicecatalog:DisassociatePrincipalFromPortfolio", "servicecatalog:DisassociateProductFromPortfolio", "servicecatalog:DeletePortfolio", "organizations:AttachPolicy", "organizations:DetachPolicy", "organizations:DeletePolicy", "organizations:ListRoots", "sso:GetPeregrineStatus", "sso:ListDirectoryAssociations", "iam:DeleteRolePolicy", "iam:DetachRolePolicy", "iam:DeleteRole" ] + } + }, "typeName" : "AWS::ControlTower::LandingZone", + "readOnlyProperties" : [ "/properties/LandingZoneIdentifier", "/properties/Arn", "/properties/Status", "/properties/LatestAvailableVersion", "/properties/DriftStatus" ], "description" : "Definition of AWS::ControlTower::LandingZone Resource Type", + "additionalProperties" : false, + "primaryIdentifier" : [ "/properties/LandingZoneIdentifier" ], "definitions" : { - "LandingZoneDriftStatus" : { - "type" : "string", - "enum" : [ "DRIFTED", "IN_SYNC" ] - }, - "LandingZoneStatus" : { - "type" : "string", - "enum" : [ "ACTIVE", "PROCESSING", "FAILED" ] - }, "Tag" : { + "additionalProperties" : false, "type" : "object", "properties" : { - "Key" : { + "Value" : { + "minLength" : 0, "type" : "string", - "maxLength" : 256, - "minLength" : 1 + "maxLength" : 256 }, - "Value" : { + "Key" : { + "minLength" : 1, "type" : "string", - "maxLength" : 256, - "minLength" : 0 + "maxLength" : 256 } - }, - "additionalProperties" : false - } - }, - "properties" : { - "LandingZoneIdentifier" : { - "type" : "string" + } }, - "Arn" : { + "LandingZoneStatus" : { "type" : "string", - "maxLength" : 2048, - "minLength" : 20, - "pattern" : "^arn:aws[0-9a-zA-Z_\\-:\\/]+$" + "enum" : [ "ACTIVE", "PROCESSING", "FAILED" ] }, + "LandingZoneDriftStatus" : { + "type" : "string", + "enum" : [ "DRIFTED", "IN_SYNC" ] + } + }, + "properties" : { "Status" : { "$ref" : "#/definitions/LandingZoneStatus" }, "LatestAvailableVersion" : { + "minLength" : 3, + "pattern" : "\\d+.\\d+", "type" : "string", - "maxLength" : 10, + "maxLength" : 10 + }, + "Version" : { "minLength" : 3, - "pattern" : "\\d+.\\d+" + "pattern" : "\\d+.\\d+", + "type" : "string", + "maxLength" : 10 }, "DriftStatus" : { "$ref" : "#/definitions/LandingZoneDriftStatus" }, - "Manifest" : { }, - "Version" : { + "Arn" : { + "minLength" : 20, + "pattern" : "^arn:aws[0-9a-zA-Z_\\-:\\/]+$", "type" : "string", - "maxLength" : 10, - "minLength" : 3, - "pattern" : "\\d+.\\d+" + "maxLength" : 2048 + }, + "Manifest" : { }, + "LandingZoneIdentifier" : { + "type" : "string" }, "Tags" : { "type" : "array", @@ -63,32 +90,5 @@ } } }, - "required" : [ "Manifest", "Version" ], - "readOnlyProperties" : [ "/properties/LandingZoneIdentifier", "/properties/Arn", "/properties/Status", "/properties/LatestAvailableVersion", "/properties/DriftStatus" ], - "primaryIdentifier" : [ "/properties/LandingZoneIdentifier" ], - "tagging" : { - "taggable" : true, - "tagOnCreate" : true, - "tagUpdatable" : true, - "cloudFormationSystemTags" : true, - "tagProperty" : "/properties/Tags" - }, - "handlers" : { - "create" : { - "permissions" : [ "controltower:CreateLandingZone", "controltower:GetLandingZoneOperation", "controltower:ListTagsForResource", "controltower:TagResource", "controltower:GetLandingZone", "cloudformation:DescribeOrganizationsAccess", "servicecatalog:AssociatePrincipalWithPortfolio", "servicecatalog:AssociateProductWithPortfolio", "servicecatalog:CreatePortfolio", "servicecatalog:CreateProduct", "servicecatalog:CreateProvisioningArtifact", "servicecatalog:ListPortfolios", "servicecatalog:ListProvisioningArtifacts", "servicecatalog:SearchProductsAsAdmin", "servicecatalog:UpdatePortfolio", "servicecatalog:UpdateProvisioningArtifact", "servicecatalog:ListPrincipalsForPortfolio", "organizations:CreateOrganizationalUnit", "organizations:CreateOrganization", "organizations:UpdatePolicy", "organizations:CreatePolicy", "organizations:AttachPolicy", "organizations:DetachPolicy", "organizations:DeletePolicy", "organizations:EnablePolicyType", "organizations:EnableAWSServiceAccess", "organizations:ListRoots", "sso:GetPeregrineStatus", "sso:ListDirectoryAssociations", "sso:StartPeregrine", "sso:RegisterRegion" ] - }, - "read" : { - "permissions" : [ "controltower:GetLandingZone", "controltower:ListTagsForResource" ] - }, - "update" : { - "permissions" : [ "controltower:UpdateLandingZone", "controltower:GetLandingZoneOperation", "controltower:ListTagsForResource", "controltower:TagResource", "controltower:GetLandingZone", "controltower:UntagResource", "cloudformation:DescribeOrganizationsAccess", "servicecatalog:AssociatePrincipalWithPortfolio", "servicecatalog:AssociateProductWithPortfolio", "servicecatalog:CreatePortfolio", "servicecatalog:CreateProduct", "servicecatalog:CreateProvisioningArtifact", "servicecatalog:ListPortfolios", "servicecatalog:ListProvisioningArtifacts", "servicecatalog:SearchProductsAsAdmin", "servicecatalog:UpdatePortfolio", "servicecatalog:UpdateProvisioningArtifact", "servicecatalog:ListPrincipalsForPortfolio", "organizations:CreateOrganizationalUnit", "organizations:CreateOrganization", "organizations:UpdatePolicy", "organizations:CreatePolicy", "organizations:AttachPolicy", "organizations:DetachPolicy", "organizations:DeletePolicy", "organizations:EnablePolicyType", "organizations:EnableAWSServiceAccess", "organizations:ListRoots", "sso:GetPeregrineStatus", "sso:ListDirectoryAssociations", "sso:StartPeregrine", "sso:RegisterRegion" ] - }, - "delete" : { - "permissions" : [ "controltower:DeleteLandingZone", "controltower:GetLandingZone", "controltower:GetLandingZoneOperation", "cloudformation:DescribeOrganizationsAccess", "servicecatalog:ListPortfolios", "servicecatalog:ListProvisioningArtifacts", "servicecatalog:SearchProductsAsAdmin", "servicecatalog:DeleteProvisioningArtifact", "servicecatalog:ListPrincipalsForPortfolio", "servicecatalog:DeleteProduct", "servicecatalog:DisassociatePrincipalFromPortfolio", "servicecatalog:DisassociateProductFromPortfolio", "servicecatalog:DeletePortfolio", "organizations:AttachPolicy", "organizations:DetachPolicy", "organizations:DeletePolicy", "organizations:ListRoots", "sso:GetPeregrineStatus", "sso:ListDirectoryAssociations", "iam:DeleteRolePolicy", "iam:DetachRolePolicy", "iam:DeleteRole" ] - }, - "list" : { - "permissions" : [ "controltower:ListLandingZones" ] - } - }, - "additionalProperties" : false + "required" : [ "Manifest", "Version" ] } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-deadline-fleet.json b/aws-cloudformation-schema/aws-deadline-fleet.json index 23ee58279c..52218ad3e4 100644 --- a/aws-cloudformation-schema/aws-deadline-fleet.json +++ b/aws-cloudformation-schema/aws-deadline-fleet.json @@ -333,7 +333,7 @@ }, "ServiceManagedFleetOperatingSystemFamily" : { "type" : "string", - "enum" : [ "LINUX" ] + "enum" : [ "LINUX", "WINDOWS" ] }, "Tag" : { "description" : "A key-value pair to associate with a resource.", diff --git a/aws-cloudformation-schema/aws-ec2-keypair.json b/aws-cloudformation-schema/aws-ec2-keypair.json index b77ae0d92e..1875e1646e 100644 --- a/aws-cloudformation-schema/aws-ec2-keypair.json +++ b/aws-cloudformation-schema/aws-ec2-keypair.json @@ -4,7 +4,7 @@ "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", "definitions" : { "Tag" : { - "description" : "Specifies a tag. For more information, see [Add tags to a resource](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#cloudformation-add-tag-specifications).", + "description" : "Specifies a tag. For more information, see [Resource tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).", "type" : "object", "properties" : { "Key" : { diff --git a/aws-cloudformation-schema/aws-ec2-launchtemplate.json b/aws-cloudformation-schema/aws-ec2-launchtemplate.json index 046cfe6f35..d42ab5dad2 100644 --- a/aws-cloudformation-schema/aws-ec2-launchtemplate.json +++ b/aws-cloudformation-schema/aws-ec2-launchtemplate.json @@ -971,7 +971,7 @@ } }, "Tag" : { - "description" : "Specifies a tag. For more information, see [Add tags to a resource](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#cloudformation-add-tag-specifications).", + "description" : "Specifies a tag. For more information, see [Resource tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).", "additionalProperties" : false, "type" : "object", "properties" : { @@ -1093,7 +1093,7 @@ }, "TagSpecifications" : { "uniqueItems" : false, - "description" : "The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``.\n To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications).", + "description" : "The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``.\n To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications).", "type" : "array", "items" : { "$ref" : "#/definitions/LaunchTemplateTagSpecification" diff --git a/aws-cloudformation-schema/aws-glue-database.json b/aws-cloudformation-schema/aws-glue-database.json index 2e7772dff2..7ca8b4fbb6 100644 --- a/aws-cloudformation-schema/aws-glue-database.json +++ b/aws-cloudformation-schema/aws-glue-database.json @@ -1,105 +1,154 @@ { "typeName" : "AWS::Glue::Database", "description" : "Resource Type definition for AWS::Glue::Database", + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-glue.git", "additionalProperties" : false, "properties" : { "CatalogId" : { - "type" : "string" + "type" : "string", + "description" : "The AWS account ID for the account in which to create the catalog object." }, "DatabaseInput" : { - "$ref" : "#/definitions/DatabaseInput" + "$ref" : "#/definitions/DatabaseInput", + "description" : "The metadata for the database." }, - "Id" : { - "type" : "string" + "DatabaseName" : { + "type" : "string", + "description" : "The name of the database. For hive compatibility, this is folded to lowercase when it is store." } }, "definitions" : { "DatabaseIdentifier" : { "type" : "object", + "description" : "A structure that describes a target database for resource linking.", "additionalProperties" : false, "properties" : { "DatabaseName" : { - "type" : "string" + "type" : "string", + "description" : "The name of the catalog database." }, "Region" : { - "type" : "string" + "type" : "string", + "description" : "Region of the target database." }, "CatalogId" : { - "type" : "string" + "type" : "string", + "description" : "The ID of the Data Catalog in which the database resides." } } }, "PrincipalPrivileges" : { "type" : "object", + "description" : "The permissions granted to a principal.", "additionalProperties" : false, "properties" : { "Permissions" : { "type" : "array", + "description" : "The permissions that are granted to the principal.", "uniqueItems" : false, + "insertionOrder" : false, "items" : { "type" : "string" } }, "Principal" : { - "$ref" : "#/definitions/DataLakePrincipal" + "$ref" : "#/definitions/DataLakePrincipal", + "description" : "The principal who is granted permissions." } } }, "DataLakePrincipal" : { "type" : "object", + "description" : "The AWS Lake Formation principal.", "additionalProperties" : false, "properties" : { "DataLakePrincipalIdentifier" : { - "type" : "string" + "type" : "string", + "description" : "An identifier for the AWS Lake Formation principal." } } }, "FederatedDatabase" : { "type" : "object", + "description" : "A FederatedDatabase structure that references an entity outside the AWS Glue Data Catalog.", "additionalProperties" : false, "properties" : { "ConnectionName" : { - "type" : "string" + "type" : "string", + "description" : "The name of the connection to the external metastore." }, "Identifier" : { - "type" : "string" + "type" : "string", + "description" : "A unique identifier for the federated database." } } }, "DatabaseInput" : { "type" : "object", + "description" : "The structure used to create or update a database.", "additionalProperties" : false, "properties" : { "LocationUri" : { - "type" : "string" + "type" : "string", + "description" : "The location of the database (for example, an HDFS path)." }, "CreateTableDefaultPermissions" : { "type" : "array", + "description" : "Creates a set of default permissions on the table for principals. Used by AWS Lake Formation. Not used in the normal course of AWS Glue operations.", "uniqueItems" : false, + "insertionOrder" : false, "items" : { - "$ref" : "#/definitions/PrincipalPrivileges" + "$ref" : "#/definitions/PrincipalPrivileges", + "description" : "The permissions granted to a principal." } }, "Description" : { - "type" : "string" + "type" : "string", + "description" : "A description of the database." }, "Parameters" : { - "type" : "object" + "type" : "object", + "description" : "These key-value pairs define parameters and properties of the database." }, "TargetDatabase" : { - "$ref" : "#/definitions/DatabaseIdentifier" + "$ref" : "#/definitions/DatabaseIdentifier", + "description" : "A DatabaseIdentifier structure that describes a target database for resource linking." }, "FederatedDatabase" : { - "$ref" : "#/definitions/FederatedDatabase" + "$ref" : "#/definitions/FederatedDatabase", + "description" : "A FederatedDatabase structure that references an entity outside the AWS Glue Data Catalog." }, "Name" : { - "type" : "string" + "type" : "string", + "description" : "The name of the database. For hive compatibility, this is folded to lowercase when it is stored." } } } }, + "tagging" : { + "taggable" : false, + "tagOnCreate" : false, + "tagUpdatable" : false, + "cloudFormationSystemTags" : false + }, "required" : [ "DatabaseInput", "CatalogId" ], - "createOnlyProperties" : [ "/properties/CatalogId" ], - "primaryIdentifier" : [ "/properties/Id" ], - "readOnlyProperties" : [ "/properties/Id" ] + "createOnlyProperties" : [ "/properties/DatabaseName" ], + "primaryIdentifier" : [ "/properties/DatabaseName" ], + "handlers" : { + "create" : { + "permissions" : [ "glue:CreateDatabase", "glue:GetDatabase", "glue:PassConnection", "glue:CreateConnection", "lakeformation:ListResources", "lakeformation:DescribeResource", "lakeformation:DescribeLakeFormationIdentityCenterConfiguration" ] + }, + "read" : { + "permissions" : [ "glue:GetDatabase", "glue:GetConnection", "lakeformation:ListResources", "lakeformation:DescribeResource", "lakeformation:DescribeLakeFormationIdentityCenterConfiguration" ] + }, + "update" : { + "permissions" : [ "glue:UpdateDatabase", "glue:UpdateConnection", "lakeformation:ListResources", "lakeformation:DescribeResource", "lakeformation:DescribeLakeFormationIdentityCenterConfiguration" ] + }, + "delete" : { + "permissions" : [ "glue:DeleteDatabase", "glue:GetDatabase", "glue:DeleteConnection", "glue:GetConnection", "lakeformation:ListResources", "lakeformation:DescribeResource", "lakeformation:DescribeLakeFormationIdentityCenterConfiguration" ] + }, + "list" : { + "permissions" : [ "glue:GetDatabases", "lakeformation:ListResources", "lakeformation:DescribeResource", "lakeformation:DescribeLakeFormationIdentityCenterConfiguration" ] + } + } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-ivs-channel.json b/aws-cloudformation-schema/aws-ivs-channel.json index 4507eb6509..5bff6a82a0 100644 --- a/aws-cloudformation-schema/aws-ivs-channel.json +++ b/aws-cloudformation-schema/aws-ivs-channel.json @@ -88,7 +88,7 @@ "Preset" : { "description" : "Optional transcode preset for the channel. This is selectable only for ADVANCED_HD and ADVANCED_SD channel types. For those channel types, the default preset is HIGHER_BANDWIDTH_DELIVERY. For other channel types (BASIC and STANDARD), preset is the empty string (\"\").", "type" : "string", - "enum" : [ "HIGHER_BANDWIDTH_DELIVERY", "CONSTRAINED_BANDWIDTH_DELIVERY" ] + "enum" : [ "", "HIGHER_BANDWIDTH_DELIVERY", "CONSTRAINED_BANDWIDTH_DELIVERY" ] } }, "additionalProperties" : false, @@ -98,7 +98,8 @@ "tagOnCreate" : true, "tagUpdatable" : true, "cloudFormationSystemTags" : false, - "tagProperty" : "/properties/Tags" + "tagProperty" : "/properties/Tags", + "permissions" : [ "ivs:TagResource", "ivs:UntagResource", "ivs:ListTagsForResource" ] }, "readOnlyProperties" : [ "/properties/Arn", "/properties/PlaybackUrl", "/properties/IngestEndpoint" ], "primaryIdentifier" : [ "/properties/Arn" ], @@ -110,10 +111,10 @@ "permissions" : [ "ivs:GetChannel", "ivs:ListTagsForResource" ] }, "update" : { - "permissions" : [ "ivs:GetChannel", "ivs:UpdateChannel", "ivs:TagResource", "ivs:UnTagResource", "ivs:ListTagsForResource" ] + "permissions" : [ "ivs:GetChannel", "ivs:UpdateChannel", "ivs:TagResource", "ivs:UntagResource", "ivs:ListTagsForResource" ] }, "delete" : { - "permissions" : [ "ivs:DeleteChannel", "ivs:UnTagResource" ] + "permissions" : [ "ivs:DeleteChannel", "ivs:UntagResource" ] }, "list" : { "permissions" : [ "ivs:ListChannels", "ivs:ListTagsForResource" ] diff --git a/aws-cloudformation-schema/aws-ivs-encoderconfiguration.json b/aws-cloudformation-schema/aws-ivs-encoderconfiguration.json index 8cd73c55da..4e8cb0becd 100644 --- a/aws-cloudformation-schema/aws-ivs-encoderconfiguration.json +++ b/aws-cloudformation-schema/aws-ivs-encoderconfiguration.json @@ -92,7 +92,8 @@ "tagOnCreate" : true, "tagUpdatable" : true, "cloudFormationSystemTags" : false, - "tagProperty" : "/properties/Tags" + "tagProperty" : "/properties/Tags", + "permissions" : [ "ivs:TagResource", "ivs:UntagResource", "ivs:ListTagsForResource" ] }, "readOnlyProperties" : [ "/properties/Arn" ], "primaryIdentifier" : [ "/properties/Arn" ], diff --git a/aws-cloudformation-schema/aws-ivs-playbackkeypair.json b/aws-cloudformation-schema/aws-ivs-playbackkeypair.json index 87b9de530f..e667bb3f10 100644 --- a/aws-cloudformation-schema/aws-ivs-playbackkeypair.json +++ b/aws-cloudformation-schema/aws-ivs-playbackkeypair.json @@ -61,7 +61,8 @@ "tagOnCreate" : true, "tagUpdatable" : true, "cloudFormationSystemTags" : false, - "tagProperty" : "/properties/Tags" + "tagProperty" : "/properties/Tags", + "permissions" : [ "ivs:TagResource", "ivs:UntagResource", "ivs:ListTagsForResource" ] }, "readOnlyProperties" : [ "/properties/Arn", "/properties/Fingerprint" ], "writeOnlyProperties" : [ "/properties/PublicKeyMaterial" ], diff --git a/aws-cloudformation-schema/aws-ivs-playbackrestrictionpolicy.json b/aws-cloudformation-schema/aws-ivs-playbackrestrictionpolicy.json index 40920edfde..34ee8659ff 100644 --- a/aws-cloudformation-schema/aws-ivs-playbackrestrictionpolicy.json +++ b/aws-cloudformation-schema/aws-ivs-playbackrestrictionpolicy.json @@ -81,7 +81,8 @@ "tagOnCreate" : true, "tagUpdatable" : true, "cloudFormationSystemTags" : false, - "tagProperty" : "/properties/Tags" + "tagProperty" : "/properties/Tags", + "permissions" : [ "ivs:TagResource", "ivs:UntagResource", "ivs:ListTagsForResource" ] }, "readOnlyProperties" : [ "/properties/Arn" ], "primaryIdentifier" : [ "/properties/Arn" ], diff --git a/aws-cloudformation-schema/aws-ivs-publickey.json b/aws-cloudformation-schema/aws-ivs-publickey.json new file mode 100644 index 0000000000..16a7862642 --- /dev/null +++ b/aws-cloudformation-schema/aws-ivs-publickey.json @@ -0,0 +1,88 @@ +{ + "typeName" : "AWS::IVS::PublicKey", + "description" : "Resource Type definition for AWS::IVS::PublicKey", + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "definitions" : { + "Tag" : { + "type" : "object", + "properties" : { + "Key" : { + "type" : "string", + "minLength" : 1, + "maxLength" : 128 + }, + "Value" : { + "type" : "string", + "minLength" : 1, + "maxLength" : 256 + } + }, + "required" : [ "Key", "Value" ], + "additionalProperties" : false + } + }, + "properties" : { + "Name" : { + "description" : "Name of the public key to be imported. The value does not need to be unique.", + "type" : "string", + "pattern" : "^[a-zA-Z0-9-_]*$", + "minLength" : 0, + "maxLength" : 128 + }, + "PublicKeyMaterial" : { + "description" : "The public portion of a customer-generated key pair.", + "type" : "string", + "pattern" : "-----BEGIN PUBLIC KEY-----\\r?\\n([a-zA-Z0-9+/=\\r\\n]+)\\r?\\n-----END PUBLIC KEY-----(\\r?\\n)?" + }, + "Fingerprint" : { + "description" : "Key-pair identifier.", + "type" : "string" + }, + "Arn" : { + "description" : "Key-pair identifier.", + "type" : "string", + "pattern" : "^arn:aws:ivs:[a-z0-9-]+:[0-9]+:public-key/[a-zA-Z0-9-]+$", + "minLength" : 1, + "maxLength" : 128 + }, + "Tags" : { + "description" : "A list of key-value pairs that contain metadata for the asset model.", + "type" : "array", + "uniqueItems" : true, + "insertionOrder" : false, + "maxItems" : 50, + "items" : { + "$ref" : "#/definitions/Tag" + } + } + }, + "additionalProperties" : false, + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : false, + "tagProperty" : "/properties/Tags", + "permissions" : [ "ivs:TagResource", "ivs:UntagResource", "ivs:ListTagsForResource" ] + }, + "primaryIdentifier" : [ "/properties/Arn" ], + "readOnlyProperties" : [ "/properties/Arn", "/properties/Fingerprint" ], + "createOnlyProperties" : [ "/properties/PublicKeyMaterial", "/properties/Name" ], + "handlers" : { + "create" : { + "permissions" : [ "ivs:ImportPublicKey", "ivs:TagResource" ] + }, + "read" : { + "permissions" : [ "ivs:GetPublicKey" ] + }, + "update" : { + "permissions" : [ "ivs:GetPublicKey", "ivs:ListTagsForResource", "ivs:UntagResource", "ivs:TagResource" ] + }, + "delete" : { + "permissions" : [ "ivs:DeletePublicKey", "ivs:UntagResource" ] + }, + "list" : { + "permissions" : [ "ivs:ListPublicKeys", "ivs:ListTagsForResource" ] + } + } +} \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-ivs-recordingconfiguration.json b/aws-cloudformation-schema/aws-ivs-recordingconfiguration.json index 16df08ee8b..b86deb7b82 100644 --- a/aws-cloudformation-schema/aws-ivs-recordingconfiguration.json +++ b/aws-cloudformation-schema/aws-ivs-recordingconfiguration.json @@ -163,7 +163,8 @@ "tagOnCreate" : true, "tagUpdatable" : true, "cloudFormationSystemTags" : false, - "tagProperty" : "/properties/Tags" + "tagProperty" : "/properties/Tags", + "permissions" : [ "ivs:TagResource", "ivs:UntagResource", "ivs:ListTagsForResource" ] }, "required" : [ "DestinationConfiguration" ], "primaryIdentifier" : [ "/properties/Arn" ], diff --git a/aws-cloudformation-schema/aws-ivs-stage.json b/aws-cloudformation-schema/aws-ivs-stage.json index 8a3230cf19..2101c74428 100644 --- a/aws-cloudformation-schema/aws-ivs-stage.json +++ b/aws-cloudformation-schema/aws-ivs-stage.json @@ -19,6 +19,34 @@ } }, "required" : [ "Value", "Key" ] + }, + "AutoParticipantRecordingConfiguration" : { + "description" : "Configuration object for individual participant recording, to attach to the new stage.", + "type" : "object", + "additionalProperties" : false, + "properties" : { + "StorageConfigurationArn" : { + "description" : "ARN of the StorageConfiguration resource to use for individual participant recording.", + "type" : "string", + "pattern" : "^$|^arn:aws:ivs:[a-z0-9-]+:[0-9]+:storage-configuration/[a-zA-Z0-9-]+$", + "minLength" : 0, + "maxLength" : 128 + }, + "MediaTypes" : { + "description" : "Types of media to be recorded. Default: AUDIO_VIDEO.", + "type" : "array", + "minItems" : 0, + "maxItems" : 1, + "uniqueItems" : true, + "insertionOrder" : false, + "items" : { + "type" : "string", + "enum" : [ "AUDIO_VIDEO", "AUDIO_ONLY" ] + }, + "default" : [ "AUDIO_VIDEO" ] + } + }, + "required" : [ "StorageConfigurationArn" ] } }, "properties" : { @@ -36,6 +64,9 @@ "maxLength" : 128, "pattern" : "^[a-zA-Z0-9-_]*$" }, + "AutoParticipantRecordingConfiguration" : { + "$ref" : "#/definitions/AutoParticipantRecordingConfiguration" + }, "Tags" : { "description" : "An array of key-value pairs to apply to this resource.", "type" : "array", @@ -59,7 +90,8 @@ "tagOnCreate" : true, "tagUpdatable" : true, "cloudFormationSystemTags" : false, - "tagProperty" : "/properties/Tags" + "tagProperty" : "/properties/Tags", + "permissions" : [ "ivs:TagResource", "ivs:UntagResource", "ivs:ListTagsForResource" ] }, "readOnlyProperties" : [ "/properties/Arn", "/properties/ActiveSessionId" ], "primaryIdentifier" : [ "/properties/Arn" ], @@ -71,10 +103,10 @@ "permissions" : [ "ivs:GetStage", "ivs:ListTagsForResource" ] }, "update" : { - "permissions" : [ "ivs:GetStage", "ivs:UpdateStage", "ivs:TagResource", "ivs:UnTagResource", "ivs:ListTagsForResource" ] + "permissions" : [ "ivs:GetStage", "ivs:UpdateStage", "ivs:TagResource", "ivs:UntagResource", "ivs:ListTagsForResource" ] }, "delete" : { - "permissions" : [ "ivs:DeleteStage", "ivs:UnTagResource" ] + "permissions" : [ "ivs:DeleteStage", "ivs:UntagResource" ] }, "list" : { "permissions" : [ "ivs:ListStages", "ivs:ListTagsForResource" ] diff --git a/aws-cloudformation-schema/aws-ivs-storageconfiguration.json b/aws-cloudformation-schema/aws-ivs-storageconfiguration.json index 2435cd417c..4318a91627 100644 --- a/aws-cloudformation-schema/aws-ivs-storageconfiguration.json +++ b/aws-cloudformation-schema/aws-ivs-storageconfiguration.json @@ -71,7 +71,8 @@ "tagOnCreate" : true, "tagUpdatable" : true, "cloudFormationSystemTags" : false, - "tagProperty" : "/properties/Tags" + "tagProperty" : "/properties/Tags", + "permissions" : [ "ivs:TagResource", "ivs:UntagResource", "ivs:ListTagsForResource" ] }, "required" : [ "S3" ], "primaryIdentifier" : [ "/properties/Arn" ], diff --git a/aws-cloudformation-schema/aws-ivs-streamkey.json b/aws-cloudformation-schema/aws-ivs-streamkey.json index f3dde368f7..24b2502169 100644 --- a/aws-cloudformation-schema/aws-ivs-streamkey.json +++ b/aws-cloudformation-schema/aws-ivs-streamkey.json @@ -57,7 +57,8 @@ "tagOnCreate" : true, "tagUpdatable" : true, "cloudFormationSystemTags" : false, - "tagProperty" : "/properties/Tags" + "tagProperty" : "/properties/Tags", + "permissions" : [ "ivs:TagResource", "ivs:UntagResource", "ivs:ListTagsForResource" ] }, "createOnlyProperties" : [ "/properties/ChannelArn" ], "readOnlyProperties" : [ "/properties/Arn", "/properties/Value" ], diff --git a/aws-cloudformation-schema/aws-location-apikey.json b/aws-cloudformation-schema/aws-location-apikey.json index 442957c025..573eeeaaf5 100644 --- a/aws-cloudformation-schema/aws-location-apikey.json +++ b/aws-cloudformation-schema/aws-location-apikey.json @@ -13,7 +13,7 @@ "minLength" : 5, "pattern" : "^geo:\\w*\\*?$" }, - "maxItems" : 7, + "maxItems" : 24, "minItems" : 1, "insertionOrder" : false }, @@ -24,7 +24,7 @@ "maxLength" : 1600, "pattern" : "(^arn(:[a-z0-9]+([.-][a-z0-9]+)*):geo(:([a-z0-9]+([.-][a-z0-9]+)*))(:[0-9]+):((\\*)|([-a-z]+[/][*-._\\w]+))$)|(^arn(:[a-z0-9]+([.-][a-z0-9]+)*):(geo-routes|geo-places|geo-maps)(:((\\*)|([a-z0-9]+([.-][a-z0-9]+)*)))::((provider[\\/][*-._\\w]+))$)" }, - "maxItems" : 5, + "maxItems" : 8, "minItems" : 1, "insertionOrder" : false }, diff --git a/aws-cloudformation-schema/aws-msk-replicator.json b/aws-cloudformation-schema/aws-msk-replicator.json index f40b8985c8..3cbafb25ab 100644 --- a/aws-cloudformation-schema/aws-msk-replicator.json +++ b/aws-cloudformation-schema/aws-msk-replicator.json @@ -7,7 +7,8 @@ "tagOnCreate" : true, "tagUpdatable" : true, "cloudFormationSystemTags" : true, - "tagProperty" : "/properties/Tags" + "tagProperty" : "/properties/Tags", + "permissions" : [ "kafka:UntagResource", "kafka:ListTagsForResource", "kafka:TagResource" ] }, "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-msk-replicator.git", "properties" : { @@ -284,7 +285,7 @@ "primaryIdentifier" : [ "/properties/ReplicatorArn" ], "additionalIdentifiers" : [ [ "/properties/ReplicatorName" ] ], "readOnlyProperties" : [ "/properties/ReplicatorArn" ], - "createOnlyProperties" : [ "/properties/ReplicatorName", "/properties/Description", "/properties/KafkaClusters", "/properties/ServiceExecutionRoleArn", "/properties/ReplicationInfoList/-/TopicReplication/StartingPosition/Type" ], + "createOnlyProperties" : [ "/properties/ReplicatorName", "/properties/Description", "/properties/KafkaClusters", "/properties/ServiceExecutionRoleArn" ], "handlers" : { "create" : { "permissions" : [ "ec2:CreateNetworkInterface", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "iam:CreateServiceLinkedRole", "iam:PassRole", "kafka:CreateReplicator", "kafka:CreateReplicatorReference", "kafka:DescribeClusterV2", "kafka:DescribeReplicator", "kafka:GetBootstrapBrokers", "kafka:ListTagsForResource", "kafka:TagResource" ] diff --git a/aws-cloudformation-schema/aws-rds-globalcluster.json b/aws-cloudformation-schema/aws-rds-globalcluster.json index 33df3ac95e..96acfbb58d 100644 --- a/aws-cloudformation-schema/aws-rds-globalcluster.json +++ b/aws-cloudformation-schema/aws-rds-globalcluster.json @@ -23,7 +23,9 @@ "GlobalClusterIdentifier" : { "description" : "The cluster identifier of the new global database cluster. This parameter is stored as a lowercase string.", "type" : "string", - "pattern" : "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$" + "pattern" : "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", + "minLength" : 1, + "maxLength" : 63 }, "SourceDBClusterIdentifier" : { "description" : "The Amazon Resource Name (ARN) to use as the primary cluster of the global database. This parameter is optional. This parameter is stored as a lowercase string.", diff --git a/examples/examples_py_test.go b/examples/examples_py_test.go index f3869d9c84..003b73b1e3 100644 --- a/examples/examples_py_test.go +++ b/examples/examples_py_test.go @@ -125,6 +125,16 @@ func TestVpcPython(t *testing.T) { integration.ProgramTest(t, &test) } +func TestIvsChannel(t *testing.T) { + test := getPythonBaseOptions(t). + With(integration.ProgramTestOptions{ + Dir: filepath.Join(getCwd(t), "ivs-channel"), + Verbose: true, + }) + + integration.ProgramTest(t, &test) +} + func getPythonBaseOptions(t *testing.T) integration.ProgramTestOptions { base := getBaseOptions(t) basePy := base.With(integration.ProgramTestOptions{ diff --git a/examples/ivs-channel/.gitignore b/examples/ivs-channel/.gitignore new file mode 100644 index 0000000000..a3807e5bdb --- /dev/null +++ b/examples/ivs-channel/.gitignore @@ -0,0 +1,2 @@ +*.pyc +venv/ diff --git a/examples/ivs-channel/Pulumi.yaml b/examples/ivs-channel/Pulumi.yaml new file mode 100644 index 0000000000..0646e28374 --- /dev/null +++ b/examples/ivs-channel/Pulumi.yaml @@ -0,0 +1,3 @@ +name: ivs-channel +runtime: python +description: IVS Channel example diff --git a/examples/ivs-channel/__main__.py b/examples/ivs-channel/__main__.py new file mode 100644 index 0000000000..4adaa24424 --- /dev/null +++ b/examples/ivs-channel/__main__.py @@ -0,0 +1,10 @@ +# Copyright 2024, Pulumi Corporation. All rights reserved. + +import pulumi +from pulumi_aws_native import ivs + +advanced_sd_channel = ivs.Channel("channel-advanced-sd", type=ivs.ChannelType.ADVANCED_SD) +standard_channel = ivs.Channel("channel-standard", type=ivs.ChannelType.STANDARD) + +pulumi.export("advanced_sd_arn", advanced_sd_channel.arn) +pulumi.export("standard_arn", standard_channel.arn) diff --git a/examples/ivs-channel/requirements.txt b/examples/ivs-channel/requirements.txt new file mode 100644 index 0000000000..b90490181f --- /dev/null +++ b/examples/ivs-channel/requirements.txt @@ -0,0 +1 @@ +pulumi>=3.5.1,<4.0.0 diff --git a/provider/cmd/pulumi-gen-aws-native/supported-types.txt b/provider/cmd/pulumi-gen-aws-native/supported-types.txt index 5a8a9b3247..b16a745b8a 100644 --- a/provider/cmd/pulumi-gen-aws-native/supported-types.txt +++ b/provider/cmd/pulumi-gen-aws-native/supported-types.txt @@ -475,6 +475,7 @@ AWS::GlobalAccelerator::Accelerator AWS::GlobalAccelerator::CrossAccountAttachment AWS::GlobalAccelerator::EndpointGroup AWS::GlobalAccelerator::Listener +AWS::Glue::Database AWS::Glue::Registry AWS::Glue::Schema AWS::Glue::SchemaVersion @@ -512,6 +513,7 @@ AWS::IVS::Channel AWS::IVS::EncoderConfiguration AWS::IVS::PlaybackKeyPair AWS::IVS::PlaybackRestrictionPolicy +AWS::IVS::PublicKey AWS::IVS::RecordingConfiguration AWS::IVS::Stage AWS::IVS::StorageConfiguration diff --git a/provider/cmd/pulumi-resource-aws-native/metadata.json b/provider/cmd/pulumi-resource-aws-native/metadata.json index d5f82cf6e3..859edda74d 100644 --- a/provider/cmd/pulumi-resource-aws-native/metadata.json +++ b/provider/cmd/pulumi-resource-aws-native/metadata.json @@ -30042,7 +30042,7 @@ "items": { "$ref": "#/types/aws-native:ec2:LaunchTemplateTagSpecification" }, - "description": "The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``.\n To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications)." + "description": "The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``.\n To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications)." }, "versionDescription": { "type": "string", @@ -30076,7 +30076,7 @@ "items": { "$ref": "#/types/aws-native:ec2:LaunchTemplateTagSpecification" }, - "description": "The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``.\n To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications)." + "description": "The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``.\n To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications)." }, "versionDescription": { "type": "string", @@ -42726,7 +42726,7 @@ }, "containerGroupsConfiguration": { "$ref": "#/types/aws-native:gamelift:FleetContainerGroupsConfiguration", - "description": "*This data type is used with the Amazon GameLift containers feature, which is currently in public preview.*\n\nConfiguration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` .\n\n*Used with:* `CreateFleet`" + "description": "*This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.*\n\nConfiguration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` .\n\n*Used with:* `CreateFleet`" }, "description": { "type": "string", @@ -42859,7 +42859,7 @@ }, "containerGroupsConfiguration": { "$ref": "#/types/aws-native:gamelift:FleetContainerGroupsConfiguration", - "description": "*This data type is used with the Amazon GameLift containers feature, which is currently in public preview.*\n\nConfiguration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` .\n\n*Used with:* `CreateFleet`", + "description": "*This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.*\n\nConfiguration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` .\n\n*Used with:* `CreateFleet`", "replaceOnChanges": true }, "description": { @@ -43966,6 +43966,48 @@ "acceleratorArn" ] }, + "aws-native:glue:Database": { + "cf": "AWS::Glue::Database", + "inputs": { + "catalogId": { + "type": "string", + "description": "The AWS account ID for the account in which to create the catalog object." + }, + "databaseInput": { + "$ref": "#/types/aws-native:glue:DatabaseInput", + "description": "The metadata for the database." + }, + "databaseName": { + "type": "string", + "description": "The name of the database. For hive compatibility, this is folded to lowercase when it is store." + } + }, + "outputs": { + "catalogId": { + "type": "string", + "description": "The AWS account ID for the account in which to create the catalog object." + }, + "databaseInput": { + "$ref": "#/types/aws-native:glue:DatabaseInput", + "description": "The metadata for the database." + }, + "databaseName": { + "type": "string", + "description": "The name of the database. For hive compatibility, this is folded to lowercase when it is store.", + "replaceOnChanges": true + } + }, + "autoNamingSpec": { + "sdkName": "databaseName" + }, + "required": [ + "catalogId", + "databaseInput" + ], + "createOnly": [ + "databaseName" + ] + }, "aws-native:glue:Registry": { "cf": "AWS::Glue::Registry", "inputs": { @@ -53196,6 +53238,63 @@ "tagsProperty": "tags", "tagsStyle": "keyValueArray" }, + "aws-native:ivs:PublicKey": { + "cf": "AWS::IVS::PublicKey", + "inputs": { + "name": { + "type": "string", + "description": "Name of the public key to be imported. The value does not need to be unique." + }, + "publicKeyMaterial": { + "type": "string", + "description": "The public portion of a customer-generated key pair." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "A list of key-value pairs that contain metadata for the asset model." + } + }, + "outputs": { + "arn": { + "type": "string", + "description": "Key-pair identifier." + }, + "fingerprint": { + "type": "string", + "description": "Key-pair identifier." + }, + "name": { + "type": "string", + "description": "Name of the public key to be imported. The value does not need to be unique.", + "replaceOnChanges": true + }, + "publicKeyMaterial": { + "type": "string", + "description": "The public portion of a customer-generated key pair.", + "replaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "A list of key-value pairs that contain metadata for the asset model." + } + }, + "autoNamingSpec": { + "sdkName": "name", + "maxLength": 128 + }, + "createOnly": [ + "name", + "publicKeyMaterial" + ], + "tagsProperty": "tags", + "tagsStyle": "keyValueArray" + }, "aws-native:ivs:RecordingConfiguration": { "cf": "AWS::IVS::RecordingConfiguration", "inputs": { @@ -53297,6 +53396,9 @@ "aws-native:ivs:Stage": { "cf": "AWS::IVS::Stage", "inputs": { + "autoParticipantRecordingConfiguration": { + "$ref": "#/types/aws-native:ivs:StageAutoParticipantRecordingConfiguration" + }, "name": { "type": "string", "description": "Stage name" @@ -53318,6 +53420,9 @@ "type": "string", "description": "Stage ARN is automatically generated on creation and assigned as the unique identifier." }, + "autoParticipantRecordingConfiguration": { + "$ref": "#/types/aws-native:ivs:StageAutoParticipantRecordingConfiguration" + }, "name": { "type": "string", "description": "Stage name" @@ -63726,7 +63831,6 @@ "createOnly": [ "description", "kafkaClusters", - "replicationInfoList/-/TopicReplication/StartingPosition/Type", "replicatorName", "serviceExecutionRoleArn" ], @@ -129594,7 +129698,7 @@ }, "locationCapacity": { "$ref": "#/types/aws-native:gamelift:FleetLocationCapacity", - "description": "Current resource capacity settings for managed EC2 fleets and container fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region.\n\n*Returned by:* [DescribeFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetCapacity.html) , [DescribeFleetLocationCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html) , [UpdateFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateFleetCapacity.html)" + "description": "Current resource capacity settings for managed EC2 fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region.\n\n*Returned by:* [DescribeFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetCapacity.html) , [DescribeFleetLocationCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html) , [UpdateFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateFleetCapacity.html)" } } }, @@ -130068,6 +130172,97 @@ "aws-native:globalaccelerator:ListenerProtocol": { "type": "string" }, + "aws-native:glue:DatabaseDataLakePrincipal": { + "type": "object", + "properties": { + "dataLakePrincipalIdentifier": { + "type": "string", + "description": "An identifier for the AWS Lake Formation principal." + } + } + }, + "aws-native:glue:DatabaseFederatedDatabase": { + "type": "object", + "properties": { + "connectionName": { + "type": "string", + "description": "The name of the connection to the external metastore." + }, + "identifier": { + "type": "string", + "description": "A unique identifier for the federated database." + } + } + }, + "aws-native:glue:DatabaseIdentifier": { + "type": "object", + "properties": { + "catalogId": { + "type": "string", + "description": "The ID of the Data Catalog in which the database resides." + }, + "databaseName": { + "type": "string", + "description": "The name of the catalog database." + }, + "region": { + "type": "string", + "description": "Region of the target database." + } + } + }, + "aws-native:glue:DatabaseInput": { + "type": "object", + "properties": { + "createTableDefaultPermissions": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:glue:DatabasePrincipalPrivileges" + }, + "description": "Creates a set of default permissions on the table for principals. Used by AWS Lake Formation. Not used in the normal course of AWS Glue operations." + }, + "description": { + "type": "string", + "description": "A description of the database." + }, + "federatedDatabase": { + "$ref": "#/types/aws-native:glue:DatabaseFederatedDatabase", + "description": "A FederatedDatabase structure that references an entity outside the AWS Glue Data Catalog." + }, + "locationUri": { + "type": "string", + "description": "The location of the database (for example, an HDFS path)." + }, + "name": { + "type": "string", + "description": "The name of the database. For hive compatibility, this is folded to lowercase when it is stored." + }, + "parameters": { + "$ref": "pulumi.json#/Any", + "description": "These key-value pairs define parameters and properties of the database." + }, + "targetDatabase": { + "$ref": "#/types/aws-native:glue:DatabaseIdentifier", + "description": "A DatabaseIdentifier structure that describes a target database for resource linking." + } + } + }, + "aws-native:glue:DatabasePrincipalPrivileges": { + "type": "object", + "properties": { + "permissions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The permissions that are granted to the principal." + }, + "principal": { + "$ref": "#/types/aws-native:glue:DatabaseDataLakePrincipal", + "description": "The principal who is granted permissions." + } + } + }, "aws-native:glue:RegistryTag": { "type": "object", "properties": { @@ -138589,6 +138784,17 @@ } } }, + "aws-native:ivs:PublicKeyTag": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, "aws-native:ivs:RecordingConfigurationDestinationConfiguration": { "type": "object", "properties": { @@ -138689,6 +138895,25 @@ "aws-native:ivs:RecordingConfigurationThumbnailConfigurationStorageItem": { "type": "string" }, + "aws-native:ivs:StageAutoParticipantRecordingConfiguration": { + "type": "object", + "properties": { + "mediaTypes": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ivs:StageAutoParticipantRecordingConfigurationMediaTypesItem" + }, + "description": "Types of media to be recorded. Default: AUDIO_VIDEO." + }, + "storageConfigurationArn": { + "type": "string", + "description": "ARN of the StorageConfiguration resource to use for individual participant recording." + } + } + }, + "aws-native:ivs:StageAutoParticipantRecordingConfigurationMediaTypesItem": { + "type": "string" + }, "aws-native:ivs:StageTag": { "type": "object", "properties": { @@ -210307,6 +210532,12 @@ "listenerArn" ] }, + "aws-native:glue:getDatabase": { + "cf": "AWS::Glue::Database", + "ids": [ + "databaseName" + ] + }, "aws-native:glue:getRegistry": { "cf": "AWS::Glue::Registry", "ids": [ @@ -210970,6 +211201,12 @@ "arn" ] }, + "aws-native:ivs:getPublicKey": { + "cf": "AWS::IVS::PublicKey", + "ids": [ + "arn" + ] + }, "aws-native:ivs:getRecordingConfiguration": { "cf": "AWS::IVS::RecordingConfiguration", "ids": [ diff --git a/provider/cmd/pulumi-resource-aws-native/schema.json b/provider/cmd/pulumi-resource-aws-native/schema.json index c55f16c2ae..4670ef52e5 100644 --- a/provider/cmd/pulumi-resource-aws-native/schema.json +++ b/provider/cmd/pulumi-resource-aws-native/schema.json @@ -34550,6 +34550,10 @@ { "name": "Linux", "value": "LINUX" + }, + { + "name": "Windows", + "value": "WINDOWS" } ] }, @@ -38522,7 +38526,7 @@ ] }, "aws-native:ec2:KeyPairTag": { - "description": "Specifies a tag. For more information, see [Add tags to a resource](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#cloudformation-add-tag-specifications).", + "description": "Specifies a tag. For more information, see [Resource tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).", "properties": { "key": { "type": "string", @@ -39457,7 +39461,7 @@ "type": "object" }, "aws-native:ec2:LaunchTemplateTag": { - "description": "Specifies a tag. For more information, see [Add tags to a resource](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#cloudformation-add-tag-specifications).", + "description": "Specifies a tag. For more information, see [Resource tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).", "properties": { "key": { "type": "string", @@ -52335,7 +52339,7 @@ }, "locationCapacity": { "$ref": "#/types/aws-native:gamelift:FleetLocationCapacity", - "description": "Current resource capacity settings for managed EC2 fleets and container fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region.\n\n*Returned by:* [DescribeFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetCapacity.html) , [DescribeFleetLocationCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html) , [UpdateFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateFleetCapacity.html)" + "description": "Current resource capacity settings for managed EC2 fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region.\n\n*Returned by:* [DescribeFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetCapacity.html) , [DescribeFleetLocationCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html) , [UpdateFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateFleetCapacity.html)" } }, "type": "object", @@ -53189,6 +53193,102 @@ } ] }, + "aws-native:glue:DatabaseDataLakePrincipal": { + "description": "The AWS Lake Formation principal.", + "properties": { + "dataLakePrincipalIdentifier": { + "type": "string", + "description": "An identifier for the AWS Lake Formation principal." + } + }, + "type": "object" + }, + "aws-native:glue:DatabaseFederatedDatabase": { + "description": "A FederatedDatabase structure that references an entity outside the AWS Glue Data Catalog.", + "properties": { + "connectionName": { + "type": "string", + "description": "The name of the connection to the external metastore." + }, + "identifier": { + "type": "string", + "description": "A unique identifier for the federated database." + } + }, + "type": "object" + }, + "aws-native:glue:DatabaseIdentifier": { + "description": "A structure that describes a target database for resource linking.", + "properties": { + "catalogId": { + "type": "string", + "description": "The ID of the Data Catalog in which the database resides." + }, + "databaseName": { + "type": "string", + "description": "The name of the catalog database." + }, + "region": { + "type": "string", + "description": "Region of the target database." + } + }, + "type": "object" + }, + "aws-native:glue:DatabaseInput": { + "description": "The structure used to create or update a database.", + "properties": { + "createTableDefaultPermissions": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:glue:DatabasePrincipalPrivileges" + }, + "description": "Creates a set of default permissions on the table for principals. Used by AWS Lake Formation. Not used in the normal course of AWS Glue operations." + }, + "description": { + "type": "string", + "description": "A description of the database." + }, + "federatedDatabase": { + "$ref": "#/types/aws-native:glue:DatabaseFederatedDatabase", + "description": "A FederatedDatabase structure that references an entity outside the AWS Glue Data Catalog." + }, + "locationUri": { + "type": "string", + "description": "The location of the database (for example, an HDFS path)." + }, + "name": { + "type": "string", + "description": "The name of the database. For hive compatibility, this is folded to lowercase when it is stored." + }, + "parameters": { + "$ref": "pulumi.json#/Any", + "description": "These key-value pairs define parameters and properties of the database." + }, + "targetDatabase": { + "$ref": "#/types/aws-native:glue:DatabaseIdentifier", + "description": "A DatabaseIdentifier structure that describes a target database for resource linking." + } + }, + "type": "object" + }, + "aws-native:glue:DatabasePrincipalPrivileges": { + "description": "The permissions granted to a principal.", + "properties": { + "permissions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The permissions that are granted to the principal." + }, + "principal": { + "$ref": "#/types/aws-native:glue:DatabaseDataLakePrincipal", + "description": "The principal who is granted permissions." + } + }, + "type": "object" + }, "aws-native:glue:RegistryTag": { "properties": { "key": { @@ -64817,6 +64917,10 @@ "description": "Optional transcode preset for the channel. This is selectable only for ADVANCED_HD and ADVANCED_SD channel types. For those channel types, the default preset is HIGHER_BANDWIDTH_DELIVERY. For other channel types (BASIC and STANDARD), preset is the empty string (\"\").", "type": "string", "enum": [ + { + "name": "Empty", + "value": "" + }, { "name": "HigherBandwidthDelivery", "value": "HIGHER_BANDWIDTH_DELIVERY" @@ -64919,6 +65023,21 @@ "value" ] }, + "aws-native:ivs:PublicKeyTag": { + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object", + "required": [ + "key", + "value" + ] + }, "aws-native:ivs:RecordingConfigurationDestinationConfiguration": { "description": "Recording Destination Configuration.", "properties": { @@ -65115,6 +65234,39 @@ } ] }, + "aws-native:ivs:StageAutoParticipantRecordingConfiguration": { + "description": "Configuration object for individual participant recording, to attach to the new stage.", + "properties": { + "mediaTypes": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ivs:StageAutoParticipantRecordingConfigurationMediaTypesItem" + }, + "description": "Types of media to be recorded. Default: AUDIO_VIDEO." + }, + "storageConfigurationArn": { + "type": "string", + "description": "ARN of the StorageConfiguration resource to use for individual participant recording." + } + }, + "type": "object", + "required": [ + "storageConfigurationArn" + ] + }, + "aws-native:ivs:StageAutoParticipantRecordingConfigurationMediaTypesItem": { + "type": "string", + "enum": [ + { + "name": "AudioVideo", + "value": "AUDIO_VIDEO" + }, + { + "name": "AudioOnly", + "value": "AUDIO_ONLY" + } + ] + }, "aws-native:ivs:StageTag": { "properties": { "key": { @@ -190332,7 +190484,7 @@ "items": { "$ref": "#/types/aws-native:ec2:LaunchTemplateTagSpecification" }, - "description": "The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``.\n To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications)." + "description": "The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``.\n To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications)." }, "versionDescription": { "type": "string", @@ -190360,7 +190512,7 @@ "items": { "$ref": "#/types/aws-native:ec2:LaunchTemplateTagSpecification" }, - "description": "The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``.\n To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications)." + "description": "The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``.\n To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications)." }, "versionDescription": { "type": "string", @@ -202663,7 +202815,7 @@ }, "containerGroupsConfiguration": { "$ref": "#/types/aws-native:gamelift:FleetContainerGroupsConfiguration", - "description": "*This data type is used with the Amazon GameLift containers feature, which is currently in public preview.*\n\nConfiguration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` .\n\n*Used with:* `CreateFleet`", + "description": "*This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.*\n\nConfiguration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` .\n\n*Used with:* `CreateFleet`", "replaceOnChanges": true }, "description": { @@ -202812,7 +202964,7 @@ }, "containerGroupsConfiguration": { "$ref": "#/types/aws-native:gamelift:FleetContainerGroupsConfiguration", - "description": "*This data type is used with the Amazon GameLift containers feature, which is currently in public preview.*\n\nConfiguration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` .\n\n*Used with:* `CreateFleet`" + "description": "*This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.*\n\nConfiguration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` .\n\n*Used with:* `CreateFleet`" }, "description": { "type": "string", @@ -203851,6 +204003,47 @@ "protocol" ] }, + "aws-native:glue:Database": { + "description": "Resource Type definition for AWS::Glue::Database", + "properties": { + "catalogId": { + "type": "string", + "description": "The AWS account ID for the account in which to create the catalog object." + }, + "databaseInput": { + "$ref": "#/types/aws-native:glue:DatabaseInput", + "description": "The metadata for the database." + }, + "databaseName": { + "type": "string", + "description": "The name of the database. For hive compatibility, this is folded to lowercase when it is store.", + "replaceOnChanges": true + } + }, + "type": "object", + "required": [ + "catalogId", + "databaseInput" + ], + "inputProperties": { + "catalogId": { + "type": "string", + "description": "The AWS account ID for the account in which to create the catalog object." + }, + "databaseInput": { + "$ref": "#/types/aws-native:glue:DatabaseInput", + "description": "The metadata for the database." + }, + "databaseName": { + "type": "string", + "description": "The name of the database. For hive compatibility, this is folded to lowercase when it is store." + } + }, + "requiredInputs": [ + "catalogId", + "databaseInput" + ] + }, "aws-native:glue:Registry": { "description": "This resource creates a Registry for authoring schemas as part of Glue Schema Registry.", "properties": { @@ -212747,6 +212940,58 @@ "allowedOrigins" ] }, + "aws-native:ivs:PublicKey": { + "description": "Resource Type definition for AWS::IVS::PublicKey", + "properties": { + "arn": { + "type": "string", + "description": "Key-pair identifier." + }, + "fingerprint": { + "type": "string", + "description": "Key-pair identifier." + }, + "name": { + "type": "string", + "description": "Name of the public key to be imported. The value does not need to be unique.", + "replaceOnChanges": true + }, + "publicKeyMaterial": { + "type": "string", + "description": "The public portion of a customer-generated key pair.", + "replaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "A list of key-value pairs that contain metadata for the asset model." + } + }, + "type": "object", + "required": [ + "arn", + "fingerprint" + ], + "inputProperties": { + "name": { + "type": "string", + "description": "Name of the public key to be imported. The value does not need to be unique." + }, + "publicKeyMaterial": { + "type": "string", + "description": "The public portion of a customer-generated key pair." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "A list of key-value pairs that contain metadata for the asset model." + } + } + }, "aws-native:ivs:RecordingConfiguration": { "description": "Resource Type definition for AWS::IVS::RecordingConfiguration", "properties": { @@ -212841,6 +213086,9 @@ "type": "string", "description": "Stage ARN is automatically generated on creation and assigned as the unique identifier." }, + "autoParticipantRecordingConfiguration": { + "$ref": "#/types/aws-native:ivs:StageAutoParticipantRecordingConfiguration" + }, "name": { "type": "string", "description": "Stage name" @@ -212859,6 +213107,9 @@ "arn" ], "inputProperties": { + "autoParticipantRecordingConfiguration": { + "$ref": "#/types/aws-native:ivs:StageAutoParticipantRecordingConfiguration" + }, "name": { "type": "string", "description": "Stage name" @@ -274056,6 +274307,32 @@ } } }, + "aws-native:glue:getDatabase": { + "description": "Resource Type definition for AWS::Glue::Database", + "inputs": { + "properties": { + "databaseName": { + "type": "string", + "description": "The name of the database. For hive compatibility, this is folded to lowercase when it is store." + } + }, + "required": [ + "databaseName" + ] + }, + "outputs": { + "properties": { + "catalogId": { + "type": "string", + "description": "The AWS account ID for the account in which to create the catalog object." + }, + "databaseInput": { + "$ref": "#/types/aws-native:glue:DatabaseInput", + "description": "The metadata for the database." + } + } + } + }, "aws-native:glue:getRegistry": { "description": "This resource creates a Registry for authoring schemas as part of Glue Schema Registry.", "inputs": { @@ -279084,6 +279361,39 @@ } } }, + "aws-native:ivs:getPublicKey": { + "description": "Resource Type definition for AWS::IVS::PublicKey", + "inputs": { + "properties": { + "arn": { + "type": "string", + "description": "Key-pair identifier." + } + }, + "required": [ + "arn" + ] + }, + "outputs": { + "properties": { + "arn": { + "type": "string", + "description": "Key-pair identifier." + }, + "fingerprint": { + "type": "string", + "description": "Key-pair identifier." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "A list of key-value pairs that contain metadata for the asset model." + } + } + } + }, "aws-native:ivs:getRecordingConfiguration": { "description": "Resource Type definition for AWS::IVS::RecordingConfiguration", "inputs": { @@ -279140,6 +279450,9 @@ "type": "string", "description": "Stage ARN is automatically generated on creation and assigned as the unique identifier." }, + "autoParticipantRecordingConfiguration": { + "$ref": "#/types/aws-native:ivs:StageAutoParticipantRecordingConfiguration" + }, "name": { "type": "string", "description": "Stage name" diff --git a/provider/pkg/schema/gen.go b/provider/pkg/schema/gen.go index 4894d68914..81ad9d2681 100644 --- a/provider/pkg/schema/gen.go +++ b/provider/pkg/schema/gen.go @@ -1431,6 +1431,12 @@ func (ctx *cfSchemaContext) genEnumType(enumName string, propSchema *jsschema.Sc continue } + // Special case for `ChannelPreset` enum in the `AWS::IVS::Channel` resource. The enum has an empty string value which + // gets returned by the service in certain default cases (for channel types (BASIC and STANDARD)). + if (typName == "ChannelPreset" && str == "") { + str = "Empty" + } + // Enum values cannot end in `*Input` or `*Output`. Special casing these two instances if (typName == "FlowNodeType" || typName == "FlowVersionFlowNodeType") && (str == "Input" || str == "Output") { str = str + "Type" diff --git a/sdk/dotnet/Deadline/Enums.cs b/sdk/dotnet/Deadline/Enums.cs index f611cb529e..4d3e449b05 100644 --- a/sdk/dotnet/Deadline/Enums.cs +++ b/sdk/dotnet/Deadline/Enums.cs @@ -158,6 +158,7 @@ private FleetServiceManagedFleetOperatingSystemFamily(string value) } public static FleetServiceManagedFleetOperatingSystemFamily Linux { get; } = new FleetServiceManagedFleetOperatingSystemFamily("LINUX"); + public static FleetServiceManagedFleetOperatingSystemFamily Windows { get; } = new FleetServiceManagedFleetOperatingSystemFamily("WINDOWS"); public static bool operator ==(FleetServiceManagedFleetOperatingSystemFamily left, FleetServiceManagedFleetOperatingSystemFamily right) => left.Equals(right); public static bool operator !=(FleetServiceManagedFleetOperatingSystemFamily left, FleetServiceManagedFleetOperatingSystemFamily right) => !left.Equals(right); diff --git a/sdk/dotnet/Ec2/Inputs/LaunchTemplateTagArgs.cs b/sdk/dotnet/Ec2/Inputs/LaunchTemplateTagArgs.cs index 7491b8c83c..92db8c8267 100644 --- a/sdk/dotnet/Ec2/Inputs/LaunchTemplateTagArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/LaunchTemplateTagArgs.cs @@ -11,7 +11,7 @@ namespace Pulumi.AwsNative.Ec2.Inputs { /// - /// Specifies a tag. For more information, see [Add tags to a resource](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#cloudformation-add-tag-specifications). + /// Specifies a tag. For more information, see [Resource tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html). /// public sealed class LaunchTemplateTagArgs : global::Pulumi.ResourceArgs { diff --git a/sdk/dotnet/Ec2/LaunchTemplate.cs b/sdk/dotnet/Ec2/LaunchTemplate.cs index 7a9ee84f4a..127684e336 100644 --- a/sdk/dotnet/Ec2/LaunchTemplate.cs +++ b/sdk/dotnet/Ec2/LaunchTemplate.cs @@ -55,7 +55,7 @@ public partial class LaunchTemplate : global::Pulumi.CustomResource /// /// The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``. - /// To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications). + /// To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications). /// [Output("tagSpecifications")] public Output> TagSpecifications { get; private set; } = null!; @@ -132,7 +132,7 @@ public sealed class LaunchTemplateArgs : global::Pulumi.ResourceArgs /// /// The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``. - /// To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications). + /// To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications). /// public InputList TagSpecifications { diff --git a/sdk/dotnet/Ec2/Outputs/LaunchTemplateTag.cs b/sdk/dotnet/Ec2/Outputs/LaunchTemplateTag.cs index 0846114f99..80ac6f7f67 100644 --- a/sdk/dotnet/Ec2/Outputs/LaunchTemplateTag.cs +++ b/sdk/dotnet/Ec2/Outputs/LaunchTemplateTag.cs @@ -11,7 +11,7 @@ namespace Pulumi.AwsNative.Ec2.Outputs { /// - /// Specifies a tag. For more information, see [Add tags to a resource](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#cloudformation-add-tag-specifications). + /// Specifies a tag. For more information, see [Resource tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html). /// [OutputType] public sealed class LaunchTemplateTag diff --git a/sdk/dotnet/GameLift/Fleet.cs b/sdk/dotnet/GameLift/Fleet.cs index ad02cda220..c04512f5f8 100644 --- a/sdk/dotnet/GameLift/Fleet.cs +++ b/sdk/dotnet/GameLift/Fleet.cs @@ -46,7 +46,7 @@ public partial class Fleet : global::Pulumi.CustomResource public Output ComputeType { get; private set; } = null!; /// - /// *This data type is used with the Amazon GameLift containers feature, which is currently in public preview.* + /// *This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.* /// /// Configuration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` . /// @@ -291,7 +291,7 @@ public sealed class FleetArgs : global::Pulumi.ResourceArgs public Input? ComputeType { get; set; } /// - /// *This data type is used with the Amazon GameLift containers feature, which is currently in public preview.* + /// *This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.* /// /// Configuration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` . /// diff --git a/sdk/dotnet/GameLift/Inputs/FleetLocationConfigurationArgs.cs b/sdk/dotnet/GameLift/Inputs/FleetLocationConfigurationArgs.cs index 4ae55479cc..3d387eee9a 100644 --- a/sdk/dotnet/GameLift/Inputs/FleetLocationConfigurationArgs.cs +++ b/sdk/dotnet/GameLift/Inputs/FleetLocationConfigurationArgs.cs @@ -22,7 +22,7 @@ public sealed class FleetLocationConfigurationArgs : global::Pulumi.ResourceArgs public Input Location { get; set; } = null!; /// - /// Current resource capacity settings for managed EC2 fleets and container fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region. + /// Current resource capacity settings for managed EC2 fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region. /// /// *Returned by:* [DescribeFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetCapacity.html) , [DescribeFleetLocationCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html) , [UpdateFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateFleetCapacity.html) /// diff --git a/sdk/dotnet/GameLift/Outputs/FleetLocationConfiguration.cs b/sdk/dotnet/GameLift/Outputs/FleetLocationConfiguration.cs index f77a8b9824..ad3a090fe9 100644 --- a/sdk/dotnet/GameLift/Outputs/FleetLocationConfiguration.cs +++ b/sdk/dotnet/GameLift/Outputs/FleetLocationConfiguration.cs @@ -21,7 +21,7 @@ public sealed class FleetLocationConfiguration /// public readonly string Location; /// - /// Current resource capacity settings for managed EC2 fleets and container fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region. + /// Current resource capacity settings for managed EC2 fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region. /// /// *Returned by:* [DescribeFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetCapacity.html) , [DescribeFleetLocationCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html) , [UpdateFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateFleetCapacity.html) /// diff --git a/sdk/dotnet/Glue/Database.cs b/sdk/dotnet/Glue/Database.cs new file mode 100644 index 0000000000..bf7f8d20f8 --- /dev/null +++ b/sdk/dotnet/Glue/Database.cs @@ -0,0 +1,108 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.Glue +{ + /// + /// Resource Type definition for AWS::Glue::Database + /// + [AwsNativeResourceType("aws-native:glue:Database")] + public partial class Database : global::Pulumi.CustomResource + { + /// + /// The AWS account ID for the account in which to create the catalog object. + /// + [Output("catalogId")] + public Output CatalogId { get; private set; } = null!; + + /// + /// The metadata for the database. + /// + [Output("databaseInput")] + public Output DatabaseInput { get; private set; } = null!; + + /// + /// The name of the database. For hive compatibility, this is folded to lowercase when it is store. + /// + [Output("databaseName")] + public Output DatabaseName { get; private set; } = null!; + + + /// + /// Create a Database 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 Database(string name, DatabaseArgs args, CustomResourceOptions? options = null) + : base("aws-native:glue:Database", name, args ?? new DatabaseArgs(), MakeResourceOptions(options, "")) + { + } + + private Database(string name, Input id, CustomResourceOptions? options = null) + : base("aws-native:glue:Database", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + ReplaceOnChanges = + { + "databaseName", + }, + }; + 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 Database 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. + /// A bag of options that control this resource's behavior + public static Database Get(string name, Input id, CustomResourceOptions? options = null) + { + return new Database(name, id, options); + } + } + + public sealed class DatabaseArgs : global::Pulumi.ResourceArgs + { + /// + /// The AWS account ID for the account in which to create the catalog object. + /// + [Input("catalogId", required: true)] + public Input CatalogId { get; set; } = null!; + + /// + /// The metadata for the database. + /// + [Input("databaseInput", required: true)] + public Input DatabaseInput { get; set; } = null!; + + /// + /// The name of the database. For hive compatibility, this is folded to lowercase when it is store. + /// + [Input("databaseName")] + public Input? DatabaseName { get; set; } + + public DatabaseArgs() + { + } + public static new DatabaseArgs Empty => new DatabaseArgs(); + } +} diff --git a/sdk/dotnet/Glue/GetDatabase.cs b/sdk/dotnet/Glue/GetDatabase.cs new file mode 100644 index 0000000000..8ead755d84 --- /dev/null +++ b/sdk/dotnet/Glue/GetDatabase.cs @@ -0,0 +1,79 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.Glue +{ + public static class GetDatabase + { + /// + /// Resource Type definition for AWS::Glue::Database + /// + public static Task InvokeAsync(GetDatabaseArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws-native:glue:getDatabase", args ?? new GetDatabaseArgs(), options.WithDefaults()); + + /// + /// Resource Type definition for AWS::Glue::Database + /// + public static Output Invoke(GetDatabaseInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws-native:glue:getDatabase", args ?? new GetDatabaseInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetDatabaseArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the database. For hive compatibility, this is folded to lowercase when it is store. + /// + [Input("databaseName", required: true)] + public string DatabaseName { get; set; } = null!; + + public GetDatabaseArgs() + { + } + public static new GetDatabaseArgs Empty => new GetDatabaseArgs(); + } + + public sealed class GetDatabaseInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the database. For hive compatibility, this is folded to lowercase when it is store. + /// + [Input("databaseName", required: true)] + public Input DatabaseName { get; set; } = null!; + + public GetDatabaseInvokeArgs() + { + } + public static new GetDatabaseInvokeArgs Empty => new GetDatabaseInvokeArgs(); + } + + + [OutputType] + public sealed class GetDatabaseResult + { + /// + /// The AWS account ID for the account in which to create the catalog object. + /// + public readonly string? CatalogId; + /// + /// The metadata for the database. + /// + public readonly Outputs.DatabaseInput? DatabaseInput; + + [OutputConstructor] + private GetDatabaseResult( + string? catalogId, + + Outputs.DatabaseInput? databaseInput) + { + CatalogId = catalogId; + DatabaseInput = databaseInput; + } + } +} diff --git a/sdk/dotnet/Glue/Inputs/DatabaseDataLakePrincipalArgs.cs b/sdk/dotnet/Glue/Inputs/DatabaseDataLakePrincipalArgs.cs new file mode 100644 index 0000000000..67d87106e6 --- /dev/null +++ b/sdk/dotnet/Glue/Inputs/DatabaseDataLakePrincipalArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.Glue.Inputs +{ + + /// + /// The AWS Lake Formation principal. + /// + public sealed class DatabaseDataLakePrincipalArgs : global::Pulumi.ResourceArgs + { + /// + /// An identifier for the AWS Lake Formation principal. + /// + [Input("dataLakePrincipalIdentifier")] + public Input? DataLakePrincipalIdentifier { get; set; } + + public DatabaseDataLakePrincipalArgs() + { + } + public static new DatabaseDataLakePrincipalArgs Empty => new DatabaseDataLakePrincipalArgs(); + } +} diff --git a/sdk/dotnet/Glue/Inputs/DatabaseFederatedDatabaseArgs.cs b/sdk/dotnet/Glue/Inputs/DatabaseFederatedDatabaseArgs.cs new file mode 100644 index 0000000000..ae4bfd73ba --- /dev/null +++ b/sdk/dotnet/Glue/Inputs/DatabaseFederatedDatabaseArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.Glue.Inputs +{ + + /// + /// A FederatedDatabase structure that references an entity outside the AWS Glue Data Catalog. + /// + public sealed class DatabaseFederatedDatabaseArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the connection to the external metastore. + /// + [Input("connectionName")] + public Input? ConnectionName { get; set; } + + /// + /// A unique identifier for the federated database. + /// + [Input("identifier")] + public Input? Identifier { get; set; } + + public DatabaseFederatedDatabaseArgs() + { + } + public static new DatabaseFederatedDatabaseArgs Empty => new DatabaseFederatedDatabaseArgs(); + } +} diff --git a/sdk/dotnet/Glue/Inputs/DatabaseIdentifierArgs.cs b/sdk/dotnet/Glue/Inputs/DatabaseIdentifierArgs.cs new file mode 100644 index 0000000000..19af310035 --- /dev/null +++ b/sdk/dotnet/Glue/Inputs/DatabaseIdentifierArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.Glue.Inputs +{ + + /// + /// A structure that describes a target database for resource linking. + /// + public sealed class DatabaseIdentifierArgs : global::Pulumi.ResourceArgs + { + /// + /// The ID of the Data Catalog in which the database resides. + /// + [Input("catalogId")] + public Input? CatalogId { get; set; } + + /// + /// The name of the catalog database. + /// + [Input("databaseName")] + public Input? DatabaseName { get; set; } + + /// + /// Region of the target database. + /// + [Input("region")] + public Input? Region { get; set; } + + public DatabaseIdentifierArgs() + { + } + public static new DatabaseIdentifierArgs Empty => new DatabaseIdentifierArgs(); + } +} diff --git a/sdk/dotnet/Glue/Inputs/DatabaseInputArgs.cs b/sdk/dotnet/Glue/Inputs/DatabaseInputArgs.cs new file mode 100644 index 0000000000..b34ee007a4 --- /dev/null +++ b/sdk/dotnet/Glue/Inputs/DatabaseInputArgs.cs @@ -0,0 +1,71 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.Glue.Inputs +{ + + /// + /// The structure used to create or update a database. + /// + public sealed class DatabaseInputArgs : global::Pulumi.ResourceArgs + { + [Input("createTableDefaultPermissions")] + private InputList? _createTableDefaultPermissions; + + /// + /// Creates a set of default permissions on the table for principals. Used by AWS Lake Formation. Not used in the normal course of AWS Glue operations. + /// + public InputList CreateTableDefaultPermissions + { + get => _createTableDefaultPermissions ?? (_createTableDefaultPermissions = new InputList()); + set => _createTableDefaultPermissions = value; + } + + /// + /// A description of the database. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// A FederatedDatabase structure that references an entity outside the AWS Glue Data Catalog. + /// + [Input("federatedDatabase")] + public Input? FederatedDatabase { get; set; } + + /// + /// The location of the database (for example, an HDFS path). + /// + [Input("locationUri")] + public Input? LocationUri { get; set; } + + /// + /// The name of the database. For hive compatibility, this is folded to lowercase when it is stored. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// These key-value pairs define parameters and properties of the database. + /// + [Input("parameters")] + public Input? Parameters { get; set; } + + /// + /// A DatabaseIdentifier structure that describes a target database for resource linking. + /// + [Input("targetDatabase")] + public Input? TargetDatabase { get; set; } + + public DatabaseInputArgs() + { + } + public static new DatabaseInputArgs Empty => new DatabaseInputArgs(); + } +} diff --git a/sdk/dotnet/Glue/Inputs/DatabasePrincipalPrivilegesArgs.cs b/sdk/dotnet/Glue/Inputs/DatabasePrincipalPrivilegesArgs.cs new file mode 100644 index 0000000000..59a463f3fc --- /dev/null +++ b/sdk/dotnet/Glue/Inputs/DatabasePrincipalPrivilegesArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.Glue.Inputs +{ + + /// + /// The permissions granted to a principal. + /// + public sealed class DatabasePrincipalPrivilegesArgs : global::Pulumi.ResourceArgs + { + [Input("permissions")] + private InputList? _permissions; + + /// + /// The permissions that are granted to the principal. + /// + public InputList Permissions + { + get => _permissions ?? (_permissions = new InputList()); + set => _permissions = value; + } + + /// + /// The principal who is granted permissions. + /// + [Input("principal")] + public Input? Principal { get; set; } + + public DatabasePrincipalPrivilegesArgs() + { + } + public static new DatabasePrincipalPrivilegesArgs Empty => new DatabasePrincipalPrivilegesArgs(); + } +} diff --git a/sdk/dotnet/Glue/Outputs/DatabaseDataLakePrincipal.cs b/sdk/dotnet/Glue/Outputs/DatabaseDataLakePrincipal.cs new file mode 100644 index 0000000000..d5e9d04610 --- /dev/null +++ b/sdk/dotnet/Glue/Outputs/DatabaseDataLakePrincipal.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.Glue.Outputs +{ + + /// + /// The AWS Lake Formation principal. + /// + [OutputType] + public sealed class DatabaseDataLakePrincipal + { + /// + /// An identifier for the AWS Lake Formation principal. + /// + public readonly string? DataLakePrincipalIdentifier; + + [OutputConstructor] + private DatabaseDataLakePrincipal(string? dataLakePrincipalIdentifier) + { + DataLakePrincipalIdentifier = dataLakePrincipalIdentifier; + } + } +} diff --git a/sdk/dotnet/Glue/Outputs/DatabaseFederatedDatabase.cs b/sdk/dotnet/Glue/Outputs/DatabaseFederatedDatabase.cs new file mode 100644 index 0000000000..82e90f7e43 --- /dev/null +++ b/sdk/dotnet/Glue/Outputs/DatabaseFederatedDatabase.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.Glue.Outputs +{ + + /// + /// A FederatedDatabase structure that references an entity outside the AWS Glue Data Catalog. + /// + [OutputType] + public sealed class DatabaseFederatedDatabase + { + /// + /// The name of the connection to the external metastore. + /// + public readonly string? ConnectionName; + /// + /// A unique identifier for the federated database. + /// + public readonly string? Identifier; + + [OutputConstructor] + private DatabaseFederatedDatabase( + string? connectionName, + + string? identifier) + { + ConnectionName = connectionName; + Identifier = identifier; + } + } +} diff --git a/sdk/dotnet/Glue/Outputs/DatabaseIdentifier.cs b/sdk/dotnet/Glue/Outputs/DatabaseIdentifier.cs new file mode 100644 index 0000000000..5273290b75 --- /dev/null +++ b/sdk/dotnet/Glue/Outputs/DatabaseIdentifier.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.Glue.Outputs +{ + + /// + /// A structure that describes a target database for resource linking. + /// + [OutputType] + public sealed class DatabaseIdentifier + { + /// + /// The ID of the Data Catalog in which the database resides. + /// + public readonly string? CatalogId; + /// + /// The name of the catalog database. + /// + public readonly string? DatabaseName; + /// + /// Region of the target database. + /// + public readonly string? Region; + + [OutputConstructor] + private DatabaseIdentifier( + string? catalogId, + + string? databaseName, + + string? region) + { + CatalogId = catalogId; + DatabaseName = databaseName; + Region = region; + } + } +} diff --git a/sdk/dotnet/Glue/Outputs/DatabaseInput.cs b/sdk/dotnet/Glue/Outputs/DatabaseInput.cs new file mode 100644 index 0000000000..ec4d26af8e --- /dev/null +++ b/sdk/dotnet/Glue/Outputs/DatabaseInput.cs @@ -0,0 +1,73 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.Glue.Outputs +{ + + /// + /// The structure used to create or update a database. + /// + [OutputType] + public sealed class DatabaseInput + { + /// + /// Creates a set of default permissions on the table for principals. Used by AWS Lake Formation. Not used in the normal course of AWS Glue operations. + /// + public readonly ImmutableArray CreateTableDefaultPermissions; + /// + /// A description of the database. + /// + public readonly string? Description; + /// + /// A FederatedDatabase structure that references an entity outside the AWS Glue Data Catalog. + /// + public readonly Outputs.DatabaseFederatedDatabase? FederatedDatabase; + /// + /// The location of the database (for example, an HDFS path). + /// + public readonly string? LocationUri; + /// + /// The name of the database. For hive compatibility, this is folded to lowercase when it is stored. + /// + public readonly string? Name; + /// + /// These key-value pairs define parameters and properties of the database. + /// + public readonly object? Parameters; + /// + /// A DatabaseIdentifier structure that describes a target database for resource linking. + /// + public readonly Outputs.DatabaseIdentifier? TargetDatabase; + + [OutputConstructor] + private DatabaseInput( + ImmutableArray createTableDefaultPermissions, + + string? description, + + Outputs.DatabaseFederatedDatabase? federatedDatabase, + + string? locationUri, + + string? name, + + object? parameters, + + Outputs.DatabaseIdentifier? targetDatabase) + { + CreateTableDefaultPermissions = createTableDefaultPermissions; + Description = description; + FederatedDatabase = federatedDatabase; + LocationUri = locationUri; + Name = name; + Parameters = parameters; + TargetDatabase = targetDatabase; + } + } +} diff --git a/sdk/dotnet/Glue/Outputs/DatabasePrincipalPrivileges.cs b/sdk/dotnet/Glue/Outputs/DatabasePrincipalPrivileges.cs new file mode 100644 index 0000000000..2a492a95e5 --- /dev/null +++ b/sdk/dotnet/Glue/Outputs/DatabasePrincipalPrivileges.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.Glue.Outputs +{ + + /// + /// The permissions granted to a principal. + /// + [OutputType] + public sealed class DatabasePrincipalPrivileges + { + /// + /// The permissions that are granted to the principal. + /// + public readonly ImmutableArray Permissions; + /// + /// The principal who is granted permissions. + /// + public readonly Outputs.DatabaseDataLakePrincipal? Principal; + + [OutputConstructor] + private DatabasePrincipalPrivileges( + ImmutableArray permissions, + + Outputs.DatabaseDataLakePrincipal? principal) + { + Permissions = permissions; + Principal = principal; + } + } +} diff --git a/sdk/dotnet/Ivs/Enums.cs b/sdk/dotnet/Ivs/Enums.cs index b6094e964e..9b64943cad 100644 --- a/sdk/dotnet/Ivs/Enums.cs +++ b/sdk/dotnet/Ivs/Enums.cs @@ -51,6 +51,7 @@ private ChannelPreset(string value) _value = value ?? throw new ArgumentNullException(nameof(value)); } + public static ChannelPreset Empty { get; } = new ChannelPreset(""); public static ChannelPreset HigherBandwidthDelivery { get; } = new ChannelPreset("HIGHER_BANDWIDTH_DELIVERY"); public static ChannelPreset ConstrainedBandwidthDelivery { get; } = new ChannelPreset("CONSTRAINED_BANDWIDTH_DELIVERY"); @@ -287,4 +288,32 @@ private RecordingConfigurationThumbnailConfigurationStorageItem(string value) public override string ToString() => _value; } + + [EnumType] + public readonly struct StageAutoParticipantRecordingConfigurationMediaTypesItem : IEquatable + { + private readonly string _value; + + private StageAutoParticipantRecordingConfigurationMediaTypesItem(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static StageAutoParticipantRecordingConfigurationMediaTypesItem AudioVideo { get; } = new StageAutoParticipantRecordingConfigurationMediaTypesItem("AUDIO_VIDEO"); + public static StageAutoParticipantRecordingConfigurationMediaTypesItem AudioOnly { get; } = new StageAutoParticipantRecordingConfigurationMediaTypesItem("AUDIO_ONLY"); + + public static bool operator ==(StageAutoParticipantRecordingConfigurationMediaTypesItem left, StageAutoParticipantRecordingConfigurationMediaTypesItem right) => left.Equals(right); + public static bool operator !=(StageAutoParticipantRecordingConfigurationMediaTypesItem left, StageAutoParticipantRecordingConfigurationMediaTypesItem right) => !left.Equals(right); + + public static explicit operator string(StageAutoParticipantRecordingConfigurationMediaTypesItem value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is StageAutoParticipantRecordingConfigurationMediaTypesItem other && Equals(other); + public bool Equals(StageAutoParticipantRecordingConfigurationMediaTypesItem other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } } diff --git a/sdk/dotnet/Ivs/GetPublicKey.cs b/sdk/dotnet/Ivs/GetPublicKey.cs new file mode 100644 index 0000000000..8f65f9e9a6 --- /dev/null +++ b/sdk/dotnet/Ivs/GetPublicKey.cs @@ -0,0 +1,86 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.Ivs +{ + public static class GetPublicKey + { + /// + /// Resource Type definition for AWS::IVS::PublicKey + /// + public static Task InvokeAsync(GetPublicKeyArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws-native:ivs:getPublicKey", args ?? new GetPublicKeyArgs(), options.WithDefaults()); + + /// + /// Resource Type definition for AWS::IVS::PublicKey + /// + public static Output Invoke(GetPublicKeyInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws-native:ivs:getPublicKey", args ?? new GetPublicKeyInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetPublicKeyArgs : global::Pulumi.InvokeArgs + { + /// + /// Key-pair identifier. + /// + [Input("arn", required: true)] + public string Arn { get; set; } = null!; + + public GetPublicKeyArgs() + { + } + public static new GetPublicKeyArgs Empty => new GetPublicKeyArgs(); + } + + public sealed class GetPublicKeyInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Key-pair identifier. + /// + [Input("arn", required: true)] + public Input Arn { get; set; } = null!; + + public GetPublicKeyInvokeArgs() + { + } + public static new GetPublicKeyInvokeArgs Empty => new GetPublicKeyInvokeArgs(); + } + + + [OutputType] + public sealed class GetPublicKeyResult + { + /// + /// Key-pair identifier. + /// + public readonly string? Arn; + /// + /// Key-pair identifier. + /// + public readonly string? Fingerprint; + /// + /// A list of key-value pairs that contain metadata for the asset model. + /// + public readonly ImmutableArray Tags; + + [OutputConstructor] + private GetPublicKeyResult( + string? arn, + + string? fingerprint, + + ImmutableArray tags) + { + Arn = arn; + Fingerprint = fingerprint; + Tags = tags; + } + } +} diff --git a/sdk/dotnet/Ivs/GetStage.cs b/sdk/dotnet/Ivs/GetStage.cs index 87e22af4d5..7c972e8112 100644 --- a/sdk/dotnet/Ivs/GetStage.cs +++ b/sdk/dotnet/Ivs/GetStage.cs @@ -65,6 +65,7 @@ public sealed class GetStageResult /// Stage ARN is automatically generated on creation and assigned as the unique identifier. /// public readonly string? Arn; + public readonly Outputs.StageAutoParticipantRecordingConfiguration? AutoParticipantRecordingConfiguration; /// /// Stage name /// @@ -80,12 +81,15 @@ private GetStageResult( string? arn, + Outputs.StageAutoParticipantRecordingConfiguration? autoParticipantRecordingConfiguration, + string? name, ImmutableArray tags) { ActiveSessionId = activeSessionId; Arn = arn; + AutoParticipantRecordingConfiguration = autoParticipantRecordingConfiguration; Name = name; Tags = tags; } diff --git a/sdk/dotnet/Ivs/Inputs/StageAutoParticipantRecordingConfigurationArgs.cs b/sdk/dotnet/Ivs/Inputs/StageAutoParticipantRecordingConfigurationArgs.cs new file mode 100644 index 0000000000..d08f72444a --- /dev/null +++ b/sdk/dotnet/Ivs/Inputs/StageAutoParticipantRecordingConfigurationArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.Ivs.Inputs +{ + + /// + /// Configuration object for individual participant recording, to attach to the new stage. + /// + public sealed class StageAutoParticipantRecordingConfigurationArgs : global::Pulumi.ResourceArgs + { + [Input("mediaTypes")] + private InputList? _mediaTypes; + + /// + /// Types of media to be recorded. Default: AUDIO_VIDEO. + /// + public InputList MediaTypes + { + get => _mediaTypes ?? (_mediaTypes = new InputList()); + set => _mediaTypes = value; + } + + /// + /// ARN of the StorageConfiguration resource to use for individual participant recording. + /// + [Input("storageConfigurationArn", required: true)] + public Input StorageConfigurationArn { get; set; } = null!; + + public StageAutoParticipantRecordingConfigurationArgs() + { + } + public static new StageAutoParticipantRecordingConfigurationArgs Empty => new StageAutoParticipantRecordingConfigurationArgs(); + } +} diff --git a/sdk/dotnet/Ivs/Outputs/StageAutoParticipantRecordingConfiguration.cs b/sdk/dotnet/Ivs/Outputs/StageAutoParticipantRecordingConfiguration.cs new file mode 100644 index 0000000000..6b6ed4ab68 --- /dev/null +++ b/sdk/dotnet/Ivs/Outputs/StageAutoParticipantRecordingConfiguration.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.Ivs.Outputs +{ + + /// + /// Configuration object for individual participant recording, to attach to the new stage. + /// + [OutputType] + public sealed class StageAutoParticipantRecordingConfiguration + { + /// + /// Types of media to be recorded. Default: AUDIO_VIDEO. + /// + public readonly ImmutableArray MediaTypes; + /// + /// ARN of the StorageConfiguration resource to use for individual participant recording. + /// + public readonly string StorageConfigurationArn; + + [OutputConstructor] + private StageAutoParticipantRecordingConfiguration( + ImmutableArray mediaTypes, + + string storageConfigurationArn) + { + MediaTypes = mediaTypes; + StorageConfigurationArn = storageConfigurationArn; + } + } +} diff --git a/sdk/dotnet/Ivs/PublicKey.cs b/sdk/dotnet/Ivs/PublicKey.cs new file mode 100644 index 0000000000..9953411f91 --- /dev/null +++ b/sdk/dotnet/Ivs/PublicKey.cs @@ -0,0 +1,127 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.Ivs +{ + /// + /// Resource Type definition for AWS::IVS::PublicKey + /// + [AwsNativeResourceType("aws-native:ivs:PublicKey")] + public partial class PublicKey : global::Pulumi.CustomResource + { + /// + /// Key-pair identifier. + /// + [Output("arn")] + public Output Arn { get; private set; } = null!; + + /// + /// Key-pair identifier. + /// + [Output("fingerprint")] + public Output Fingerprint { get; private set; } = null!; + + /// + /// Name of the public key to be imported. The value does not need to be unique. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The public portion of a customer-generated key pair. + /// + [Output("publicKeyMaterial")] + public Output PublicKeyMaterial { get; private set; } = null!; + + /// + /// A list of key-value pairs that contain metadata for the asset model. + /// + [Output("tags")] + public Output> Tags { get; private set; } = null!; + + + /// + /// Create a PublicKey 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 PublicKey(string name, PublicKeyArgs? args = null, CustomResourceOptions? options = null) + : base("aws-native:ivs:PublicKey", name, args ?? new PublicKeyArgs(), MakeResourceOptions(options, "")) + { + } + + private PublicKey(string name, Input id, CustomResourceOptions? options = null) + : base("aws-native:ivs:PublicKey", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + ReplaceOnChanges = + { + "name", + "publicKeyMaterial", + }, + }; + 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 PublicKey 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. + /// A bag of options that control this resource's behavior + public static PublicKey Get(string name, Input id, CustomResourceOptions? options = null) + { + return new PublicKey(name, id, options); + } + } + + public sealed class PublicKeyArgs : global::Pulumi.ResourceArgs + { + /// + /// Name of the public key to be imported. The value does not need to be unique. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// The public portion of a customer-generated key pair. + /// + [Input("publicKeyMaterial")] + public Input? PublicKeyMaterial { get; set; } + + [Input("tags")] + private InputList? _tags; + + /// + /// A list of key-value pairs that contain metadata for the asset model. + /// + public InputList Tags + { + get => _tags ?? (_tags = new InputList()); + set => _tags = value; + } + + public PublicKeyArgs() + { + } + public static new PublicKeyArgs Empty => new PublicKeyArgs(); + } +} diff --git a/sdk/dotnet/Ivs/Stage.cs b/sdk/dotnet/Ivs/Stage.cs index e5fc8fa7a5..83de998cf0 100644 --- a/sdk/dotnet/Ivs/Stage.cs +++ b/sdk/dotnet/Ivs/Stage.cs @@ -27,6 +27,9 @@ public partial class Stage : global::Pulumi.CustomResource [Output("arn")] public Output Arn { get; private set; } = null!; + [Output("autoParticipantRecordingConfiguration")] + public Output AutoParticipantRecordingConfiguration { get; private set; } = null!; + /// /// Stage name /// @@ -84,6 +87,9 @@ public static Stage Get(string name, Input id, CustomResourceOptions? op public sealed class StageArgs : global::Pulumi.ResourceArgs { + [Input("autoParticipantRecordingConfiguration")] + public Input? AutoParticipantRecordingConfiguration { get; set; } + /// /// Stage name /// diff --git a/sdk/go/aws/deadline/pulumiEnums.go b/sdk/go/aws/deadline/pulumiEnums.go index 78559abbb4..94490c5856 100644 --- a/sdk/go/aws/deadline/pulumiEnums.go +++ b/sdk/go/aws/deadline/pulumiEnums.go @@ -883,7 +883,8 @@ func (in *fleetEc2MarketTypePtr) ToFleetEc2MarketTypePtrOutputWithContext(ctx co type FleetServiceManagedFleetOperatingSystemFamily string const ( - FleetServiceManagedFleetOperatingSystemFamilyLinux = FleetServiceManagedFleetOperatingSystemFamily("LINUX") + FleetServiceManagedFleetOperatingSystemFamilyLinux = FleetServiceManagedFleetOperatingSystemFamily("LINUX") + FleetServiceManagedFleetOperatingSystemFamilyWindows = FleetServiceManagedFleetOperatingSystemFamily("WINDOWS") ) func (FleetServiceManagedFleetOperatingSystemFamily) ElementType() reflect.Type { @@ -1009,6 +1010,7 @@ func (o FleetServiceManagedFleetOperatingSystemFamilyPtrOutput) ToStringPtrOutpu // A concrete instance of `FleetServiceManagedFleetOperatingSystemFamilyInput` can be one of the following: // // FleetServiceManagedFleetOperatingSystemFamilyLinux +// FleetServiceManagedFleetOperatingSystemFamilyWindows type FleetServiceManagedFleetOperatingSystemFamilyInput interface { pulumi.Input diff --git a/sdk/go/aws/ec2/launchTemplate.go b/sdk/go/aws/ec2/launchTemplate.go index 876cd3d51d..c539695716 100644 --- a/sdk/go/aws/ec2/launchTemplate.go +++ b/sdk/go/aws/ec2/launchTemplate.go @@ -36,7 +36,7 @@ type LaunchTemplate struct { // A name for the launch template. LaunchTemplateName pulumi.StringPtrOutput `pulumi:"launchTemplateName"` // The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``. - // To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications). + // To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications). TagSpecifications LaunchTemplateTagSpecificationArrayOutput `pulumi:"tagSpecifications"` // A description for the first version of the launch template. VersionDescription pulumi.StringPtrOutput `pulumi:"versionDescription"` @@ -94,7 +94,7 @@ type launchTemplateArgs struct { // A name for the launch template. LaunchTemplateName *string `pulumi:"launchTemplateName"` // The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``. - // To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications). + // To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications). TagSpecifications []LaunchTemplateTagSpecification `pulumi:"tagSpecifications"` // A description for the first version of the launch template. VersionDescription *string `pulumi:"versionDescription"` @@ -107,7 +107,7 @@ type LaunchTemplateArgs struct { // A name for the launch template. LaunchTemplateName pulumi.StringPtrInput // The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``. - // To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications). + // To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications). TagSpecifications LaunchTemplateTagSpecificationArrayInput // A description for the first version of the launch template. VersionDescription pulumi.StringPtrInput @@ -179,7 +179,7 @@ func (o LaunchTemplateOutput) LaunchTemplateName() pulumi.StringPtrOutput { // The tags to apply to the launch template on creation. To tag the launch template, the resource type must be “launch-template“. // -// To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications). +// To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications). func (o LaunchTemplateOutput) TagSpecifications() LaunchTemplateTagSpecificationArrayOutput { return o.ApplyT(func(v *LaunchTemplate) LaunchTemplateTagSpecificationArrayOutput { return v.TagSpecifications }).(LaunchTemplateTagSpecificationArrayOutput) } diff --git a/sdk/go/aws/ec2/pulumiTypes.go b/sdk/go/aws/ec2/pulumiTypes.go index 5004919532..dd3b113ec6 100644 --- a/sdk/go/aws/ec2/pulumiTypes.go +++ b/sdk/go/aws/ec2/pulumiTypes.go @@ -8866,7 +8866,7 @@ type IpamTag struct { Value string `pulumi:"value"` } -// Specifies a tag. For more information, see [Add tags to a resource](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#cloudformation-add-tag-specifications). +// Specifies a tag. For more information, see [Resource tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html). type KeyPairTag struct { // The tag key. Key string `pulumi:"key"` @@ -16108,7 +16108,7 @@ func (o LaunchTemplateSpotOptionsPtrOutput) ValidUntil() pulumi.StringPtrOutput }).(pulumi.StringPtrOutput) } -// Specifies a tag. For more information, see [Add tags to a resource](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#cloudformation-add-tag-specifications). +// Specifies a tag. For more information, see [Resource tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html). type LaunchTemplateTag struct { // The tag key. Key string `pulumi:"key"` @@ -16127,7 +16127,7 @@ type LaunchTemplateTagInput interface { ToLaunchTemplateTagOutputWithContext(context.Context) LaunchTemplateTagOutput } -// Specifies a tag. For more information, see [Add tags to a resource](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#cloudformation-add-tag-specifications). +// Specifies a tag. For more information, see [Resource tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html). type LaunchTemplateTagArgs struct { // The tag key. Key pulumi.StringInput `pulumi:"key"` @@ -16172,7 +16172,7 @@ func (i LaunchTemplateTagArray) ToLaunchTemplateTagArrayOutputWithContext(ctx co return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateTagArrayOutput) } -// Specifies a tag. For more information, see [Add tags to a resource](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#cloudformation-add-tag-specifications). +// Specifies a tag. For more information, see [Resource tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html). type LaunchTemplateTagOutput struct{ *pulumi.OutputState } func (LaunchTemplateTagOutput) ElementType() reflect.Type { diff --git a/sdk/go/aws/gamelift/fleet.go b/sdk/go/aws/gamelift/fleet.go index 69b2d90ce8..0eeb7dba08 100644 --- a/sdk/go/aws/gamelift/fleet.go +++ b/sdk/go/aws/gamelift/fleet.go @@ -25,7 +25,7 @@ type Fleet struct { CertificateConfiguration FleetCertificateConfigurationPtrOutput `pulumi:"certificateConfiguration"` // ComputeType to differentiate EC2 hardware managed by GameLift and Anywhere hardware managed by the customer. ComputeType FleetComputeTypePtrOutput `pulumi:"computeType"` - // *This data type is used with the Amazon GameLift containers feature, which is currently in public preview.* + // *This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.* // // Configuration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` . // @@ -151,7 +151,7 @@ type fleetArgs struct { CertificateConfiguration *FleetCertificateConfiguration `pulumi:"certificateConfiguration"` // ComputeType to differentiate EC2 hardware managed by GameLift and Anywhere hardware managed by the customer. ComputeType *FleetComputeType `pulumi:"computeType"` - // *This data type is used with the Amazon GameLift containers feature, which is currently in public preview.* + // *This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.* // // Configuration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` . // @@ -219,7 +219,7 @@ type FleetArgs struct { CertificateConfiguration FleetCertificateConfigurationPtrInput // ComputeType to differentiate EC2 hardware managed by GameLift and Anywhere hardware managed by the customer. ComputeType FleetComputeTypePtrInput - // *This data type is used with the Amazon GameLift containers feature, which is currently in public preview.* + // *This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.* // // Configuration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` . // @@ -337,7 +337,7 @@ func (o FleetOutput) ComputeType() FleetComputeTypePtrOutput { return o.ApplyT(func(v *Fleet) FleetComputeTypePtrOutput { return v.ComputeType }).(FleetComputeTypePtrOutput) } -// *This data type is used with the Amazon GameLift containers feature, which is currently in public preview.* +// *This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.* // // Configuration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` . // diff --git a/sdk/go/aws/gamelift/pulumiTypes.go b/sdk/go/aws/gamelift/pulumiTypes.go index 3a3c0b9efe..e3ce84955f 100644 --- a/sdk/go/aws/gamelift/pulumiTypes.go +++ b/sdk/go/aws/gamelift/pulumiTypes.go @@ -2551,7 +2551,7 @@ func (o FleetLocationCapacityPtrOutput) MinSize() pulumi.IntPtrOutput { type FleetLocationConfiguration struct { // An AWS Region code, such as `us-west-2` . For a list of supported Regions and Local Zones, see [Amazon GameLift service locations](https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-regions.html) for managed hosting. Location string `pulumi:"location"` - // Current resource capacity settings for managed EC2 fleets and container fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region. + // Current resource capacity settings for managed EC2 fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region. // // *Returned by:* [DescribeFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetCapacity.html) , [DescribeFleetLocationCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html) , [UpdateFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateFleetCapacity.html) LocationCapacity *FleetLocationCapacity `pulumi:"locationCapacity"` @@ -2572,7 +2572,7 @@ type FleetLocationConfigurationInput interface { type FleetLocationConfigurationArgs struct { // An AWS Region code, such as `us-west-2` . For a list of supported Regions and Local Zones, see [Amazon GameLift service locations](https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-regions.html) for managed hosting. Location pulumi.StringInput `pulumi:"location"` - // Current resource capacity settings for managed EC2 fleets and container fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region. + // Current resource capacity settings for managed EC2 fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region. // // *Returned by:* [DescribeFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetCapacity.html) , [DescribeFleetLocationCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html) , [UpdateFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateFleetCapacity.html) LocationCapacity FleetLocationCapacityPtrInput `pulumi:"locationCapacity"` @@ -2635,7 +2635,7 @@ func (o FleetLocationConfigurationOutput) Location() pulumi.StringOutput { return o.ApplyT(func(v FleetLocationConfiguration) string { return v.Location }).(pulumi.StringOutput) } -// Current resource capacity settings for managed EC2 fleets and container fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region. +// Current resource capacity settings for managed EC2 fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region. // // *Returned by:* [DescribeFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetCapacity.html) , [DescribeFleetLocationCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html) , [UpdateFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateFleetCapacity.html) func (o FleetLocationConfigurationOutput) LocationCapacity() FleetLocationCapacityPtrOutput { diff --git a/sdk/go/aws/glue/database.go b/sdk/go/aws/glue/database.go new file mode 100644 index 0000000000..5d33eb2a97 --- /dev/null +++ b/sdk/go/aws/glue/database.go @@ -0,0 +1,150 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package glue + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Resource Type definition for AWS::Glue::Database +type Database struct { + pulumi.CustomResourceState + + // The AWS account ID for the account in which to create the catalog object. + CatalogId pulumi.StringOutput `pulumi:"catalogId"` + // The metadata for the database. + DatabaseInput DatabaseInputTypeOutput `pulumi:"databaseInput"` + // The name of the database. For hive compatibility, this is folded to lowercase when it is store. + DatabaseName pulumi.StringPtrOutput `pulumi:"databaseName"` +} + +// NewDatabase registers a new resource with the given unique name, arguments, and options. +func NewDatabase(ctx *pulumi.Context, + name string, args *DatabaseArgs, opts ...pulumi.ResourceOption) (*Database, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.CatalogId == nil { + return nil, errors.New("invalid value for required argument 'CatalogId'") + } + if args.DatabaseInput == nil { + return nil, errors.New("invalid value for required argument 'DatabaseInput'") + } + replaceOnChanges := pulumi.ReplaceOnChanges([]string{ + "databaseName", + }) + opts = append(opts, replaceOnChanges) + opts = internal.PkgResourceDefaultOpts(opts) + var resource Database + err := ctx.RegisterResource("aws-native:glue:Database", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetDatabase gets an existing Database 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 GetDatabase(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *DatabaseState, opts ...pulumi.ResourceOption) (*Database, error) { + var resource Database + err := ctx.ReadResource("aws-native:glue:Database", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering Database resources. +type databaseState struct { +} + +type DatabaseState struct { +} + +func (DatabaseState) ElementType() reflect.Type { + return reflect.TypeOf((*databaseState)(nil)).Elem() +} + +type databaseArgs struct { + // The AWS account ID for the account in which to create the catalog object. + CatalogId string `pulumi:"catalogId"` + // The metadata for the database. + DatabaseInput DatabaseInputType `pulumi:"databaseInput"` + // The name of the database. For hive compatibility, this is folded to lowercase when it is store. + DatabaseName *string `pulumi:"databaseName"` +} + +// The set of arguments for constructing a Database resource. +type DatabaseArgs struct { + // The AWS account ID for the account in which to create the catalog object. + CatalogId pulumi.StringInput + // The metadata for the database. + DatabaseInput DatabaseInputTypeInput + // The name of the database. For hive compatibility, this is folded to lowercase when it is store. + DatabaseName pulumi.StringPtrInput +} + +func (DatabaseArgs) ElementType() reflect.Type { + return reflect.TypeOf((*databaseArgs)(nil)).Elem() +} + +type DatabaseInput interface { + pulumi.Input + + ToDatabaseOutput() DatabaseOutput + ToDatabaseOutputWithContext(ctx context.Context) DatabaseOutput +} + +func (*Database) ElementType() reflect.Type { + return reflect.TypeOf((**Database)(nil)).Elem() +} + +func (i *Database) ToDatabaseOutput() DatabaseOutput { + return i.ToDatabaseOutputWithContext(context.Background()) +} + +func (i *Database) ToDatabaseOutputWithContext(ctx context.Context) DatabaseOutput { + return pulumi.ToOutputWithContext(ctx, i).(DatabaseOutput) +} + +type DatabaseOutput struct{ *pulumi.OutputState } + +func (DatabaseOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Database)(nil)).Elem() +} + +func (o DatabaseOutput) ToDatabaseOutput() DatabaseOutput { + return o +} + +func (o DatabaseOutput) ToDatabaseOutputWithContext(ctx context.Context) DatabaseOutput { + return o +} + +// The AWS account ID for the account in which to create the catalog object. +func (o DatabaseOutput) CatalogId() pulumi.StringOutput { + return o.ApplyT(func(v *Database) pulumi.StringOutput { return v.CatalogId }).(pulumi.StringOutput) +} + +// The metadata for the database. +func (o DatabaseOutput) DatabaseInput() DatabaseInputTypeOutput { + return o.ApplyT(func(v *Database) DatabaseInputTypeOutput { return v.DatabaseInput }).(DatabaseInputTypeOutput) +} + +// The name of the database. For hive compatibility, this is folded to lowercase when it is store. +func (o DatabaseOutput) DatabaseName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Database) pulumi.StringPtrOutput { return v.DatabaseName }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*DatabaseInput)(nil)).Elem(), &Database{}) + pulumi.RegisterOutputType(DatabaseOutput{}) +} diff --git a/sdk/go/aws/glue/getDatabase.go b/sdk/go/aws/glue/getDatabase.go new file mode 100644 index 0000000000..5386c87a37 --- /dev/null +++ b/sdk/go/aws/glue/getDatabase.go @@ -0,0 +1,85 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package glue + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Resource Type definition for AWS::Glue::Database +func LookupDatabase(ctx *pulumi.Context, args *LookupDatabaseArgs, opts ...pulumi.InvokeOption) (*LookupDatabaseResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupDatabaseResult + err := ctx.Invoke("aws-native:glue:getDatabase", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +type LookupDatabaseArgs struct { + // The name of the database. For hive compatibility, this is folded to lowercase when it is store. + DatabaseName string `pulumi:"databaseName"` +} + +type LookupDatabaseResult struct { + // The AWS account ID for the account in which to create the catalog object. + CatalogId *string `pulumi:"catalogId"` + // The metadata for the database. + DatabaseInput *DatabaseInputType `pulumi:"databaseInput"` +} + +func LookupDatabaseOutput(ctx *pulumi.Context, args LookupDatabaseOutputArgs, opts ...pulumi.InvokeOption) LookupDatabaseResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupDatabaseResult, error) { + args := v.(LookupDatabaseArgs) + r, err := LookupDatabase(ctx, &args, opts...) + var s LookupDatabaseResult + if r != nil { + s = *r + } + return s, err + }).(LookupDatabaseResultOutput) +} + +type LookupDatabaseOutputArgs struct { + // The name of the database. For hive compatibility, this is folded to lowercase when it is store. + DatabaseName pulumi.StringInput `pulumi:"databaseName"` +} + +func (LookupDatabaseOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupDatabaseArgs)(nil)).Elem() +} + +type LookupDatabaseResultOutput struct{ *pulumi.OutputState } + +func (LookupDatabaseResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupDatabaseResult)(nil)).Elem() +} + +func (o LookupDatabaseResultOutput) ToLookupDatabaseResultOutput() LookupDatabaseResultOutput { + return o +} + +func (o LookupDatabaseResultOutput) ToLookupDatabaseResultOutputWithContext(ctx context.Context) LookupDatabaseResultOutput { + return o +} + +// The AWS account ID for the account in which to create the catalog object. +func (o LookupDatabaseResultOutput) CatalogId() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupDatabaseResult) *string { return v.CatalogId }).(pulumi.StringPtrOutput) +} + +// The metadata for the database. +func (o LookupDatabaseResultOutput) DatabaseInput() DatabaseInputTypePtrOutput { + return o.ApplyT(func(v LookupDatabaseResult) *DatabaseInputType { return v.DatabaseInput }).(DatabaseInputTypePtrOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupDatabaseResultOutput{}) +} diff --git a/sdk/go/aws/glue/init.go b/sdk/go/aws/glue/init.go index 8fadbdb09d..75fbd38e39 100644 --- a/sdk/go/aws/glue/init.go +++ b/sdk/go/aws/glue/init.go @@ -21,6 +21,8 @@ func (m *module) Version() semver.Version { func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi.Resource, err error) { switch typ { + case "aws-native:glue:Database": + r = &Database{} case "aws-native:glue:Registry": r = &Registry{} case "aws-native:glue:Schema": diff --git a/sdk/go/aws/glue/pulumiTypes.go b/sdk/go/aws/glue/pulumiTypes.go index 4b235f4a3c..f110b5a650 100644 --- a/sdk/go/aws/glue/pulumiTypes.go +++ b/sdk/go/aws/glue/pulumiTypes.go @@ -13,6 +13,795 @@ import ( var _ = internal.GetEnvOrDefault +// The AWS Lake Formation principal. +type DatabaseDataLakePrincipal struct { + // An identifier for the AWS Lake Formation principal. + DataLakePrincipalIdentifier *string `pulumi:"dataLakePrincipalIdentifier"` +} + +// DatabaseDataLakePrincipalInput is an input type that accepts DatabaseDataLakePrincipalArgs and DatabaseDataLakePrincipalOutput values. +// You can construct a concrete instance of `DatabaseDataLakePrincipalInput` via: +// +// DatabaseDataLakePrincipalArgs{...} +type DatabaseDataLakePrincipalInput interface { + pulumi.Input + + ToDatabaseDataLakePrincipalOutput() DatabaseDataLakePrincipalOutput + ToDatabaseDataLakePrincipalOutputWithContext(context.Context) DatabaseDataLakePrincipalOutput +} + +// The AWS Lake Formation principal. +type DatabaseDataLakePrincipalArgs struct { + // An identifier for the AWS Lake Formation principal. + DataLakePrincipalIdentifier pulumi.StringPtrInput `pulumi:"dataLakePrincipalIdentifier"` +} + +func (DatabaseDataLakePrincipalArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DatabaseDataLakePrincipal)(nil)).Elem() +} + +func (i DatabaseDataLakePrincipalArgs) ToDatabaseDataLakePrincipalOutput() DatabaseDataLakePrincipalOutput { + return i.ToDatabaseDataLakePrincipalOutputWithContext(context.Background()) +} + +func (i DatabaseDataLakePrincipalArgs) ToDatabaseDataLakePrincipalOutputWithContext(ctx context.Context) DatabaseDataLakePrincipalOutput { + return pulumi.ToOutputWithContext(ctx, i).(DatabaseDataLakePrincipalOutput) +} + +func (i DatabaseDataLakePrincipalArgs) ToDatabaseDataLakePrincipalPtrOutput() DatabaseDataLakePrincipalPtrOutput { + return i.ToDatabaseDataLakePrincipalPtrOutputWithContext(context.Background()) +} + +func (i DatabaseDataLakePrincipalArgs) ToDatabaseDataLakePrincipalPtrOutputWithContext(ctx context.Context) DatabaseDataLakePrincipalPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DatabaseDataLakePrincipalOutput).ToDatabaseDataLakePrincipalPtrOutputWithContext(ctx) +} + +// DatabaseDataLakePrincipalPtrInput is an input type that accepts DatabaseDataLakePrincipalArgs, DatabaseDataLakePrincipalPtr and DatabaseDataLakePrincipalPtrOutput values. +// You can construct a concrete instance of `DatabaseDataLakePrincipalPtrInput` via: +// +// DatabaseDataLakePrincipalArgs{...} +// +// or: +// +// nil +type DatabaseDataLakePrincipalPtrInput interface { + pulumi.Input + + ToDatabaseDataLakePrincipalPtrOutput() DatabaseDataLakePrincipalPtrOutput + ToDatabaseDataLakePrincipalPtrOutputWithContext(context.Context) DatabaseDataLakePrincipalPtrOutput +} + +type databaseDataLakePrincipalPtrType DatabaseDataLakePrincipalArgs + +func DatabaseDataLakePrincipalPtr(v *DatabaseDataLakePrincipalArgs) DatabaseDataLakePrincipalPtrInput { + return (*databaseDataLakePrincipalPtrType)(v) +} + +func (*databaseDataLakePrincipalPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DatabaseDataLakePrincipal)(nil)).Elem() +} + +func (i *databaseDataLakePrincipalPtrType) ToDatabaseDataLakePrincipalPtrOutput() DatabaseDataLakePrincipalPtrOutput { + return i.ToDatabaseDataLakePrincipalPtrOutputWithContext(context.Background()) +} + +func (i *databaseDataLakePrincipalPtrType) ToDatabaseDataLakePrincipalPtrOutputWithContext(ctx context.Context) DatabaseDataLakePrincipalPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DatabaseDataLakePrincipalPtrOutput) +} + +// The AWS Lake Formation principal. +type DatabaseDataLakePrincipalOutput struct{ *pulumi.OutputState } + +func (DatabaseDataLakePrincipalOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DatabaseDataLakePrincipal)(nil)).Elem() +} + +func (o DatabaseDataLakePrincipalOutput) ToDatabaseDataLakePrincipalOutput() DatabaseDataLakePrincipalOutput { + return o +} + +func (o DatabaseDataLakePrincipalOutput) ToDatabaseDataLakePrincipalOutputWithContext(ctx context.Context) DatabaseDataLakePrincipalOutput { + return o +} + +func (o DatabaseDataLakePrincipalOutput) ToDatabaseDataLakePrincipalPtrOutput() DatabaseDataLakePrincipalPtrOutput { + return o.ToDatabaseDataLakePrincipalPtrOutputWithContext(context.Background()) +} + +func (o DatabaseDataLakePrincipalOutput) ToDatabaseDataLakePrincipalPtrOutputWithContext(ctx context.Context) DatabaseDataLakePrincipalPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DatabaseDataLakePrincipal) *DatabaseDataLakePrincipal { + return &v + }).(DatabaseDataLakePrincipalPtrOutput) +} + +// An identifier for the AWS Lake Formation principal. +func (o DatabaseDataLakePrincipalOutput) DataLakePrincipalIdentifier() pulumi.StringPtrOutput { + return o.ApplyT(func(v DatabaseDataLakePrincipal) *string { return v.DataLakePrincipalIdentifier }).(pulumi.StringPtrOutput) +} + +type DatabaseDataLakePrincipalPtrOutput struct{ *pulumi.OutputState } + +func (DatabaseDataLakePrincipalPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DatabaseDataLakePrincipal)(nil)).Elem() +} + +func (o DatabaseDataLakePrincipalPtrOutput) ToDatabaseDataLakePrincipalPtrOutput() DatabaseDataLakePrincipalPtrOutput { + return o +} + +func (o DatabaseDataLakePrincipalPtrOutput) ToDatabaseDataLakePrincipalPtrOutputWithContext(ctx context.Context) DatabaseDataLakePrincipalPtrOutput { + return o +} + +func (o DatabaseDataLakePrincipalPtrOutput) Elem() DatabaseDataLakePrincipalOutput { + return o.ApplyT(func(v *DatabaseDataLakePrincipal) DatabaseDataLakePrincipal { + if v != nil { + return *v + } + var ret DatabaseDataLakePrincipal + return ret + }).(DatabaseDataLakePrincipalOutput) +} + +// An identifier for the AWS Lake Formation principal. +func (o DatabaseDataLakePrincipalPtrOutput) DataLakePrincipalIdentifier() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DatabaseDataLakePrincipal) *string { + if v == nil { + return nil + } + return v.DataLakePrincipalIdentifier + }).(pulumi.StringPtrOutput) +} + +// A FederatedDatabase structure that references an entity outside the AWS Glue Data Catalog. +type DatabaseFederatedDatabase struct { + // The name of the connection to the external metastore. + ConnectionName *string `pulumi:"connectionName"` + // A unique identifier for the federated database. + Identifier *string `pulumi:"identifier"` +} + +// DatabaseFederatedDatabaseInput is an input type that accepts DatabaseFederatedDatabaseArgs and DatabaseFederatedDatabaseOutput values. +// You can construct a concrete instance of `DatabaseFederatedDatabaseInput` via: +// +// DatabaseFederatedDatabaseArgs{...} +type DatabaseFederatedDatabaseInput interface { + pulumi.Input + + ToDatabaseFederatedDatabaseOutput() DatabaseFederatedDatabaseOutput + ToDatabaseFederatedDatabaseOutputWithContext(context.Context) DatabaseFederatedDatabaseOutput +} + +// A FederatedDatabase structure that references an entity outside the AWS Glue Data Catalog. +type DatabaseFederatedDatabaseArgs struct { + // The name of the connection to the external metastore. + ConnectionName pulumi.StringPtrInput `pulumi:"connectionName"` + // A unique identifier for the federated database. + Identifier pulumi.StringPtrInput `pulumi:"identifier"` +} + +func (DatabaseFederatedDatabaseArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DatabaseFederatedDatabase)(nil)).Elem() +} + +func (i DatabaseFederatedDatabaseArgs) ToDatabaseFederatedDatabaseOutput() DatabaseFederatedDatabaseOutput { + return i.ToDatabaseFederatedDatabaseOutputWithContext(context.Background()) +} + +func (i DatabaseFederatedDatabaseArgs) ToDatabaseFederatedDatabaseOutputWithContext(ctx context.Context) DatabaseFederatedDatabaseOutput { + return pulumi.ToOutputWithContext(ctx, i).(DatabaseFederatedDatabaseOutput) +} + +func (i DatabaseFederatedDatabaseArgs) ToDatabaseFederatedDatabasePtrOutput() DatabaseFederatedDatabasePtrOutput { + return i.ToDatabaseFederatedDatabasePtrOutputWithContext(context.Background()) +} + +func (i DatabaseFederatedDatabaseArgs) ToDatabaseFederatedDatabasePtrOutputWithContext(ctx context.Context) DatabaseFederatedDatabasePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DatabaseFederatedDatabaseOutput).ToDatabaseFederatedDatabasePtrOutputWithContext(ctx) +} + +// DatabaseFederatedDatabasePtrInput is an input type that accepts DatabaseFederatedDatabaseArgs, DatabaseFederatedDatabasePtr and DatabaseFederatedDatabasePtrOutput values. +// You can construct a concrete instance of `DatabaseFederatedDatabasePtrInput` via: +// +// DatabaseFederatedDatabaseArgs{...} +// +// or: +// +// nil +type DatabaseFederatedDatabasePtrInput interface { + pulumi.Input + + ToDatabaseFederatedDatabasePtrOutput() DatabaseFederatedDatabasePtrOutput + ToDatabaseFederatedDatabasePtrOutputWithContext(context.Context) DatabaseFederatedDatabasePtrOutput +} + +type databaseFederatedDatabasePtrType DatabaseFederatedDatabaseArgs + +func DatabaseFederatedDatabasePtr(v *DatabaseFederatedDatabaseArgs) DatabaseFederatedDatabasePtrInput { + return (*databaseFederatedDatabasePtrType)(v) +} + +func (*databaseFederatedDatabasePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DatabaseFederatedDatabase)(nil)).Elem() +} + +func (i *databaseFederatedDatabasePtrType) ToDatabaseFederatedDatabasePtrOutput() DatabaseFederatedDatabasePtrOutput { + return i.ToDatabaseFederatedDatabasePtrOutputWithContext(context.Background()) +} + +func (i *databaseFederatedDatabasePtrType) ToDatabaseFederatedDatabasePtrOutputWithContext(ctx context.Context) DatabaseFederatedDatabasePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DatabaseFederatedDatabasePtrOutput) +} + +// A FederatedDatabase structure that references an entity outside the AWS Glue Data Catalog. +type DatabaseFederatedDatabaseOutput struct{ *pulumi.OutputState } + +func (DatabaseFederatedDatabaseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DatabaseFederatedDatabase)(nil)).Elem() +} + +func (o DatabaseFederatedDatabaseOutput) ToDatabaseFederatedDatabaseOutput() DatabaseFederatedDatabaseOutput { + return o +} + +func (o DatabaseFederatedDatabaseOutput) ToDatabaseFederatedDatabaseOutputWithContext(ctx context.Context) DatabaseFederatedDatabaseOutput { + return o +} + +func (o DatabaseFederatedDatabaseOutput) ToDatabaseFederatedDatabasePtrOutput() DatabaseFederatedDatabasePtrOutput { + return o.ToDatabaseFederatedDatabasePtrOutputWithContext(context.Background()) +} + +func (o DatabaseFederatedDatabaseOutput) ToDatabaseFederatedDatabasePtrOutputWithContext(ctx context.Context) DatabaseFederatedDatabasePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DatabaseFederatedDatabase) *DatabaseFederatedDatabase { + return &v + }).(DatabaseFederatedDatabasePtrOutput) +} + +// The name of the connection to the external metastore. +func (o DatabaseFederatedDatabaseOutput) ConnectionName() pulumi.StringPtrOutput { + return o.ApplyT(func(v DatabaseFederatedDatabase) *string { return v.ConnectionName }).(pulumi.StringPtrOutput) +} + +// A unique identifier for the federated database. +func (o DatabaseFederatedDatabaseOutput) Identifier() pulumi.StringPtrOutput { + return o.ApplyT(func(v DatabaseFederatedDatabase) *string { return v.Identifier }).(pulumi.StringPtrOutput) +} + +type DatabaseFederatedDatabasePtrOutput struct{ *pulumi.OutputState } + +func (DatabaseFederatedDatabasePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DatabaseFederatedDatabase)(nil)).Elem() +} + +func (o DatabaseFederatedDatabasePtrOutput) ToDatabaseFederatedDatabasePtrOutput() DatabaseFederatedDatabasePtrOutput { + return o +} + +func (o DatabaseFederatedDatabasePtrOutput) ToDatabaseFederatedDatabasePtrOutputWithContext(ctx context.Context) DatabaseFederatedDatabasePtrOutput { + return o +} + +func (o DatabaseFederatedDatabasePtrOutput) Elem() DatabaseFederatedDatabaseOutput { + return o.ApplyT(func(v *DatabaseFederatedDatabase) DatabaseFederatedDatabase { + if v != nil { + return *v + } + var ret DatabaseFederatedDatabase + return ret + }).(DatabaseFederatedDatabaseOutput) +} + +// The name of the connection to the external metastore. +func (o DatabaseFederatedDatabasePtrOutput) ConnectionName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DatabaseFederatedDatabase) *string { + if v == nil { + return nil + } + return v.ConnectionName + }).(pulumi.StringPtrOutput) +} + +// A unique identifier for the federated database. +func (o DatabaseFederatedDatabasePtrOutput) Identifier() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DatabaseFederatedDatabase) *string { + if v == nil { + return nil + } + return v.Identifier + }).(pulumi.StringPtrOutput) +} + +// A structure that describes a target database for resource linking. +type DatabaseIdentifier struct { + // The ID of the Data Catalog in which the database resides. + CatalogId *string `pulumi:"catalogId"` + // The name of the catalog database. + DatabaseName *string `pulumi:"databaseName"` + // Region of the target database. + Region *string `pulumi:"region"` +} + +// DatabaseIdentifierInput is an input type that accepts DatabaseIdentifierArgs and DatabaseIdentifierOutput values. +// You can construct a concrete instance of `DatabaseIdentifierInput` via: +// +// DatabaseIdentifierArgs{...} +type DatabaseIdentifierInput interface { + pulumi.Input + + ToDatabaseIdentifierOutput() DatabaseIdentifierOutput + ToDatabaseIdentifierOutputWithContext(context.Context) DatabaseIdentifierOutput +} + +// A structure that describes a target database for resource linking. +type DatabaseIdentifierArgs struct { + // The ID of the Data Catalog in which the database resides. + CatalogId pulumi.StringPtrInput `pulumi:"catalogId"` + // The name of the catalog database. + DatabaseName pulumi.StringPtrInput `pulumi:"databaseName"` + // Region of the target database. + Region pulumi.StringPtrInput `pulumi:"region"` +} + +func (DatabaseIdentifierArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DatabaseIdentifier)(nil)).Elem() +} + +func (i DatabaseIdentifierArgs) ToDatabaseIdentifierOutput() DatabaseIdentifierOutput { + return i.ToDatabaseIdentifierOutputWithContext(context.Background()) +} + +func (i DatabaseIdentifierArgs) ToDatabaseIdentifierOutputWithContext(ctx context.Context) DatabaseIdentifierOutput { + return pulumi.ToOutputWithContext(ctx, i).(DatabaseIdentifierOutput) +} + +func (i DatabaseIdentifierArgs) ToDatabaseIdentifierPtrOutput() DatabaseIdentifierPtrOutput { + return i.ToDatabaseIdentifierPtrOutputWithContext(context.Background()) +} + +func (i DatabaseIdentifierArgs) ToDatabaseIdentifierPtrOutputWithContext(ctx context.Context) DatabaseIdentifierPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DatabaseIdentifierOutput).ToDatabaseIdentifierPtrOutputWithContext(ctx) +} + +// DatabaseIdentifierPtrInput is an input type that accepts DatabaseIdentifierArgs, DatabaseIdentifierPtr and DatabaseIdentifierPtrOutput values. +// You can construct a concrete instance of `DatabaseIdentifierPtrInput` via: +// +// DatabaseIdentifierArgs{...} +// +// or: +// +// nil +type DatabaseIdentifierPtrInput interface { + pulumi.Input + + ToDatabaseIdentifierPtrOutput() DatabaseIdentifierPtrOutput + ToDatabaseIdentifierPtrOutputWithContext(context.Context) DatabaseIdentifierPtrOutput +} + +type databaseIdentifierPtrType DatabaseIdentifierArgs + +func DatabaseIdentifierPtr(v *DatabaseIdentifierArgs) DatabaseIdentifierPtrInput { + return (*databaseIdentifierPtrType)(v) +} + +func (*databaseIdentifierPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DatabaseIdentifier)(nil)).Elem() +} + +func (i *databaseIdentifierPtrType) ToDatabaseIdentifierPtrOutput() DatabaseIdentifierPtrOutput { + return i.ToDatabaseIdentifierPtrOutputWithContext(context.Background()) +} + +func (i *databaseIdentifierPtrType) ToDatabaseIdentifierPtrOutputWithContext(ctx context.Context) DatabaseIdentifierPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DatabaseIdentifierPtrOutput) +} + +// A structure that describes a target database for resource linking. +type DatabaseIdentifierOutput struct{ *pulumi.OutputState } + +func (DatabaseIdentifierOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DatabaseIdentifier)(nil)).Elem() +} + +func (o DatabaseIdentifierOutput) ToDatabaseIdentifierOutput() DatabaseIdentifierOutput { + return o +} + +func (o DatabaseIdentifierOutput) ToDatabaseIdentifierOutputWithContext(ctx context.Context) DatabaseIdentifierOutput { + return o +} + +func (o DatabaseIdentifierOutput) ToDatabaseIdentifierPtrOutput() DatabaseIdentifierPtrOutput { + return o.ToDatabaseIdentifierPtrOutputWithContext(context.Background()) +} + +func (o DatabaseIdentifierOutput) ToDatabaseIdentifierPtrOutputWithContext(ctx context.Context) DatabaseIdentifierPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DatabaseIdentifier) *DatabaseIdentifier { + return &v + }).(DatabaseIdentifierPtrOutput) +} + +// The ID of the Data Catalog in which the database resides. +func (o DatabaseIdentifierOutput) CatalogId() pulumi.StringPtrOutput { + return o.ApplyT(func(v DatabaseIdentifier) *string { return v.CatalogId }).(pulumi.StringPtrOutput) +} + +// The name of the catalog database. +func (o DatabaseIdentifierOutput) DatabaseName() pulumi.StringPtrOutput { + return o.ApplyT(func(v DatabaseIdentifier) *string { return v.DatabaseName }).(pulumi.StringPtrOutput) +} + +// Region of the target database. +func (o DatabaseIdentifierOutput) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v DatabaseIdentifier) *string { return v.Region }).(pulumi.StringPtrOutput) +} + +type DatabaseIdentifierPtrOutput struct{ *pulumi.OutputState } + +func (DatabaseIdentifierPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DatabaseIdentifier)(nil)).Elem() +} + +func (o DatabaseIdentifierPtrOutput) ToDatabaseIdentifierPtrOutput() DatabaseIdentifierPtrOutput { + return o +} + +func (o DatabaseIdentifierPtrOutput) ToDatabaseIdentifierPtrOutputWithContext(ctx context.Context) DatabaseIdentifierPtrOutput { + return o +} + +func (o DatabaseIdentifierPtrOutput) Elem() DatabaseIdentifierOutput { + return o.ApplyT(func(v *DatabaseIdentifier) DatabaseIdentifier { + if v != nil { + return *v + } + var ret DatabaseIdentifier + return ret + }).(DatabaseIdentifierOutput) +} + +// The ID of the Data Catalog in which the database resides. +func (o DatabaseIdentifierPtrOutput) CatalogId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DatabaseIdentifier) *string { + if v == nil { + return nil + } + return v.CatalogId + }).(pulumi.StringPtrOutput) +} + +// The name of the catalog database. +func (o DatabaseIdentifierPtrOutput) DatabaseName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DatabaseIdentifier) *string { + if v == nil { + return nil + } + return v.DatabaseName + }).(pulumi.StringPtrOutput) +} + +// Region of the target database. +func (o DatabaseIdentifierPtrOutput) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DatabaseIdentifier) *string { + if v == nil { + return nil + } + return v.Region + }).(pulumi.StringPtrOutput) +} + +// The structure used to create or update a database. +type DatabaseInputType struct { + // Creates a set of default permissions on the table for principals. Used by AWS Lake Formation. Not used in the normal course of AWS Glue operations. + CreateTableDefaultPermissions []DatabasePrincipalPrivileges `pulumi:"createTableDefaultPermissions"` + // A description of the database. + Description *string `pulumi:"description"` + // A FederatedDatabase structure that references an entity outside the AWS Glue Data Catalog. + FederatedDatabase *DatabaseFederatedDatabase `pulumi:"federatedDatabase"` + // The location of the database (for example, an HDFS path). + LocationUri *string `pulumi:"locationUri"` + // The name of the database. For hive compatibility, this is folded to lowercase when it is stored. + Name *string `pulumi:"name"` + // These key-value pairs define parameters and properties of the database. + Parameters interface{} `pulumi:"parameters"` + // A DatabaseIdentifier structure that describes a target database for resource linking. + TargetDatabase *DatabaseIdentifier `pulumi:"targetDatabase"` +} + +// DatabaseInputTypeInput is an input type that accepts DatabaseInputTypeArgs and DatabaseInputTypeOutput values. +// You can construct a concrete instance of `DatabaseInputTypeInput` via: +// +// DatabaseInputTypeArgs{...} +type DatabaseInputTypeInput interface { + pulumi.Input + + ToDatabaseInputTypeOutput() DatabaseInputTypeOutput + ToDatabaseInputTypeOutputWithContext(context.Context) DatabaseInputTypeOutput +} + +// The structure used to create or update a database. +type DatabaseInputTypeArgs struct { + // Creates a set of default permissions on the table for principals. Used by AWS Lake Formation. Not used in the normal course of AWS Glue operations. + CreateTableDefaultPermissions DatabasePrincipalPrivilegesArrayInput `pulumi:"createTableDefaultPermissions"` + // A description of the database. + Description pulumi.StringPtrInput `pulumi:"description"` + // A FederatedDatabase structure that references an entity outside the AWS Glue Data Catalog. + FederatedDatabase DatabaseFederatedDatabasePtrInput `pulumi:"federatedDatabase"` + // The location of the database (for example, an HDFS path). + LocationUri pulumi.StringPtrInput `pulumi:"locationUri"` + // The name of the database. For hive compatibility, this is folded to lowercase when it is stored. + Name pulumi.StringPtrInput `pulumi:"name"` + // These key-value pairs define parameters and properties of the database. + Parameters pulumi.Input `pulumi:"parameters"` + // A DatabaseIdentifier structure that describes a target database for resource linking. + TargetDatabase DatabaseIdentifierPtrInput `pulumi:"targetDatabase"` +} + +func (DatabaseInputTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DatabaseInputType)(nil)).Elem() +} + +func (i DatabaseInputTypeArgs) ToDatabaseInputTypeOutput() DatabaseInputTypeOutput { + return i.ToDatabaseInputTypeOutputWithContext(context.Background()) +} + +func (i DatabaseInputTypeArgs) ToDatabaseInputTypeOutputWithContext(ctx context.Context) DatabaseInputTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(DatabaseInputTypeOutput) +} + +// The structure used to create or update a database. +type DatabaseInputTypeOutput struct{ *pulumi.OutputState } + +func (DatabaseInputTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DatabaseInputType)(nil)).Elem() +} + +func (o DatabaseInputTypeOutput) ToDatabaseInputTypeOutput() DatabaseInputTypeOutput { + return o +} + +func (o DatabaseInputTypeOutput) ToDatabaseInputTypeOutputWithContext(ctx context.Context) DatabaseInputTypeOutput { + return o +} + +// Creates a set of default permissions on the table for principals. Used by AWS Lake Formation. Not used in the normal course of AWS Glue operations. +func (o DatabaseInputTypeOutput) CreateTableDefaultPermissions() DatabasePrincipalPrivilegesArrayOutput { + return o.ApplyT(func(v DatabaseInputType) []DatabasePrincipalPrivileges { return v.CreateTableDefaultPermissions }).(DatabasePrincipalPrivilegesArrayOutput) +} + +// A description of the database. +func (o DatabaseInputTypeOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v DatabaseInputType) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// A FederatedDatabase structure that references an entity outside the AWS Glue Data Catalog. +func (o DatabaseInputTypeOutput) FederatedDatabase() DatabaseFederatedDatabasePtrOutput { + return o.ApplyT(func(v DatabaseInputType) *DatabaseFederatedDatabase { return v.FederatedDatabase }).(DatabaseFederatedDatabasePtrOutput) +} + +// The location of the database (for example, an HDFS path). +func (o DatabaseInputTypeOutput) LocationUri() pulumi.StringPtrOutput { + return o.ApplyT(func(v DatabaseInputType) *string { return v.LocationUri }).(pulumi.StringPtrOutput) +} + +// The name of the database. For hive compatibility, this is folded to lowercase when it is stored. +func (o DatabaseInputTypeOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v DatabaseInputType) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// These key-value pairs define parameters and properties of the database. +func (o DatabaseInputTypeOutput) Parameters() pulumi.AnyOutput { + return o.ApplyT(func(v DatabaseInputType) interface{} { return v.Parameters }).(pulumi.AnyOutput) +} + +// A DatabaseIdentifier structure that describes a target database for resource linking. +func (o DatabaseInputTypeOutput) TargetDatabase() DatabaseIdentifierPtrOutput { + return o.ApplyT(func(v DatabaseInputType) *DatabaseIdentifier { return v.TargetDatabase }).(DatabaseIdentifierPtrOutput) +} + +type DatabaseInputTypePtrOutput struct{ *pulumi.OutputState } + +func (DatabaseInputTypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DatabaseInputType)(nil)).Elem() +} + +func (o DatabaseInputTypePtrOutput) ToDatabaseInputTypePtrOutput() DatabaseInputTypePtrOutput { + return o +} + +func (o DatabaseInputTypePtrOutput) ToDatabaseInputTypePtrOutputWithContext(ctx context.Context) DatabaseInputTypePtrOutput { + return o +} + +func (o DatabaseInputTypePtrOutput) Elem() DatabaseInputTypeOutput { + return o.ApplyT(func(v *DatabaseInputType) DatabaseInputType { + if v != nil { + return *v + } + var ret DatabaseInputType + return ret + }).(DatabaseInputTypeOutput) +} + +// Creates a set of default permissions on the table for principals. Used by AWS Lake Formation. Not used in the normal course of AWS Glue operations. +func (o DatabaseInputTypePtrOutput) CreateTableDefaultPermissions() DatabasePrincipalPrivilegesArrayOutput { + return o.ApplyT(func(v *DatabaseInputType) []DatabasePrincipalPrivileges { + if v == nil { + return nil + } + return v.CreateTableDefaultPermissions + }).(DatabasePrincipalPrivilegesArrayOutput) +} + +// A description of the database. +func (o DatabaseInputTypePtrOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DatabaseInputType) *string { + if v == nil { + return nil + } + return v.Description + }).(pulumi.StringPtrOutput) +} + +// A FederatedDatabase structure that references an entity outside the AWS Glue Data Catalog. +func (o DatabaseInputTypePtrOutput) FederatedDatabase() DatabaseFederatedDatabasePtrOutput { + return o.ApplyT(func(v *DatabaseInputType) *DatabaseFederatedDatabase { + if v == nil { + return nil + } + return v.FederatedDatabase + }).(DatabaseFederatedDatabasePtrOutput) +} + +// The location of the database (for example, an HDFS path). +func (o DatabaseInputTypePtrOutput) LocationUri() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DatabaseInputType) *string { + if v == nil { + return nil + } + return v.LocationUri + }).(pulumi.StringPtrOutput) +} + +// The name of the database. For hive compatibility, this is folded to lowercase when it is stored. +func (o DatabaseInputTypePtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DatabaseInputType) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// These key-value pairs define parameters and properties of the database. +func (o DatabaseInputTypePtrOutput) Parameters() pulumi.AnyOutput { + return o.ApplyT(func(v *DatabaseInputType) interface{} { + if v == nil { + return nil + } + return v.Parameters + }).(pulumi.AnyOutput) +} + +// A DatabaseIdentifier structure that describes a target database for resource linking. +func (o DatabaseInputTypePtrOutput) TargetDatabase() DatabaseIdentifierPtrOutput { + return o.ApplyT(func(v *DatabaseInputType) *DatabaseIdentifier { + if v == nil { + return nil + } + return v.TargetDatabase + }).(DatabaseIdentifierPtrOutput) +} + +// The permissions granted to a principal. +type DatabasePrincipalPrivileges struct { + // The permissions that are granted to the principal. + Permissions []string `pulumi:"permissions"` + // The principal who is granted permissions. + Principal *DatabaseDataLakePrincipal `pulumi:"principal"` +} + +// DatabasePrincipalPrivilegesInput is an input type that accepts DatabasePrincipalPrivilegesArgs and DatabasePrincipalPrivilegesOutput values. +// You can construct a concrete instance of `DatabasePrincipalPrivilegesInput` via: +// +// DatabasePrincipalPrivilegesArgs{...} +type DatabasePrincipalPrivilegesInput interface { + pulumi.Input + + ToDatabasePrincipalPrivilegesOutput() DatabasePrincipalPrivilegesOutput + ToDatabasePrincipalPrivilegesOutputWithContext(context.Context) DatabasePrincipalPrivilegesOutput +} + +// The permissions granted to a principal. +type DatabasePrincipalPrivilegesArgs struct { + // The permissions that are granted to the principal. + Permissions pulumi.StringArrayInput `pulumi:"permissions"` + // The principal who is granted permissions. + Principal DatabaseDataLakePrincipalPtrInput `pulumi:"principal"` +} + +func (DatabasePrincipalPrivilegesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DatabasePrincipalPrivileges)(nil)).Elem() +} + +func (i DatabasePrincipalPrivilegesArgs) ToDatabasePrincipalPrivilegesOutput() DatabasePrincipalPrivilegesOutput { + return i.ToDatabasePrincipalPrivilegesOutputWithContext(context.Background()) +} + +func (i DatabasePrincipalPrivilegesArgs) ToDatabasePrincipalPrivilegesOutputWithContext(ctx context.Context) DatabasePrincipalPrivilegesOutput { + return pulumi.ToOutputWithContext(ctx, i).(DatabasePrincipalPrivilegesOutput) +} + +// DatabasePrincipalPrivilegesArrayInput is an input type that accepts DatabasePrincipalPrivilegesArray and DatabasePrincipalPrivilegesArrayOutput values. +// You can construct a concrete instance of `DatabasePrincipalPrivilegesArrayInput` via: +// +// DatabasePrincipalPrivilegesArray{ DatabasePrincipalPrivilegesArgs{...} } +type DatabasePrincipalPrivilegesArrayInput interface { + pulumi.Input + + ToDatabasePrincipalPrivilegesArrayOutput() DatabasePrincipalPrivilegesArrayOutput + ToDatabasePrincipalPrivilegesArrayOutputWithContext(context.Context) DatabasePrincipalPrivilegesArrayOutput +} + +type DatabasePrincipalPrivilegesArray []DatabasePrincipalPrivilegesInput + +func (DatabasePrincipalPrivilegesArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]DatabasePrincipalPrivileges)(nil)).Elem() +} + +func (i DatabasePrincipalPrivilegesArray) ToDatabasePrincipalPrivilegesArrayOutput() DatabasePrincipalPrivilegesArrayOutput { + return i.ToDatabasePrincipalPrivilegesArrayOutputWithContext(context.Background()) +} + +func (i DatabasePrincipalPrivilegesArray) ToDatabasePrincipalPrivilegesArrayOutputWithContext(ctx context.Context) DatabasePrincipalPrivilegesArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DatabasePrincipalPrivilegesArrayOutput) +} + +// The permissions granted to a principal. +type DatabasePrincipalPrivilegesOutput struct{ *pulumi.OutputState } + +func (DatabasePrincipalPrivilegesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DatabasePrincipalPrivileges)(nil)).Elem() +} + +func (o DatabasePrincipalPrivilegesOutput) ToDatabasePrincipalPrivilegesOutput() DatabasePrincipalPrivilegesOutput { + return o +} + +func (o DatabasePrincipalPrivilegesOutput) ToDatabasePrincipalPrivilegesOutputWithContext(ctx context.Context) DatabasePrincipalPrivilegesOutput { + return o +} + +// The permissions that are granted to the principal. +func (o DatabasePrincipalPrivilegesOutput) Permissions() pulumi.StringArrayOutput { + return o.ApplyT(func(v DatabasePrincipalPrivileges) []string { return v.Permissions }).(pulumi.StringArrayOutput) +} + +// The principal who is granted permissions. +func (o DatabasePrincipalPrivilegesOutput) Principal() DatabaseDataLakePrincipalPtrOutput { + return o.ApplyT(func(v DatabasePrincipalPrivileges) *DatabaseDataLakePrincipal { return v.Principal }).(DatabaseDataLakePrincipalPtrOutput) +} + +type DatabasePrincipalPrivilegesArrayOutput struct{ *pulumi.OutputState } + +func (DatabasePrincipalPrivilegesArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]DatabasePrincipalPrivileges)(nil)).Elem() +} + +func (o DatabasePrincipalPrivilegesArrayOutput) ToDatabasePrincipalPrivilegesArrayOutput() DatabasePrincipalPrivilegesArrayOutput { + return o +} + +func (o DatabasePrincipalPrivilegesArrayOutput) ToDatabasePrincipalPrivilegesArrayOutputWithContext(ctx context.Context) DatabasePrincipalPrivilegesArrayOutput { + return o +} + +func (o DatabasePrincipalPrivilegesArrayOutput) Index(i pulumi.IntInput) DatabasePrincipalPrivilegesOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) DatabasePrincipalPrivileges { + return vs[0].([]DatabasePrincipalPrivileges)[vs[1].(int)] + }).(DatabasePrincipalPrivilegesOutput) +} + type RegistryTag struct { // A key to identify the tag. Key string `pulumi:"key"` @@ -1158,6 +1947,15 @@ func (o TriggerPredicatePtrOutput) Logical() pulumi.StringPtrOutput { } func init() { + pulumi.RegisterInputType(reflect.TypeOf((*DatabaseDataLakePrincipalInput)(nil)).Elem(), DatabaseDataLakePrincipalArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DatabaseDataLakePrincipalPtrInput)(nil)).Elem(), DatabaseDataLakePrincipalArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DatabaseFederatedDatabaseInput)(nil)).Elem(), DatabaseFederatedDatabaseArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DatabaseFederatedDatabasePtrInput)(nil)).Elem(), DatabaseFederatedDatabaseArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DatabaseIdentifierInput)(nil)).Elem(), DatabaseIdentifierArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DatabaseIdentifierPtrInput)(nil)).Elem(), DatabaseIdentifierArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DatabaseInputTypeInput)(nil)).Elem(), DatabaseInputTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DatabasePrincipalPrivilegesInput)(nil)).Elem(), DatabasePrincipalPrivilegesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DatabasePrincipalPrivilegesArrayInput)(nil)).Elem(), DatabasePrincipalPrivilegesArray{}) pulumi.RegisterInputType(reflect.TypeOf((*SchemaRegistryInput)(nil)).Elem(), SchemaRegistryArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SchemaRegistryPtrInput)(nil)).Elem(), SchemaRegistryArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SchemaVersionTypeInput)(nil)).Elem(), SchemaVersionTypeArgs{}) @@ -1173,6 +1971,16 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*TriggerNotificationPropertyPtrInput)(nil)).Elem(), TriggerNotificationPropertyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*TriggerPredicateInput)(nil)).Elem(), TriggerPredicateArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*TriggerPredicatePtrInput)(nil)).Elem(), TriggerPredicateArgs{}) + pulumi.RegisterOutputType(DatabaseDataLakePrincipalOutput{}) + pulumi.RegisterOutputType(DatabaseDataLakePrincipalPtrOutput{}) + pulumi.RegisterOutputType(DatabaseFederatedDatabaseOutput{}) + pulumi.RegisterOutputType(DatabaseFederatedDatabasePtrOutput{}) + pulumi.RegisterOutputType(DatabaseIdentifierOutput{}) + pulumi.RegisterOutputType(DatabaseIdentifierPtrOutput{}) + pulumi.RegisterOutputType(DatabaseInputTypeOutput{}) + pulumi.RegisterOutputType(DatabaseInputTypePtrOutput{}) + pulumi.RegisterOutputType(DatabasePrincipalPrivilegesOutput{}) + pulumi.RegisterOutputType(DatabasePrincipalPrivilegesArrayOutput{}) pulumi.RegisterOutputType(SchemaRegistryOutput{}) pulumi.RegisterOutputType(SchemaRegistryPtrOutput{}) pulumi.RegisterOutputType(SchemaVersionTypeOutput{}) diff --git a/sdk/go/aws/ivs/getPublicKey.go b/sdk/go/aws/ivs/getPublicKey.go new file mode 100644 index 0000000000..00040b14a0 --- /dev/null +++ b/sdk/go/aws/ivs/getPublicKey.go @@ -0,0 +1,93 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ivs + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws-native/sdk/go/aws" + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Resource Type definition for AWS::IVS::PublicKey +func LookupPublicKey(ctx *pulumi.Context, args *LookupPublicKeyArgs, opts ...pulumi.InvokeOption) (*LookupPublicKeyResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupPublicKeyResult + err := ctx.Invoke("aws-native:ivs:getPublicKey", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +type LookupPublicKeyArgs struct { + // Key-pair identifier. + Arn string `pulumi:"arn"` +} + +type LookupPublicKeyResult struct { + // Key-pair identifier. + Arn *string `pulumi:"arn"` + // Key-pair identifier. + Fingerprint *string `pulumi:"fingerprint"` + // A list of key-value pairs that contain metadata for the asset model. + Tags []aws.Tag `pulumi:"tags"` +} + +func LookupPublicKeyOutput(ctx *pulumi.Context, args LookupPublicKeyOutputArgs, opts ...pulumi.InvokeOption) LookupPublicKeyResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupPublicKeyResult, error) { + args := v.(LookupPublicKeyArgs) + r, err := LookupPublicKey(ctx, &args, opts...) + var s LookupPublicKeyResult + if r != nil { + s = *r + } + return s, err + }).(LookupPublicKeyResultOutput) +} + +type LookupPublicKeyOutputArgs struct { + // Key-pair identifier. + Arn pulumi.StringInput `pulumi:"arn"` +} + +func (LookupPublicKeyOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupPublicKeyArgs)(nil)).Elem() +} + +type LookupPublicKeyResultOutput struct{ *pulumi.OutputState } + +func (LookupPublicKeyResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupPublicKeyResult)(nil)).Elem() +} + +func (o LookupPublicKeyResultOutput) ToLookupPublicKeyResultOutput() LookupPublicKeyResultOutput { + return o +} + +func (o LookupPublicKeyResultOutput) ToLookupPublicKeyResultOutputWithContext(ctx context.Context) LookupPublicKeyResultOutput { + return o +} + +// Key-pair identifier. +func (o LookupPublicKeyResultOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupPublicKeyResult) *string { return v.Arn }).(pulumi.StringPtrOutput) +} + +// Key-pair identifier. +func (o LookupPublicKeyResultOutput) Fingerprint() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupPublicKeyResult) *string { return v.Fingerprint }).(pulumi.StringPtrOutput) +} + +// A list of key-value pairs that contain metadata for the asset model. +func (o LookupPublicKeyResultOutput) Tags() aws.TagArrayOutput { + return o.ApplyT(func(v LookupPublicKeyResult) []aws.Tag { return v.Tags }).(aws.TagArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupPublicKeyResultOutput{}) +} diff --git a/sdk/go/aws/ivs/getStage.go b/sdk/go/aws/ivs/getStage.go index b6fb36d72a..88b1c83d7b 100644 --- a/sdk/go/aws/ivs/getStage.go +++ b/sdk/go/aws/ivs/getStage.go @@ -32,7 +32,8 @@ type LookupStageResult struct { // ID of the active session within the stage. ActiveSessionId *string `pulumi:"activeSessionId"` // Stage ARN is automatically generated on creation and assigned as the unique identifier. - Arn *string `pulumi:"arn"` + Arn *string `pulumi:"arn"` + AutoParticipantRecordingConfiguration *StageAutoParticipantRecordingConfiguration `pulumi:"autoParticipantRecordingConfiguration"` // Stage name Name *string `pulumi:"name"` // An array of key-value pairs to apply to this resource. @@ -85,6 +86,12 @@ func (o LookupStageResultOutput) Arn() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupStageResult) *string { return v.Arn }).(pulumi.StringPtrOutput) } +func (o LookupStageResultOutput) AutoParticipantRecordingConfiguration() StageAutoParticipantRecordingConfigurationPtrOutput { + return o.ApplyT(func(v LookupStageResult) *StageAutoParticipantRecordingConfiguration { + return v.AutoParticipantRecordingConfiguration + }).(StageAutoParticipantRecordingConfigurationPtrOutput) +} + // Stage name func (o LookupStageResultOutput) Name() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupStageResult) *string { return v.Name }).(pulumi.StringPtrOutput) diff --git a/sdk/go/aws/ivs/init.go b/sdk/go/aws/ivs/init.go index 8d3b9a56e9..4fde8b4f2f 100644 --- a/sdk/go/aws/ivs/init.go +++ b/sdk/go/aws/ivs/init.go @@ -29,6 +29,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &PlaybackKeyPair{} case "aws-native:ivs:PlaybackRestrictionPolicy": r = &PlaybackRestrictionPolicy{} + case "aws-native:ivs:PublicKey": + r = &PublicKey{} case "aws-native:ivs:RecordingConfiguration": r = &RecordingConfiguration{} case "aws-native:ivs:Stage": diff --git a/sdk/go/aws/ivs/publicKey.go b/sdk/go/aws/ivs/publicKey.go new file mode 100644 index 0000000000..f53ba428a2 --- /dev/null +++ b/sdk/go/aws/ivs/publicKey.go @@ -0,0 +1,159 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ivs + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws-native/sdk/go/aws" + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Resource Type definition for AWS::IVS::PublicKey +type PublicKey struct { + pulumi.CustomResourceState + + // Key-pair identifier. + Arn pulumi.StringOutput `pulumi:"arn"` + // Key-pair identifier. + Fingerprint pulumi.StringOutput `pulumi:"fingerprint"` + // Name of the public key to be imported. The value does not need to be unique. + Name pulumi.StringPtrOutput `pulumi:"name"` + // The public portion of a customer-generated key pair. + PublicKeyMaterial pulumi.StringPtrOutput `pulumi:"publicKeyMaterial"` + // A list of key-value pairs that contain metadata for the asset model. + Tags aws.TagArrayOutput `pulumi:"tags"` +} + +// NewPublicKey registers a new resource with the given unique name, arguments, and options. +func NewPublicKey(ctx *pulumi.Context, + name string, args *PublicKeyArgs, opts ...pulumi.ResourceOption) (*PublicKey, error) { + if args == nil { + args = &PublicKeyArgs{} + } + + replaceOnChanges := pulumi.ReplaceOnChanges([]string{ + "name", + "publicKeyMaterial", + }) + opts = append(opts, replaceOnChanges) + opts = internal.PkgResourceDefaultOpts(opts) + var resource PublicKey + err := ctx.RegisterResource("aws-native:ivs:PublicKey", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetPublicKey gets an existing PublicKey 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 GetPublicKey(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *PublicKeyState, opts ...pulumi.ResourceOption) (*PublicKey, error) { + var resource PublicKey + err := ctx.ReadResource("aws-native:ivs:PublicKey", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering PublicKey resources. +type publicKeyState struct { +} + +type PublicKeyState struct { +} + +func (PublicKeyState) ElementType() reflect.Type { + return reflect.TypeOf((*publicKeyState)(nil)).Elem() +} + +type publicKeyArgs struct { + // Name of the public key to be imported. The value does not need to be unique. + Name *string `pulumi:"name"` + // The public portion of a customer-generated key pair. + PublicKeyMaterial *string `pulumi:"publicKeyMaterial"` + // A list of key-value pairs that contain metadata for the asset model. + Tags []aws.Tag `pulumi:"tags"` +} + +// The set of arguments for constructing a PublicKey resource. +type PublicKeyArgs struct { + // Name of the public key to be imported. The value does not need to be unique. + Name pulumi.StringPtrInput + // The public portion of a customer-generated key pair. + PublicKeyMaterial pulumi.StringPtrInput + // A list of key-value pairs that contain metadata for the asset model. + Tags aws.TagArrayInput +} + +func (PublicKeyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*publicKeyArgs)(nil)).Elem() +} + +type PublicKeyInput interface { + pulumi.Input + + ToPublicKeyOutput() PublicKeyOutput + ToPublicKeyOutputWithContext(ctx context.Context) PublicKeyOutput +} + +func (*PublicKey) ElementType() reflect.Type { + return reflect.TypeOf((**PublicKey)(nil)).Elem() +} + +func (i *PublicKey) ToPublicKeyOutput() PublicKeyOutput { + return i.ToPublicKeyOutputWithContext(context.Background()) +} + +func (i *PublicKey) ToPublicKeyOutputWithContext(ctx context.Context) PublicKeyOutput { + return pulumi.ToOutputWithContext(ctx, i).(PublicKeyOutput) +} + +type PublicKeyOutput struct{ *pulumi.OutputState } + +func (PublicKeyOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PublicKey)(nil)).Elem() +} + +func (o PublicKeyOutput) ToPublicKeyOutput() PublicKeyOutput { + return o +} + +func (o PublicKeyOutput) ToPublicKeyOutputWithContext(ctx context.Context) PublicKeyOutput { + return o +} + +// Key-pair identifier. +func (o PublicKeyOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *PublicKey) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + +// Key-pair identifier. +func (o PublicKeyOutput) Fingerprint() pulumi.StringOutput { + return o.ApplyT(func(v *PublicKey) pulumi.StringOutput { return v.Fingerprint }).(pulumi.StringOutput) +} + +// Name of the public key to be imported. The value does not need to be unique. +func (o PublicKeyOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicKey) pulumi.StringPtrOutput { return v.Name }).(pulumi.StringPtrOutput) +} + +// The public portion of a customer-generated key pair. +func (o PublicKeyOutput) PublicKeyMaterial() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicKey) pulumi.StringPtrOutput { return v.PublicKeyMaterial }).(pulumi.StringPtrOutput) +} + +// A list of key-value pairs that contain metadata for the asset model. +func (o PublicKeyOutput) Tags() aws.TagArrayOutput { + return o.ApplyT(func(v *PublicKey) aws.TagArrayOutput { return v.Tags }).(aws.TagArrayOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*PublicKeyInput)(nil)).Elem(), &PublicKey{}) + pulumi.RegisterOutputType(PublicKeyOutput{}) +} diff --git a/sdk/go/aws/ivs/pulumiEnums.go b/sdk/go/aws/ivs/pulumiEnums.go index 4f27b377d7..daa44d0f11 100644 --- a/sdk/go/aws/ivs/pulumiEnums.go +++ b/sdk/go/aws/ivs/pulumiEnums.go @@ -180,6 +180,7 @@ func (in *channelLatencyModePtr) ToChannelLatencyModePtrOutputWithContext(ctx co type ChannelPreset string const ( + ChannelPresetEmpty = ChannelPreset("") ChannelPresetHigherBandwidthDelivery = ChannelPreset("HIGHER_BANDWIDTH_DELIVERY") ChannelPresetConstrainedBandwidthDelivery = ChannelPreset("CONSTRAINED_BANDWIDTH_DELIVERY") ) @@ -306,6 +307,7 @@ func (o ChannelPresetPtrOutput) ToStringPtrOutputWithContext(ctx context.Context // ChannelPresetInput is an input type that accepts values of the ChannelPreset enum // A concrete instance of `ChannelPresetInput` can be one of the following: // +// ChannelPresetEmpty // ChannelPresetHigherBandwidthDelivery // ChannelPresetConstrainedBandwidthDelivery type ChannelPresetInput interface { @@ -1532,11 +1534,221 @@ func (o RecordingConfigurationThumbnailConfigurationStorageItemArrayOutput) Inde }).(RecordingConfigurationThumbnailConfigurationStorageItemOutput) } +type StageAutoParticipantRecordingConfigurationMediaTypesItem string + +const ( + StageAutoParticipantRecordingConfigurationMediaTypesItemAudioVideo = StageAutoParticipantRecordingConfigurationMediaTypesItem("AUDIO_VIDEO") + StageAutoParticipantRecordingConfigurationMediaTypesItemAudioOnly = StageAutoParticipantRecordingConfigurationMediaTypesItem("AUDIO_ONLY") +) + +func (StageAutoParticipantRecordingConfigurationMediaTypesItem) ElementType() reflect.Type { + return reflect.TypeOf((*StageAutoParticipantRecordingConfigurationMediaTypesItem)(nil)).Elem() +} + +func (e StageAutoParticipantRecordingConfigurationMediaTypesItem) ToStageAutoParticipantRecordingConfigurationMediaTypesItemOutput() StageAutoParticipantRecordingConfigurationMediaTypesItemOutput { + return pulumi.ToOutput(e).(StageAutoParticipantRecordingConfigurationMediaTypesItemOutput) +} + +func (e StageAutoParticipantRecordingConfigurationMediaTypesItem) ToStageAutoParticipantRecordingConfigurationMediaTypesItemOutputWithContext(ctx context.Context) StageAutoParticipantRecordingConfigurationMediaTypesItemOutput { + return pulumi.ToOutputWithContext(ctx, e).(StageAutoParticipantRecordingConfigurationMediaTypesItemOutput) +} + +func (e StageAutoParticipantRecordingConfigurationMediaTypesItem) ToStageAutoParticipantRecordingConfigurationMediaTypesItemPtrOutput() StageAutoParticipantRecordingConfigurationMediaTypesItemPtrOutput { + return e.ToStageAutoParticipantRecordingConfigurationMediaTypesItemPtrOutputWithContext(context.Background()) +} + +func (e StageAutoParticipantRecordingConfigurationMediaTypesItem) ToStageAutoParticipantRecordingConfigurationMediaTypesItemPtrOutputWithContext(ctx context.Context) StageAutoParticipantRecordingConfigurationMediaTypesItemPtrOutput { + return StageAutoParticipantRecordingConfigurationMediaTypesItem(e).ToStageAutoParticipantRecordingConfigurationMediaTypesItemOutputWithContext(ctx).ToStageAutoParticipantRecordingConfigurationMediaTypesItemPtrOutputWithContext(ctx) +} + +func (e StageAutoParticipantRecordingConfigurationMediaTypesItem) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e StageAutoParticipantRecordingConfigurationMediaTypesItem) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e StageAutoParticipantRecordingConfigurationMediaTypesItem) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e StageAutoParticipantRecordingConfigurationMediaTypesItem) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type StageAutoParticipantRecordingConfigurationMediaTypesItemOutput struct{ *pulumi.OutputState } + +func (StageAutoParticipantRecordingConfigurationMediaTypesItemOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StageAutoParticipantRecordingConfigurationMediaTypesItem)(nil)).Elem() +} + +func (o StageAutoParticipantRecordingConfigurationMediaTypesItemOutput) ToStageAutoParticipantRecordingConfigurationMediaTypesItemOutput() StageAutoParticipantRecordingConfigurationMediaTypesItemOutput { + return o +} + +func (o StageAutoParticipantRecordingConfigurationMediaTypesItemOutput) ToStageAutoParticipantRecordingConfigurationMediaTypesItemOutputWithContext(ctx context.Context) StageAutoParticipantRecordingConfigurationMediaTypesItemOutput { + return o +} + +func (o StageAutoParticipantRecordingConfigurationMediaTypesItemOutput) ToStageAutoParticipantRecordingConfigurationMediaTypesItemPtrOutput() StageAutoParticipantRecordingConfigurationMediaTypesItemPtrOutput { + return o.ToStageAutoParticipantRecordingConfigurationMediaTypesItemPtrOutputWithContext(context.Background()) +} + +func (o StageAutoParticipantRecordingConfigurationMediaTypesItemOutput) ToStageAutoParticipantRecordingConfigurationMediaTypesItemPtrOutputWithContext(ctx context.Context) StageAutoParticipantRecordingConfigurationMediaTypesItemPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v StageAutoParticipantRecordingConfigurationMediaTypesItem) *StageAutoParticipantRecordingConfigurationMediaTypesItem { + return &v + }).(StageAutoParticipantRecordingConfigurationMediaTypesItemPtrOutput) +} + +func (o StageAutoParticipantRecordingConfigurationMediaTypesItemOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o StageAutoParticipantRecordingConfigurationMediaTypesItemOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e StageAutoParticipantRecordingConfigurationMediaTypesItem) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o StageAutoParticipantRecordingConfigurationMediaTypesItemOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o StageAutoParticipantRecordingConfigurationMediaTypesItemOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e StageAutoParticipantRecordingConfigurationMediaTypesItem) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type StageAutoParticipantRecordingConfigurationMediaTypesItemPtrOutput struct{ *pulumi.OutputState } + +func (StageAutoParticipantRecordingConfigurationMediaTypesItemPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**StageAutoParticipantRecordingConfigurationMediaTypesItem)(nil)).Elem() +} + +func (o StageAutoParticipantRecordingConfigurationMediaTypesItemPtrOutput) ToStageAutoParticipantRecordingConfigurationMediaTypesItemPtrOutput() StageAutoParticipantRecordingConfigurationMediaTypesItemPtrOutput { + return o +} + +func (o StageAutoParticipantRecordingConfigurationMediaTypesItemPtrOutput) ToStageAutoParticipantRecordingConfigurationMediaTypesItemPtrOutputWithContext(ctx context.Context) StageAutoParticipantRecordingConfigurationMediaTypesItemPtrOutput { + return o +} + +func (o StageAutoParticipantRecordingConfigurationMediaTypesItemPtrOutput) Elem() StageAutoParticipantRecordingConfigurationMediaTypesItemOutput { + return o.ApplyT(func(v *StageAutoParticipantRecordingConfigurationMediaTypesItem) StageAutoParticipantRecordingConfigurationMediaTypesItem { + if v != nil { + return *v + } + var ret StageAutoParticipantRecordingConfigurationMediaTypesItem + return ret + }).(StageAutoParticipantRecordingConfigurationMediaTypesItemOutput) +} + +func (o StageAutoParticipantRecordingConfigurationMediaTypesItemPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o StageAutoParticipantRecordingConfigurationMediaTypesItemPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *StageAutoParticipantRecordingConfigurationMediaTypesItem) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// StageAutoParticipantRecordingConfigurationMediaTypesItemInput is an input type that accepts values of the StageAutoParticipantRecordingConfigurationMediaTypesItem enum +// A concrete instance of `StageAutoParticipantRecordingConfigurationMediaTypesItemInput` can be one of the following: +// +// StageAutoParticipantRecordingConfigurationMediaTypesItemAudioVideo +// StageAutoParticipantRecordingConfigurationMediaTypesItemAudioOnly +type StageAutoParticipantRecordingConfigurationMediaTypesItemInput interface { + pulumi.Input + + ToStageAutoParticipantRecordingConfigurationMediaTypesItemOutput() StageAutoParticipantRecordingConfigurationMediaTypesItemOutput + ToStageAutoParticipantRecordingConfigurationMediaTypesItemOutputWithContext(context.Context) StageAutoParticipantRecordingConfigurationMediaTypesItemOutput +} + +var stageAutoParticipantRecordingConfigurationMediaTypesItemPtrType = reflect.TypeOf((**StageAutoParticipantRecordingConfigurationMediaTypesItem)(nil)).Elem() + +type StageAutoParticipantRecordingConfigurationMediaTypesItemPtrInput interface { + pulumi.Input + + ToStageAutoParticipantRecordingConfigurationMediaTypesItemPtrOutput() StageAutoParticipantRecordingConfigurationMediaTypesItemPtrOutput + ToStageAutoParticipantRecordingConfigurationMediaTypesItemPtrOutputWithContext(context.Context) StageAutoParticipantRecordingConfigurationMediaTypesItemPtrOutput +} + +type stageAutoParticipantRecordingConfigurationMediaTypesItemPtr string + +func StageAutoParticipantRecordingConfigurationMediaTypesItemPtr(v string) StageAutoParticipantRecordingConfigurationMediaTypesItemPtrInput { + return (*stageAutoParticipantRecordingConfigurationMediaTypesItemPtr)(&v) +} + +func (*stageAutoParticipantRecordingConfigurationMediaTypesItemPtr) ElementType() reflect.Type { + return stageAutoParticipantRecordingConfigurationMediaTypesItemPtrType +} + +func (in *stageAutoParticipantRecordingConfigurationMediaTypesItemPtr) ToStageAutoParticipantRecordingConfigurationMediaTypesItemPtrOutput() StageAutoParticipantRecordingConfigurationMediaTypesItemPtrOutput { + return pulumi.ToOutput(in).(StageAutoParticipantRecordingConfigurationMediaTypesItemPtrOutput) +} + +func (in *stageAutoParticipantRecordingConfigurationMediaTypesItemPtr) ToStageAutoParticipantRecordingConfigurationMediaTypesItemPtrOutputWithContext(ctx context.Context) StageAutoParticipantRecordingConfigurationMediaTypesItemPtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(StageAutoParticipantRecordingConfigurationMediaTypesItemPtrOutput) +} + +// StageAutoParticipantRecordingConfigurationMediaTypesItemArrayInput is an input type that accepts StageAutoParticipantRecordingConfigurationMediaTypesItemArray and StageAutoParticipantRecordingConfigurationMediaTypesItemArrayOutput values. +// You can construct a concrete instance of `StageAutoParticipantRecordingConfigurationMediaTypesItemArrayInput` via: +// +// StageAutoParticipantRecordingConfigurationMediaTypesItemArray{ StageAutoParticipantRecordingConfigurationMediaTypesItemArgs{...} } +type StageAutoParticipantRecordingConfigurationMediaTypesItemArrayInput interface { + pulumi.Input + + ToStageAutoParticipantRecordingConfigurationMediaTypesItemArrayOutput() StageAutoParticipantRecordingConfigurationMediaTypesItemArrayOutput + ToStageAutoParticipantRecordingConfigurationMediaTypesItemArrayOutputWithContext(context.Context) StageAutoParticipantRecordingConfigurationMediaTypesItemArrayOutput +} + +type StageAutoParticipantRecordingConfigurationMediaTypesItemArray []StageAutoParticipantRecordingConfigurationMediaTypesItem + +func (StageAutoParticipantRecordingConfigurationMediaTypesItemArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]StageAutoParticipantRecordingConfigurationMediaTypesItem)(nil)).Elem() +} + +func (i StageAutoParticipantRecordingConfigurationMediaTypesItemArray) ToStageAutoParticipantRecordingConfigurationMediaTypesItemArrayOutput() StageAutoParticipantRecordingConfigurationMediaTypesItemArrayOutput { + return i.ToStageAutoParticipantRecordingConfigurationMediaTypesItemArrayOutputWithContext(context.Background()) +} + +func (i StageAutoParticipantRecordingConfigurationMediaTypesItemArray) ToStageAutoParticipantRecordingConfigurationMediaTypesItemArrayOutputWithContext(ctx context.Context) StageAutoParticipantRecordingConfigurationMediaTypesItemArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(StageAutoParticipantRecordingConfigurationMediaTypesItemArrayOutput) +} + +type StageAutoParticipantRecordingConfigurationMediaTypesItemArrayOutput struct{ *pulumi.OutputState } + +func (StageAutoParticipantRecordingConfigurationMediaTypesItemArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]StageAutoParticipantRecordingConfigurationMediaTypesItem)(nil)).Elem() +} + +func (o StageAutoParticipantRecordingConfigurationMediaTypesItemArrayOutput) ToStageAutoParticipantRecordingConfigurationMediaTypesItemArrayOutput() StageAutoParticipantRecordingConfigurationMediaTypesItemArrayOutput { + return o +} + +func (o StageAutoParticipantRecordingConfigurationMediaTypesItemArrayOutput) ToStageAutoParticipantRecordingConfigurationMediaTypesItemArrayOutputWithContext(ctx context.Context) StageAutoParticipantRecordingConfigurationMediaTypesItemArrayOutput { + return o +} + +func (o StageAutoParticipantRecordingConfigurationMediaTypesItemArrayOutput) Index(i pulumi.IntInput) StageAutoParticipantRecordingConfigurationMediaTypesItemOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) StageAutoParticipantRecordingConfigurationMediaTypesItem { + return vs[0].([]StageAutoParticipantRecordingConfigurationMediaTypesItem)[vs[1].(int)] + }).(StageAutoParticipantRecordingConfigurationMediaTypesItemOutput) +} + func init() { pulumi.RegisterInputType(reflect.TypeOf((*ChannelLatencyModeInput)(nil)).Elem(), ChannelLatencyMode("NORMAL")) pulumi.RegisterInputType(reflect.TypeOf((*ChannelLatencyModePtrInput)(nil)).Elem(), ChannelLatencyMode("NORMAL")) - pulumi.RegisterInputType(reflect.TypeOf((*ChannelPresetInput)(nil)).Elem(), ChannelPreset("HIGHER_BANDWIDTH_DELIVERY")) - pulumi.RegisterInputType(reflect.TypeOf((*ChannelPresetPtrInput)(nil)).Elem(), ChannelPreset("HIGHER_BANDWIDTH_DELIVERY")) + pulumi.RegisterInputType(reflect.TypeOf((*ChannelPresetInput)(nil)).Elem(), ChannelPreset("")) + pulumi.RegisterInputType(reflect.TypeOf((*ChannelPresetPtrInput)(nil)).Elem(), ChannelPreset("")) pulumi.RegisterInputType(reflect.TypeOf((*ChannelTypeInput)(nil)).Elem(), ChannelType("STANDARD")) pulumi.RegisterInputType(reflect.TypeOf((*ChannelTypePtrInput)(nil)).Elem(), ChannelType("STANDARD")) pulumi.RegisterInputType(reflect.TypeOf((*RecordingConfigurationRenditionConfigurationRenditionSelectionInput)(nil)).Elem(), RecordingConfigurationRenditionConfigurationRenditionSelection("ALL")) @@ -1551,6 +1763,9 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*RecordingConfigurationThumbnailConfigurationStorageItemInput)(nil)).Elem(), RecordingConfigurationThumbnailConfigurationStorageItem("SEQUENTIAL")) pulumi.RegisterInputType(reflect.TypeOf((*RecordingConfigurationThumbnailConfigurationStorageItemPtrInput)(nil)).Elem(), RecordingConfigurationThumbnailConfigurationStorageItem("SEQUENTIAL")) pulumi.RegisterInputType(reflect.TypeOf((*RecordingConfigurationThumbnailConfigurationStorageItemArrayInput)(nil)).Elem(), RecordingConfigurationThumbnailConfigurationStorageItemArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*StageAutoParticipantRecordingConfigurationMediaTypesItemInput)(nil)).Elem(), StageAutoParticipantRecordingConfigurationMediaTypesItem("AUDIO_VIDEO")) + pulumi.RegisterInputType(reflect.TypeOf((*StageAutoParticipantRecordingConfigurationMediaTypesItemPtrInput)(nil)).Elem(), StageAutoParticipantRecordingConfigurationMediaTypesItem("AUDIO_VIDEO")) + pulumi.RegisterInputType(reflect.TypeOf((*StageAutoParticipantRecordingConfigurationMediaTypesItemArrayInput)(nil)).Elem(), StageAutoParticipantRecordingConfigurationMediaTypesItemArray{}) pulumi.RegisterOutputType(ChannelLatencyModeOutput{}) pulumi.RegisterOutputType(ChannelLatencyModePtrOutput{}) pulumi.RegisterOutputType(ChannelPresetOutput{}) @@ -1571,4 +1786,7 @@ func init() { pulumi.RegisterOutputType(RecordingConfigurationThumbnailConfigurationStorageItemOutput{}) pulumi.RegisterOutputType(RecordingConfigurationThumbnailConfigurationStorageItemPtrOutput{}) pulumi.RegisterOutputType(RecordingConfigurationThumbnailConfigurationStorageItemArrayOutput{}) + pulumi.RegisterOutputType(StageAutoParticipantRecordingConfigurationMediaTypesItemOutput{}) + pulumi.RegisterOutputType(StageAutoParticipantRecordingConfigurationMediaTypesItemPtrOutput{}) + pulumi.RegisterOutputType(StageAutoParticipantRecordingConfigurationMediaTypesItemArrayOutput{}) } diff --git a/sdk/go/aws/ivs/pulumiTypes.go b/sdk/go/aws/ivs/pulumiTypes.go index 98070454c8..70b40ce9ab 100644 --- a/sdk/go/aws/ivs/pulumiTypes.go +++ b/sdk/go/aws/ivs/pulumiTypes.go @@ -43,6 +43,11 @@ type PlaybackRestrictionPolicyTag struct { Value string `pulumi:"value"` } +type PublicKeyTag struct { + Key string `pulumi:"key"` + Value string `pulumi:"value"` +} + // Recording Destination Configuration. type RecordingConfigurationDestinationConfiguration struct { // An S3 destination configuration where recorded videos will be stored. See the [S3DestinationConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-recordingconfiguration-s3destinationconfiguration.html) property type for more information. @@ -613,6 +618,167 @@ func (o RecordingConfigurationThumbnailConfigurationPtrOutput) TargetIntervalSec }).(pulumi.IntPtrOutput) } +// Configuration object for individual participant recording, to attach to the new stage. +type StageAutoParticipantRecordingConfiguration struct { + // Types of media to be recorded. Default: AUDIO_VIDEO. + MediaTypes []StageAutoParticipantRecordingConfigurationMediaTypesItem `pulumi:"mediaTypes"` + // ARN of the StorageConfiguration resource to use for individual participant recording. + StorageConfigurationArn string `pulumi:"storageConfigurationArn"` +} + +// StageAutoParticipantRecordingConfigurationInput is an input type that accepts StageAutoParticipantRecordingConfigurationArgs and StageAutoParticipantRecordingConfigurationOutput values. +// You can construct a concrete instance of `StageAutoParticipantRecordingConfigurationInput` via: +// +// StageAutoParticipantRecordingConfigurationArgs{...} +type StageAutoParticipantRecordingConfigurationInput interface { + pulumi.Input + + ToStageAutoParticipantRecordingConfigurationOutput() StageAutoParticipantRecordingConfigurationOutput + ToStageAutoParticipantRecordingConfigurationOutputWithContext(context.Context) StageAutoParticipantRecordingConfigurationOutput +} + +// Configuration object for individual participant recording, to attach to the new stage. +type StageAutoParticipantRecordingConfigurationArgs struct { + // Types of media to be recorded. Default: AUDIO_VIDEO. + MediaTypes StageAutoParticipantRecordingConfigurationMediaTypesItemArrayInput `pulumi:"mediaTypes"` + // ARN of the StorageConfiguration resource to use for individual participant recording. + StorageConfigurationArn pulumi.StringInput `pulumi:"storageConfigurationArn"` +} + +func (StageAutoParticipantRecordingConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*StageAutoParticipantRecordingConfiguration)(nil)).Elem() +} + +func (i StageAutoParticipantRecordingConfigurationArgs) ToStageAutoParticipantRecordingConfigurationOutput() StageAutoParticipantRecordingConfigurationOutput { + return i.ToStageAutoParticipantRecordingConfigurationOutputWithContext(context.Background()) +} + +func (i StageAutoParticipantRecordingConfigurationArgs) ToStageAutoParticipantRecordingConfigurationOutputWithContext(ctx context.Context) StageAutoParticipantRecordingConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(StageAutoParticipantRecordingConfigurationOutput) +} + +func (i StageAutoParticipantRecordingConfigurationArgs) ToStageAutoParticipantRecordingConfigurationPtrOutput() StageAutoParticipantRecordingConfigurationPtrOutput { + return i.ToStageAutoParticipantRecordingConfigurationPtrOutputWithContext(context.Background()) +} + +func (i StageAutoParticipantRecordingConfigurationArgs) ToStageAutoParticipantRecordingConfigurationPtrOutputWithContext(ctx context.Context) StageAutoParticipantRecordingConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StageAutoParticipantRecordingConfigurationOutput).ToStageAutoParticipantRecordingConfigurationPtrOutputWithContext(ctx) +} + +// StageAutoParticipantRecordingConfigurationPtrInput is an input type that accepts StageAutoParticipantRecordingConfigurationArgs, StageAutoParticipantRecordingConfigurationPtr and StageAutoParticipantRecordingConfigurationPtrOutput values. +// You can construct a concrete instance of `StageAutoParticipantRecordingConfigurationPtrInput` via: +// +// StageAutoParticipantRecordingConfigurationArgs{...} +// +// or: +// +// nil +type StageAutoParticipantRecordingConfigurationPtrInput interface { + pulumi.Input + + ToStageAutoParticipantRecordingConfigurationPtrOutput() StageAutoParticipantRecordingConfigurationPtrOutput + ToStageAutoParticipantRecordingConfigurationPtrOutputWithContext(context.Context) StageAutoParticipantRecordingConfigurationPtrOutput +} + +type stageAutoParticipantRecordingConfigurationPtrType StageAutoParticipantRecordingConfigurationArgs + +func StageAutoParticipantRecordingConfigurationPtr(v *StageAutoParticipantRecordingConfigurationArgs) StageAutoParticipantRecordingConfigurationPtrInput { + return (*stageAutoParticipantRecordingConfigurationPtrType)(v) +} + +func (*stageAutoParticipantRecordingConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**StageAutoParticipantRecordingConfiguration)(nil)).Elem() +} + +func (i *stageAutoParticipantRecordingConfigurationPtrType) ToStageAutoParticipantRecordingConfigurationPtrOutput() StageAutoParticipantRecordingConfigurationPtrOutput { + return i.ToStageAutoParticipantRecordingConfigurationPtrOutputWithContext(context.Background()) +} + +func (i *stageAutoParticipantRecordingConfigurationPtrType) ToStageAutoParticipantRecordingConfigurationPtrOutputWithContext(ctx context.Context) StageAutoParticipantRecordingConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StageAutoParticipantRecordingConfigurationPtrOutput) +} + +// Configuration object for individual participant recording, to attach to the new stage. +type StageAutoParticipantRecordingConfigurationOutput struct{ *pulumi.OutputState } + +func (StageAutoParticipantRecordingConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StageAutoParticipantRecordingConfiguration)(nil)).Elem() +} + +func (o StageAutoParticipantRecordingConfigurationOutput) ToStageAutoParticipantRecordingConfigurationOutput() StageAutoParticipantRecordingConfigurationOutput { + return o +} + +func (o StageAutoParticipantRecordingConfigurationOutput) ToStageAutoParticipantRecordingConfigurationOutputWithContext(ctx context.Context) StageAutoParticipantRecordingConfigurationOutput { + return o +} + +func (o StageAutoParticipantRecordingConfigurationOutput) ToStageAutoParticipantRecordingConfigurationPtrOutput() StageAutoParticipantRecordingConfigurationPtrOutput { + return o.ToStageAutoParticipantRecordingConfigurationPtrOutputWithContext(context.Background()) +} + +func (o StageAutoParticipantRecordingConfigurationOutput) ToStageAutoParticipantRecordingConfigurationPtrOutputWithContext(ctx context.Context) StageAutoParticipantRecordingConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v StageAutoParticipantRecordingConfiguration) *StageAutoParticipantRecordingConfiguration { + return &v + }).(StageAutoParticipantRecordingConfigurationPtrOutput) +} + +// Types of media to be recorded. Default: AUDIO_VIDEO. +func (o StageAutoParticipantRecordingConfigurationOutput) MediaTypes() StageAutoParticipantRecordingConfigurationMediaTypesItemArrayOutput { + return o.ApplyT(func(v StageAutoParticipantRecordingConfiguration) []StageAutoParticipantRecordingConfigurationMediaTypesItem { + return v.MediaTypes + }).(StageAutoParticipantRecordingConfigurationMediaTypesItemArrayOutput) +} + +// ARN of the StorageConfiguration resource to use for individual participant recording. +func (o StageAutoParticipantRecordingConfigurationOutput) StorageConfigurationArn() pulumi.StringOutput { + return o.ApplyT(func(v StageAutoParticipantRecordingConfiguration) string { return v.StorageConfigurationArn }).(pulumi.StringOutput) +} + +type StageAutoParticipantRecordingConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (StageAutoParticipantRecordingConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**StageAutoParticipantRecordingConfiguration)(nil)).Elem() +} + +func (o StageAutoParticipantRecordingConfigurationPtrOutput) ToStageAutoParticipantRecordingConfigurationPtrOutput() StageAutoParticipantRecordingConfigurationPtrOutput { + return o +} + +func (o StageAutoParticipantRecordingConfigurationPtrOutput) ToStageAutoParticipantRecordingConfigurationPtrOutputWithContext(ctx context.Context) StageAutoParticipantRecordingConfigurationPtrOutput { + return o +} + +func (o StageAutoParticipantRecordingConfigurationPtrOutput) Elem() StageAutoParticipantRecordingConfigurationOutput { + return o.ApplyT(func(v *StageAutoParticipantRecordingConfiguration) StageAutoParticipantRecordingConfiguration { + if v != nil { + return *v + } + var ret StageAutoParticipantRecordingConfiguration + return ret + }).(StageAutoParticipantRecordingConfigurationOutput) +} + +// Types of media to be recorded. Default: AUDIO_VIDEO. +func (o StageAutoParticipantRecordingConfigurationPtrOutput) MediaTypes() StageAutoParticipantRecordingConfigurationMediaTypesItemArrayOutput { + return o.ApplyT(func(v *StageAutoParticipantRecordingConfiguration) []StageAutoParticipantRecordingConfigurationMediaTypesItem { + if v == nil { + return nil + } + return v.MediaTypes + }).(StageAutoParticipantRecordingConfigurationMediaTypesItemArrayOutput) +} + +// ARN of the StorageConfiguration resource to use for individual participant recording. +func (o StageAutoParticipantRecordingConfigurationPtrOutput) StorageConfigurationArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *StageAutoParticipantRecordingConfiguration) *string { + if v == nil { + return nil + } + return &v.StorageConfigurationArn + }).(pulumi.StringPtrOutput) +} + type StageTag struct { // One part of a key-value pair that makes up a tag. A `key` is a general label that acts like a category for more specific tag values. Key string `pulumi:"key"` @@ -894,6 +1060,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*RecordingConfigurationS3DestinationConfigurationPtrInput)(nil)).Elem(), RecordingConfigurationS3DestinationConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RecordingConfigurationThumbnailConfigurationInput)(nil)).Elem(), RecordingConfigurationThumbnailConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RecordingConfigurationThumbnailConfigurationPtrInput)(nil)).Elem(), RecordingConfigurationThumbnailConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StageAutoParticipantRecordingConfigurationInput)(nil)).Elem(), StageAutoParticipantRecordingConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StageAutoParticipantRecordingConfigurationPtrInput)(nil)).Elem(), StageAutoParticipantRecordingConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*StorageConfigurationS3StorageConfigurationInput)(nil)).Elem(), StorageConfigurationS3StorageConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*VideoPropertiesInput)(nil)).Elem(), VideoPropertiesArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*VideoPropertiesPtrInput)(nil)).Elem(), VideoPropertiesArgs{}) @@ -904,6 +1072,8 @@ func init() { pulumi.RegisterOutputType(RecordingConfigurationS3DestinationConfigurationPtrOutput{}) pulumi.RegisterOutputType(RecordingConfigurationThumbnailConfigurationOutput{}) pulumi.RegisterOutputType(RecordingConfigurationThumbnailConfigurationPtrOutput{}) + pulumi.RegisterOutputType(StageAutoParticipantRecordingConfigurationOutput{}) + pulumi.RegisterOutputType(StageAutoParticipantRecordingConfigurationPtrOutput{}) pulumi.RegisterOutputType(StorageConfigurationS3StorageConfigurationOutput{}) pulumi.RegisterOutputType(VideoPropertiesOutput{}) pulumi.RegisterOutputType(VideoPropertiesPtrOutput{}) diff --git a/sdk/go/aws/ivs/stage.go b/sdk/go/aws/ivs/stage.go index b9ab63edd9..33ef08f1cd 100644 --- a/sdk/go/aws/ivs/stage.go +++ b/sdk/go/aws/ivs/stage.go @@ -19,7 +19,8 @@ type Stage struct { // ID of the active session within the stage. ActiveSessionId pulumi.StringOutput `pulumi:"activeSessionId"` // Stage ARN is automatically generated on creation and assigned as the unique identifier. - Arn pulumi.StringOutput `pulumi:"arn"` + Arn pulumi.StringOutput `pulumi:"arn"` + AutoParticipantRecordingConfiguration StageAutoParticipantRecordingConfigurationPtrOutput `pulumi:"autoParticipantRecordingConfiguration"` // Stage name Name pulumi.StringPtrOutput `pulumi:"name"` // An array of key-value pairs to apply to this resource. @@ -66,6 +67,7 @@ func (StageState) ElementType() reflect.Type { } type stageArgs struct { + AutoParticipantRecordingConfiguration *StageAutoParticipantRecordingConfiguration `pulumi:"autoParticipantRecordingConfiguration"` // Stage name Name *string `pulumi:"name"` // An array of key-value pairs to apply to this resource. @@ -74,6 +76,7 @@ type stageArgs struct { // The set of arguments for constructing a Stage resource. type StageArgs struct { + AutoParticipantRecordingConfiguration StageAutoParticipantRecordingConfigurationPtrInput // Stage name Name pulumi.StringPtrInput // An array of key-value pairs to apply to this resource. @@ -127,6 +130,12 @@ func (o StageOutput) Arn() pulumi.StringOutput { return o.ApplyT(func(v *Stage) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) } +func (o StageOutput) AutoParticipantRecordingConfiguration() StageAutoParticipantRecordingConfigurationPtrOutput { + return o.ApplyT(func(v *Stage) StageAutoParticipantRecordingConfigurationPtrOutput { + return v.AutoParticipantRecordingConfiguration + }).(StageAutoParticipantRecordingConfigurationPtrOutput) +} + // Stage name func (o StageOutput) Name() pulumi.StringPtrOutput { return o.ApplyT(func(v *Stage) pulumi.StringPtrOutput { return v.Name }).(pulumi.StringPtrOutput) diff --git a/sdk/nodejs/ec2/launchTemplate.ts b/sdk/nodejs/ec2/launchTemplate.ts index ba50a82d4b..a0a732adbd 100644 --- a/sdk/nodejs/ec2/launchTemplate.ts +++ b/sdk/nodejs/ec2/launchTemplate.ts @@ -67,7 +67,7 @@ export class LaunchTemplate extends pulumi.CustomResource { public readonly launchTemplateName!: pulumi.Output; /** * The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``. - * To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications). + * To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications). */ public readonly tagSpecifications!: pulumi.Output; /** @@ -126,7 +126,7 @@ export interface LaunchTemplateArgs { launchTemplateName?: pulumi.Input; /** * The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``. - * To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications). + * To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications). */ tagSpecifications?: pulumi.Input[]>; /** diff --git a/sdk/nodejs/gamelift/fleet.ts b/sdk/nodejs/gamelift/fleet.ts index 3e898a0d4f..479f24d4a4 100644 --- a/sdk/nodejs/gamelift/fleet.ts +++ b/sdk/nodejs/gamelift/fleet.ts @@ -58,7 +58,7 @@ export class Fleet extends pulumi.CustomResource { */ public readonly computeType!: pulumi.Output; /** - * *This data type is used with the Amazon GameLift containers feature, which is currently in public preview.* + * *This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.* * * Configuration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` . * @@ -265,7 +265,7 @@ export interface FleetArgs { */ computeType?: pulumi.Input; /** - * *This data type is used with the Amazon GameLift containers feature, which is currently in public preview.* + * *This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.* * * Configuration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` . * diff --git a/sdk/nodejs/glue/database.ts b/sdk/nodejs/glue/database.ts new file mode 100644 index 0000000000..d7a63172ec --- /dev/null +++ b/sdk/nodejs/glue/database.ts @@ -0,0 +1,101 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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"; + +/** + * Resource Type definition for AWS::Glue::Database + */ +export class Database extends pulumi.CustomResource { + /** + * Get an existing Database 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 opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): Database { + return new Database(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws-native:glue:Database'; + + /** + * Returns true if the given object is an instance of Database. 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 Database { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Database.__pulumiType; + } + + /** + * The AWS account ID for the account in which to create the catalog object. + */ + public readonly catalogId!: pulumi.Output; + /** + * The metadata for the database. + */ + public readonly databaseInput!: pulumi.Output; + /** + * The name of the database. For hive compatibility, this is folded to lowercase when it is store. + */ + public readonly databaseName!: pulumi.Output; + + /** + * Create a Database 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: DatabaseArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.catalogId === undefined) && !opts.urn) { + throw new Error("Missing required property 'catalogId'"); + } + if ((!args || args.databaseInput === undefined) && !opts.urn) { + throw new Error("Missing required property 'databaseInput'"); + } + resourceInputs["catalogId"] = args ? args.catalogId : undefined; + resourceInputs["databaseInput"] = args ? args.databaseInput : undefined; + resourceInputs["databaseName"] = args ? args.databaseName : undefined; + } else { + resourceInputs["catalogId"] = undefined /*out*/; + resourceInputs["databaseInput"] = undefined /*out*/; + resourceInputs["databaseName"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const replaceOnChanges = { replaceOnChanges: ["databaseName"] }; + opts = pulumi.mergeOptions(opts, replaceOnChanges); + super(Database.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a Database resource. + */ +export interface DatabaseArgs { + /** + * The AWS account ID for the account in which to create the catalog object. + */ + catalogId: pulumi.Input; + /** + * The metadata for the database. + */ + databaseInput: pulumi.Input; + /** + * The name of the database. For hive compatibility, this is folded to lowercase when it is store. + */ + databaseName?: pulumi.Input; +} diff --git a/sdk/nodejs/glue/getDatabase.ts b/sdk/nodejs/glue/getDatabase.ts new file mode 100644 index 0000000000..ee79ad99a3 --- /dev/null +++ b/sdk/nodejs/glue/getDatabase.ts @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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"; + +/** + * Resource Type definition for AWS::Glue::Database + */ +export function getDatabase(args: GetDatabaseArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws-native:glue:getDatabase", { + "databaseName": args.databaseName, + }, opts); +} + +export interface GetDatabaseArgs { + /** + * The name of the database. For hive compatibility, this is folded to lowercase when it is store. + */ + databaseName: string; +} + +export interface GetDatabaseResult { + /** + * The AWS account ID for the account in which to create the catalog object. + */ + readonly catalogId?: string; + /** + * The metadata for the database. + */ + readonly databaseInput?: outputs.glue.DatabaseInput; +} +/** + * Resource Type definition for AWS::Glue::Database + */ +export function getDatabaseOutput(args: GetDatabaseOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getDatabase(a, opts)) +} + +export interface GetDatabaseOutputArgs { + /** + * The name of the database. For hive compatibility, this is folded to lowercase when it is store. + */ + databaseName: pulumi.Input; +} diff --git a/sdk/nodejs/glue/index.ts b/sdk/nodejs/glue/index.ts index 9738add90a..8beae2993d 100644 --- a/sdk/nodejs/glue/index.ts +++ b/sdk/nodejs/glue/index.ts @@ -5,6 +5,16 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; // Export members: +export { DatabaseArgs } from "./database"; +export type Database = import("./database").Database; +export const Database: typeof import("./database").Database = null as any; +utilities.lazyLoad(exports, ["Database"], () => require("./database")); + +export { GetDatabaseArgs, GetDatabaseResult, GetDatabaseOutputArgs } from "./getDatabase"; +export const getDatabase: typeof import("./getDatabase").getDatabase = null as any; +export const getDatabaseOutput: typeof import("./getDatabase").getDatabaseOutput = null as any; +utilities.lazyLoad(exports, ["getDatabase","getDatabaseOutput"], () => require("./getDatabase")); + export { GetRegistryArgs, GetRegistryResult, GetRegistryOutputArgs } from "./getRegistry"; export const getRegistry: typeof import("./getRegistry").getRegistry = null as any; export const getRegistryOutput: typeof import("./getRegistry").getRegistryOutput = null as any; @@ -58,6 +68,8 @@ const _module = { version: utilities.getVersion(), construct: (name: string, type: string, urn: string): pulumi.Resource => { switch (type) { + case "aws-native:glue:Database": + return new Database(name, undefined, { urn }) case "aws-native:glue:Registry": return new Registry(name, undefined, { urn }) case "aws-native:glue:Schema": diff --git a/sdk/nodejs/ivs/getPublicKey.ts b/sdk/nodejs/ivs/getPublicKey.ts new file mode 100644 index 0000000000..3da9a8f715 --- /dev/null +++ b/sdk/nodejs/ivs/getPublicKey.ts @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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"; + +/** + * Resource Type definition for AWS::IVS::PublicKey + */ +export function getPublicKey(args: GetPublicKeyArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws-native:ivs:getPublicKey", { + "arn": args.arn, + }, opts); +} + +export interface GetPublicKeyArgs { + /** + * Key-pair identifier. + */ + arn: string; +} + +export interface GetPublicKeyResult { + /** + * Key-pair identifier. + */ + readonly arn?: string; + /** + * Key-pair identifier. + */ + readonly fingerprint?: string; + /** + * A list of key-value pairs that contain metadata for the asset model. + */ + readonly tags?: outputs.Tag[]; +} +/** + * Resource Type definition for AWS::IVS::PublicKey + */ +export function getPublicKeyOutput(args: GetPublicKeyOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getPublicKey(a, opts)) +} + +export interface GetPublicKeyOutputArgs { + /** + * Key-pair identifier. + */ + arn: pulumi.Input; +} diff --git a/sdk/nodejs/ivs/getStage.ts b/sdk/nodejs/ivs/getStage.ts index e8858c372a..ba1b7ec66b 100644 --- a/sdk/nodejs/ivs/getStage.ts +++ b/sdk/nodejs/ivs/getStage.ts @@ -34,6 +34,7 @@ export interface GetStageResult { * Stage ARN is automatically generated on creation and assigned as the unique identifier. */ readonly arn?: string; + readonly autoParticipantRecordingConfiguration?: outputs.ivs.StageAutoParticipantRecordingConfiguration; /** * Stage name */ diff --git a/sdk/nodejs/ivs/index.ts b/sdk/nodejs/ivs/index.ts index c481ccdcdb..f43404c29f 100644 --- a/sdk/nodejs/ivs/index.ts +++ b/sdk/nodejs/ivs/index.ts @@ -35,6 +35,11 @@ export const getPlaybackRestrictionPolicy: typeof import("./getPlaybackRestricti export const getPlaybackRestrictionPolicyOutput: typeof import("./getPlaybackRestrictionPolicy").getPlaybackRestrictionPolicyOutput = null as any; utilities.lazyLoad(exports, ["getPlaybackRestrictionPolicy","getPlaybackRestrictionPolicyOutput"], () => require("./getPlaybackRestrictionPolicy")); +export { GetPublicKeyArgs, GetPublicKeyResult, GetPublicKeyOutputArgs } from "./getPublicKey"; +export const getPublicKey: typeof import("./getPublicKey").getPublicKey = null as any; +export const getPublicKeyOutput: typeof import("./getPublicKey").getPublicKeyOutput = null as any; +utilities.lazyLoad(exports, ["getPublicKey","getPublicKeyOutput"], () => require("./getPublicKey")); + export { GetRecordingConfigurationArgs, GetRecordingConfigurationResult, GetRecordingConfigurationOutputArgs } from "./getRecordingConfiguration"; export const getRecordingConfiguration: typeof import("./getRecordingConfiguration").getRecordingConfiguration = null as any; export const getRecordingConfigurationOutput: typeof import("./getRecordingConfiguration").getRecordingConfigurationOutput = null as any; @@ -65,6 +70,11 @@ export type PlaybackRestrictionPolicy = import("./playbackRestrictionPolicy").Pl export const PlaybackRestrictionPolicy: typeof import("./playbackRestrictionPolicy").PlaybackRestrictionPolicy = null as any; utilities.lazyLoad(exports, ["PlaybackRestrictionPolicy"], () => require("./playbackRestrictionPolicy")); +export { PublicKeyArgs } from "./publicKey"; +export type PublicKey = import("./publicKey").PublicKey; +export const PublicKey: typeof import("./publicKey").PublicKey = null as any; +utilities.lazyLoad(exports, ["PublicKey"], () => require("./publicKey")); + export { RecordingConfigurationArgs } from "./recordingConfiguration"; export type RecordingConfiguration = import("./recordingConfiguration").RecordingConfiguration; export const RecordingConfiguration: typeof import("./recordingConfiguration").RecordingConfiguration = null as any; @@ -101,6 +111,8 @@ const _module = { return new PlaybackKeyPair(name, undefined, { urn }) case "aws-native:ivs:PlaybackRestrictionPolicy": return new PlaybackRestrictionPolicy(name, undefined, { urn }) + case "aws-native:ivs:PublicKey": + return new PublicKey(name, undefined, { urn }) case "aws-native:ivs:RecordingConfiguration": return new RecordingConfiguration(name, undefined, { urn }) case "aws-native:ivs:Stage": diff --git a/sdk/nodejs/ivs/publicKey.ts b/sdk/nodejs/ivs/publicKey.ts new file mode 100644 index 0000000000..8adc52d7e0 --- /dev/null +++ b/sdk/nodejs/ivs/publicKey.ts @@ -0,0 +1,107 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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"; + +/** + * Resource Type definition for AWS::IVS::PublicKey + */ +export class PublicKey extends pulumi.CustomResource { + /** + * Get an existing PublicKey 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 opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): PublicKey { + return new PublicKey(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws-native:ivs:PublicKey'; + + /** + * Returns true if the given object is an instance of PublicKey. 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 PublicKey { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === PublicKey.__pulumiType; + } + + /** + * Key-pair identifier. + */ + public /*out*/ readonly arn!: pulumi.Output; + /** + * Key-pair identifier. + */ + public /*out*/ readonly fingerprint!: pulumi.Output; + /** + * Name of the public key to be imported. The value does not need to be unique. + */ + public readonly name!: pulumi.Output; + /** + * The public portion of a customer-generated key pair. + */ + public readonly publicKeyMaterial!: pulumi.Output; + /** + * A list of key-value pairs that contain metadata for the asset model. + */ + public readonly tags!: pulumi.Output; + + /** + * Create a PublicKey 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?: PublicKeyArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["publicKeyMaterial"] = args ? args.publicKeyMaterial : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["fingerprint"] = undefined /*out*/; + } else { + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["fingerprint"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["publicKeyMaterial"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const replaceOnChanges = { replaceOnChanges: ["name", "publicKeyMaterial"] }; + opts = pulumi.mergeOptions(opts, replaceOnChanges); + super(PublicKey.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a PublicKey resource. + */ +export interface PublicKeyArgs { + /** + * Name of the public key to be imported. The value does not need to be unique. + */ + name?: pulumi.Input; + /** + * The public portion of a customer-generated key pair. + */ + publicKeyMaterial?: pulumi.Input; + /** + * A list of key-value pairs that contain metadata for the asset model. + */ + tags?: pulumi.Input[]>; +} diff --git a/sdk/nodejs/ivs/stage.ts b/sdk/nodejs/ivs/stage.ts index b30b3caed6..d6afddb77c 100644 --- a/sdk/nodejs/ivs/stage.ts +++ b/sdk/nodejs/ivs/stage.ts @@ -45,6 +45,7 @@ export class Stage extends pulumi.CustomResource { * Stage ARN is automatically generated on creation and assigned as the unique identifier. */ public /*out*/ readonly arn!: pulumi.Output; + public readonly autoParticipantRecordingConfiguration!: pulumi.Output; /** * Stage name */ @@ -65,6 +66,7 @@ export class Stage extends pulumi.CustomResource { let resourceInputs: pulumi.Inputs = {}; opts = opts || {}; if (!opts.id) { + resourceInputs["autoParticipantRecordingConfiguration"] = args ? args.autoParticipantRecordingConfiguration : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["tags"] = args ? args.tags : undefined; resourceInputs["activeSessionId"] = undefined /*out*/; @@ -72,6 +74,7 @@ export class Stage extends pulumi.CustomResource { } else { resourceInputs["activeSessionId"] = undefined /*out*/; resourceInputs["arn"] = undefined /*out*/; + resourceInputs["autoParticipantRecordingConfiguration"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; resourceInputs["tags"] = undefined /*out*/; } @@ -84,6 +87,7 @@ export class Stage extends pulumi.CustomResource { * The set of arguments for constructing a Stage resource. */ export interface StageArgs { + autoParticipantRecordingConfiguration?: pulumi.Input; /** * Stage name */ diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index 4db465e182..95b3cb989c 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -1041,6 +1041,8 @@ "globalaccelerator/getListener.ts", "globalaccelerator/index.ts", "globalaccelerator/listener.ts", + "glue/database.ts", + "glue/getDatabase.ts", "glue/getRegistry.ts", "glue/getSchema.ts", "glue/getSchemaVersion.ts", @@ -1280,6 +1282,7 @@ "ivs/getEncoderConfiguration.ts", "ivs/getPlaybackKeyPair.ts", "ivs/getPlaybackRestrictionPolicy.ts", + "ivs/getPublicKey.ts", "ivs/getRecordingConfiguration.ts", "ivs/getStage.ts", "ivs/getStorageConfiguration.ts", @@ -1287,6 +1290,7 @@ "ivs/index.ts", "ivs/playbackKeyPair.ts", "ivs/playbackRestrictionPolicy.ts", + "ivs/publicKey.ts", "ivs/recordingConfiguration.ts", "ivs/stage.ts", "ivs/storageConfiguration.ts", diff --git a/sdk/nodejs/types/enums/deadline/index.ts b/sdk/nodejs/types/enums/deadline/index.ts index db99a651e8..eaa48f580e 100644 --- a/sdk/nodejs/types/enums/deadline/index.ts +++ b/sdk/nodejs/types/enums/deadline/index.ts @@ -39,6 +39,7 @@ export type FleetEc2MarketType = (typeof FleetEc2MarketType)[keyof typeof FleetE export const FleetServiceManagedFleetOperatingSystemFamily = { Linux: "LINUX", + Windows: "WINDOWS", } as const; export type FleetServiceManagedFleetOperatingSystemFamily = (typeof FleetServiceManagedFleetOperatingSystemFamily)[keyof typeof FleetServiceManagedFleetOperatingSystemFamily]; diff --git a/sdk/nodejs/types/enums/ivs/index.ts b/sdk/nodejs/types/enums/ivs/index.ts index b61b6f8044..c051bb30d7 100644 --- a/sdk/nodejs/types/enums/ivs/index.ts +++ b/sdk/nodejs/types/enums/ivs/index.ts @@ -13,6 +13,7 @@ export const ChannelLatencyMode = { export type ChannelLatencyMode = (typeof ChannelLatencyMode)[keyof typeof ChannelLatencyMode]; export const ChannelPreset = { + Empty: "", HigherBandwidthDelivery: "HIGHER_BANDWIDTH_DELIVERY", ConstrainedBandwidthDelivery: "CONSTRAINED_BANDWIDTH_DELIVERY", } as const; @@ -93,3 +94,10 @@ export const RecordingConfigurationThumbnailConfigurationStorageItem = { } as const; export type RecordingConfigurationThumbnailConfigurationStorageItem = (typeof RecordingConfigurationThumbnailConfigurationStorageItem)[keyof typeof RecordingConfigurationThumbnailConfigurationStorageItem]; + +export const StageAutoParticipantRecordingConfigurationMediaTypesItem = { + AudioVideo: "AUDIO_VIDEO", + AudioOnly: "AUDIO_ONLY", +} as const; + +export type StageAutoParticipantRecordingConfigurationMediaTypesItem = (typeof StageAutoParticipantRecordingConfigurationMediaTypesItem)[keyof typeof StageAutoParticipantRecordingConfigurationMediaTypesItem]; diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index f419114820..39d65eec41 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -21443,7 +21443,7 @@ export namespace ec2 { } /** - * Specifies a tag. For more information, see [Add tags to a resource](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#cloudformation-add-tag-specifications). + * Specifies a tag. For more information, see [Resource tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html). */ export interface LaunchTemplateTagArgs { /** @@ -29026,7 +29026,7 @@ export namespace gamelift { */ location: pulumi.Input; /** - * Current resource capacity settings for managed EC2 fleets and container fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region. + * Current resource capacity settings for managed EC2 fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region. * * *Returned by:* [DescribeFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetCapacity.html) , [DescribeFleetLocationCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html) , [UpdateFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateFleetCapacity.html) */ @@ -29358,6 +29358,96 @@ export namespace globalaccelerator { } export namespace glue { + /** + * The AWS Lake Formation principal. + */ + export interface DatabaseDataLakePrincipalArgs { + /** + * An identifier for the AWS Lake Formation principal. + */ + dataLakePrincipalIdentifier?: pulumi.Input; + } + + /** + * A FederatedDatabase structure that references an entity outside the AWS Glue Data Catalog. + */ + export interface DatabaseFederatedDatabaseArgs { + /** + * The name of the connection to the external metastore. + */ + connectionName?: pulumi.Input; + /** + * A unique identifier for the federated database. + */ + identifier?: pulumi.Input; + } + + /** + * A structure that describes a target database for resource linking. + */ + export interface DatabaseIdentifierArgs { + /** + * The ID of the Data Catalog in which the database resides. + */ + catalogId?: pulumi.Input; + /** + * The name of the catalog database. + */ + databaseName?: pulumi.Input; + /** + * Region of the target database. + */ + region?: pulumi.Input; + } + + /** + * The structure used to create or update a database. + */ + export interface DatabaseInputArgs { + /** + * Creates a set of default permissions on the table for principals. Used by AWS Lake Formation. Not used in the normal course of AWS Glue operations. + */ + createTableDefaultPermissions?: pulumi.Input[]>; + /** + * A description of the database. + */ + description?: pulumi.Input; + /** + * A FederatedDatabase structure that references an entity outside the AWS Glue Data Catalog. + */ + federatedDatabase?: pulumi.Input; + /** + * The location of the database (for example, an HDFS path). + */ + locationUri?: pulumi.Input; + /** + * The name of the database. For hive compatibility, this is folded to lowercase when it is stored. + */ + name?: pulumi.Input; + /** + * These key-value pairs define parameters and properties of the database. + */ + parameters?: any; + /** + * A DatabaseIdentifier structure that describes a target database for resource linking. + */ + targetDatabase?: pulumi.Input; + } + + /** + * The permissions granted to a principal. + */ + export interface DatabasePrincipalPrivilegesArgs { + /** + * The permissions that are granted to the principal. + */ + permissions?: pulumi.Input[]>; + /** + * The principal who is granted permissions. + */ + principal?: pulumi.Input; + } + /** * Identifier for the registry which the schema is part of. */ @@ -36108,6 +36198,20 @@ export namespace ivs { targetIntervalSeconds?: pulumi.Input; } + /** + * Configuration object for individual participant recording, to attach to the new stage. + */ + export interface StageAutoParticipantRecordingConfigurationArgs { + /** + * Types of media to be recorded. Default: AUDIO_VIDEO. + */ + mediaTypes?: pulumi.Input[]>; + /** + * ARN of the StorageConfiguration resource to use for individual participant recording. + */ + storageConfigurationArn: pulumi.Input; + } + /** * A complex type that describes an S3 location where recorded videos will be stored. */ diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index 02999e3b6b..ba9e0ee57f 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -22110,7 +22110,7 @@ export namespace ec2 { } /** - * Specifies a tag. For more information, see [Add tags to a resource](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#cloudformation-add-tag-specifications). + * Specifies a tag. For more information, see [Resource tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html). */ export interface LaunchTemplateTag { /** @@ -30259,7 +30259,7 @@ export namespace gamelift { */ location: string; /** - * Current resource capacity settings for managed EC2 fleets and container fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region. + * Current resource capacity settings for managed EC2 fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region. * * *Returned by:* [DescribeFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetCapacity.html) , [DescribeFleetLocationCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html) , [UpdateFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateFleetCapacity.html) */ @@ -30592,6 +30592,96 @@ export namespace globalaccelerator { } export namespace glue { + /** + * The AWS Lake Formation principal. + */ + export interface DatabaseDataLakePrincipal { + /** + * An identifier for the AWS Lake Formation principal. + */ + dataLakePrincipalIdentifier?: string; + } + + /** + * A FederatedDatabase structure that references an entity outside the AWS Glue Data Catalog. + */ + export interface DatabaseFederatedDatabase { + /** + * The name of the connection to the external metastore. + */ + connectionName?: string; + /** + * A unique identifier for the federated database. + */ + identifier?: string; + } + + /** + * A structure that describes a target database for resource linking. + */ + export interface DatabaseIdentifier { + /** + * The ID of the Data Catalog in which the database resides. + */ + catalogId?: string; + /** + * The name of the catalog database. + */ + databaseName?: string; + /** + * Region of the target database. + */ + region?: string; + } + + /** + * The structure used to create or update a database. + */ + export interface DatabaseInput { + /** + * Creates a set of default permissions on the table for principals. Used by AWS Lake Formation. Not used in the normal course of AWS Glue operations. + */ + createTableDefaultPermissions?: outputs.glue.DatabasePrincipalPrivileges[]; + /** + * A description of the database. + */ + description?: string; + /** + * A FederatedDatabase structure that references an entity outside the AWS Glue Data Catalog. + */ + federatedDatabase?: outputs.glue.DatabaseFederatedDatabase; + /** + * The location of the database (for example, an HDFS path). + */ + locationUri?: string; + /** + * The name of the database. For hive compatibility, this is folded to lowercase when it is stored. + */ + name?: string; + /** + * These key-value pairs define parameters and properties of the database. + */ + parameters?: any; + /** + * A DatabaseIdentifier structure that describes a target database for resource linking. + */ + targetDatabase?: outputs.glue.DatabaseIdentifier; + } + + /** + * The permissions granted to a principal. + */ + export interface DatabasePrincipalPrivileges { + /** + * The permissions that are granted to the principal. + */ + permissions?: string[]; + /** + * The principal who is granted permissions. + */ + principal?: outputs.glue.DatabaseDataLakePrincipal; + } + /** * Identifier for the registry which the schema is part of. */ @@ -37410,6 +37500,20 @@ export namespace ivs { targetIntervalSeconds?: number; } + /** + * Configuration object for individual participant recording, to attach to the new stage. + */ + export interface StageAutoParticipantRecordingConfiguration { + /** + * Types of media to be recorded. Default: AUDIO_VIDEO. + */ + mediaTypes?: enums.ivs.StageAutoParticipantRecordingConfigurationMediaTypesItem[]; + /** + * ARN of the StorageConfiguration resource to use for individual participant recording. + */ + storageConfigurationArn: string; + } + /** * A complex type that describes an S3 location where recorded videos will be stored. */ diff --git a/sdk/python/pulumi_aws_native/__init__.py b/sdk/python/pulumi_aws_native/__init__.py index 2aaa6068e8..753eec2564 100644 --- a/sdk/python/pulumi_aws_native/__init__.py +++ b/sdk/python/pulumi_aws_native/__init__.py @@ -1758,6 +1758,7 @@ "mod": "glue", "fqn": "pulumi_aws_native.glue", "classes": { + "aws-native:glue:Database": "Database", "aws-native:glue:Registry": "Registry", "aws-native:glue:Schema": "Schema", "aws-native:glue:SchemaVersion": "SchemaVersion", @@ -2023,6 +2024,7 @@ "aws-native:ivs:EncoderConfiguration": "EncoderConfiguration", "aws-native:ivs:PlaybackKeyPair": "PlaybackKeyPair", "aws-native:ivs:PlaybackRestrictionPolicy": "PlaybackRestrictionPolicy", + "aws-native:ivs:PublicKey": "PublicKey", "aws-native:ivs:RecordingConfiguration": "RecordingConfiguration", "aws-native:ivs:Stage": "Stage", "aws-native:ivs:StorageConfiguration": "StorageConfiguration", diff --git a/sdk/python/pulumi_aws_native/deadline/_enums.py b/sdk/python/pulumi_aws_native/deadline/_enums.py index 79fd4d60ac..07c561218b 100644 --- a/sdk/python/pulumi_aws_native/deadline/_enums.py +++ b/sdk/python/pulumi_aws_native/deadline/_enums.py @@ -48,6 +48,7 @@ class FleetEc2MarketType(str, Enum): class FleetServiceManagedFleetOperatingSystemFamily(str, Enum): LINUX = "LINUX" + WINDOWS = "WINDOWS" class FleetStatus(str, Enum): diff --git a/sdk/python/pulumi_aws_native/ec2/_inputs.py b/sdk/python/pulumi_aws_native/ec2/_inputs.py index 0e4ce72934..bdababbe6d 100644 --- a/sdk/python/pulumi_aws_native/ec2/_inputs.py +++ b/sdk/python/pulumi_aws_native/ec2/_inputs.py @@ -6795,7 +6795,7 @@ def __init__(__self__, *, key: pulumi.Input[str], value: pulumi.Input[str]): """ - Specifies a tag. For more information, see [Add tags to a resource](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#cloudformation-add-tag-specifications). + Specifies a tag. For more information, see [Resource tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html). :param pulumi.Input[str] key: The tag key. :param pulumi.Input[str] value: The tag value. """ diff --git a/sdk/python/pulumi_aws_native/ec2/launch_template.py b/sdk/python/pulumi_aws_native/ec2/launch_template.py index a37c6f56d6..aacc9eeb77 100644 --- a/sdk/python/pulumi_aws_native/ec2/launch_template.py +++ b/sdk/python/pulumi_aws_native/ec2/launch_template.py @@ -26,7 +26,7 @@ def __init__(__self__, *, :param pulumi.Input['LaunchTemplateDataArgs'] launch_template_data: The information for the launch template. :param pulumi.Input[str] launch_template_name: A name for the launch template. :param pulumi.Input[Sequence[pulumi.Input['LaunchTemplateTagSpecificationArgs']]] tag_specifications: The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``. - To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications). + To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications). :param pulumi.Input[str] version_description: A description for the first version of the launch template. """ pulumi.set(__self__, "launch_template_data", launch_template_data) @@ -66,7 +66,7 @@ def launch_template_name(self, value: Optional[pulumi.Input[str]]): def tag_specifications(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['LaunchTemplateTagSpecificationArgs']]]]: """ The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``. - To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications). + To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications). """ return pulumi.get(self, "tag_specifications") @@ -111,7 +111,7 @@ def __init__(__self__, :param pulumi.Input[Union['LaunchTemplateDataArgs', 'LaunchTemplateDataArgsDict']] launch_template_data: The information for the launch template. :param pulumi.Input[str] launch_template_name: A name for the launch template. :param pulumi.Input[Sequence[pulumi.Input[Union['LaunchTemplateTagSpecificationArgs', 'LaunchTemplateTagSpecificationArgsDict']]]] tag_specifications: The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``. - To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications). + To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications). :param pulumi.Input[str] version_description: A description for the first version of the launch template. """ ... @@ -246,7 +246,7 @@ def launch_template_name(self) -> pulumi.Output[Optional[str]]: def tag_specifications(self) -> pulumi.Output[Optional[Sequence['outputs.LaunchTemplateTagSpecification']]]: """ The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``. - To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications). + To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications). """ return pulumi.get(self, "tag_specifications") diff --git a/sdk/python/pulumi_aws_native/ec2/outputs.py b/sdk/python/pulumi_aws_native/ec2/outputs.py index 5326fd36a2..69a29882ee 100644 --- a/sdk/python/pulumi_aws_native/ec2/outputs.py +++ b/sdk/python/pulumi_aws_native/ec2/outputs.py @@ -6973,13 +6973,13 @@ def valid_until(self) -> Optional[str]: @pulumi.output_type class LaunchTemplateTag(dict): """ - Specifies a tag. For more information, see [Add tags to a resource](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#cloudformation-add-tag-specifications). + Specifies a tag. For more information, see [Resource tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html). """ def __init__(__self__, *, key: str, value: str): """ - Specifies a tag. For more information, see [Add tags to a resource](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#cloudformation-add-tag-specifications). + Specifies a tag. For more information, see [Resource tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html). :param str key: The tag key. :param str value: The tag value. """ diff --git a/sdk/python/pulumi_aws_native/gamelift/_inputs.py b/sdk/python/pulumi_aws_native/gamelift/_inputs.py index 274bd82747..280c7f9be6 100644 --- a/sdk/python/pulumi_aws_native/gamelift/_inputs.py +++ b/sdk/python/pulumi_aws_native/gamelift/_inputs.py @@ -989,7 +989,7 @@ def __init__(__self__, *, """ A remote location where a multi-location fleet can deploy EC2 instances for game hosting. :param pulumi.Input[str] location: An AWS Region code, such as `us-west-2` . For a list of supported Regions and Local Zones, see [Amazon GameLift service locations](https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-regions.html) for managed hosting. - :param pulumi.Input['FleetLocationCapacityArgs'] location_capacity: Current resource capacity settings for managed EC2 fleets and container fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region. + :param pulumi.Input['FleetLocationCapacityArgs'] location_capacity: Current resource capacity settings for managed EC2 fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region. *Returned by:* [DescribeFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetCapacity.html) , [DescribeFleetLocationCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html) , [UpdateFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateFleetCapacity.html) """ @@ -1013,7 +1013,7 @@ def location(self, value: pulumi.Input[str]): @pulumi.getter(name="locationCapacity") def location_capacity(self) -> Optional[pulumi.Input['FleetLocationCapacityArgs']]: """ - Current resource capacity settings for managed EC2 fleets and container fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region. + Current resource capacity settings for managed EC2 fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region. *Returned by:* [DescribeFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetCapacity.html) , [DescribeFleetLocationCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html) , [UpdateFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateFleetCapacity.html) """ diff --git a/sdk/python/pulumi_aws_native/gamelift/fleet.py b/sdk/python/pulumi_aws_native/gamelift/fleet.py index 7f9475f440..1982fc68ee 100644 --- a/sdk/python/pulumi_aws_native/gamelift/fleet.py +++ b/sdk/python/pulumi_aws_native/gamelift/fleet.py @@ -52,7 +52,7 @@ def __init__(__self__, *, :param pulumi.Input[str] build_id: A unique identifier for a build to be deployed on the new fleet. If you are deploying the fleet with a custom game build, you must specify this property. The build must have been successfully uploaded to Amazon GameLift and be in a READY status. This fleet setting cannot be changed once the fleet is created. :param pulumi.Input['FleetCertificateConfigurationArgs'] certificate_configuration: Indicates whether to generate a TLS/SSL certificate for the new fleet. TLS certificates are used for encrypting traffic between game clients and game servers running on GameLift. If this parameter is not set, certificate generation is disabled. This fleet setting cannot be changed once the fleet is created. :param pulumi.Input['FleetComputeType'] compute_type: ComputeType to differentiate EC2 hardware managed by GameLift and Anywhere hardware managed by the customer. - :param pulumi.Input['FleetContainerGroupsConfigurationArgs'] container_groups_configuration: *This data type is used with the Amazon GameLift containers feature, which is currently in public preview.* + :param pulumi.Input['FleetContainerGroupsConfigurationArgs'] container_groups_configuration: *This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.* Configuration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` . @@ -205,7 +205,7 @@ def compute_type(self, value: Optional[pulumi.Input['FleetComputeType']]): @pulumi.getter(name="containerGroupsConfiguration") def container_groups_configuration(self) -> Optional[pulumi.Input['FleetContainerGroupsConfigurationArgs']]: """ - *This data type is used with the Amazon GameLift containers feature, which is currently in public preview.* + *This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.* Configuration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` . @@ -530,7 +530,7 @@ def __init__(__self__, :param pulumi.Input[str] build_id: A unique identifier for a build to be deployed on the new fleet. If you are deploying the fleet with a custom game build, you must specify this property. The build must have been successfully uploaded to Amazon GameLift and be in a READY status. This fleet setting cannot be changed once the fleet is created. :param pulumi.Input[Union['FleetCertificateConfigurationArgs', 'FleetCertificateConfigurationArgsDict']] certificate_configuration: Indicates whether to generate a TLS/SSL certificate for the new fleet. TLS certificates are used for encrypting traffic between game clients and game servers running on GameLift. If this parameter is not set, certificate generation is disabled. This fleet setting cannot be changed once the fleet is created. :param pulumi.Input['FleetComputeType'] compute_type: ComputeType to differentiate EC2 hardware managed by GameLift and Anywhere hardware managed by the customer. - :param pulumi.Input[Union['FleetContainerGroupsConfigurationArgs', 'FleetContainerGroupsConfigurationArgsDict']] container_groups_configuration: *This data type is used with the Amazon GameLift containers feature, which is currently in public preview.* + :param pulumi.Input[Union['FleetContainerGroupsConfigurationArgs', 'FleetContainerGroupsConfigurationArgsDict']] container_groups_configuration: *This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.* Configuration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` . @@ -751,7 +751,7 @@ def compute_type(self) -> pulumi.Output[Optional['FleetComputeType']]: @pulumi.getter(name="containerGroupsConfiguration") def container_groups_configuration(self) -> pulumi.Output[Optional['outputs.FleetContainerGroupsConfiguration']]: """ - *This data type is used with the Amazon GameLift containers feature, which is currently in public preview.* + *This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.* Configuration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` . diff --git a/sdk/python/pulumi_aws_native/gamelift/outputs.py b/sdk/python/pulumi_aws_native/gamelift/outputs.py index 1e9c9972c0..2d102a4c25 100644 --- a/sdk/python/pulumi_aws_native/gamelift/outputs.py +++ b/sdk/python/pulumi_aws_native/gamelift/outputs.py @@ -1124,7 +1124,7 @@ def __init__(__self__, *, """ A remote location where a multi-location fleet can deploy EC2 instances for game hosting. :param str location: An AWS Region code, such as `us-west-2` . For a list of supported Regions and Local Zones, see [Amazon GameLift service locations](https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-regions.html) for managed hosting. - :param 'FleetLocationCapacity' location_capacity: Current resource capacity settings for managed EC2 fleets and container fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region. + :param 'FleetLocationCapacity' location_capacity: Current resource capacity settings for managed EC2 fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region. *Returned by:* [DescribeFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetCapacity.html) , [DescribeFleetLocationCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html) , [UpdateFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateFleetCapacity.html) """ @@ -1144,7 +1144,7 @@ def location(self) -> str: @pulumi.getter(name="locationCapacity") def location_capacity(self) -> Optional['outputs.FleetLocationCapacity']: """ - Current resource capacity settings for managed EC2 fleets and container fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region. + Current resource capacity settings for managed EC2 fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region. *Returned by:* [DescribeFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetCapacity.html) , [DescribeFleetLocationCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html) , [UpdateFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateFleetCapacity.html) """ diff --git a/sdk/python/pulumi_aws_native/glue/__init__.py b/sdk/python/pulumi_aws_native/glue/__init__.py index a1d165c800..5e36d46706 100644 --- a/sdk/python/pulumi_aws_native/glue/__init__.py +++ b/sdk/python/pulumi_aws_native/glue/__init__.py @@ -6,6 +6,8 @@ import typing # Export this package's modules as members: from ._enums import * +from .database import * +from .get_database import * from .get_registry import * from .get_schema import * from .get_schema_version import * diff --git a/sdk/python/pulumi_aws_native/glue/_inputs.py b/sdk/python/pulumi_aws_native/glue/_inputs.py index 88b5c85720..c278758398 100644 --- a/sdk/python/pulumi_aws_native/glue/_inputs.py +++ b/sdk/python/pulumi_aws_native/glue/_inputs.py @@ -11,6 +11,11 @@ from ._enums import * __all__ = [ + 'DatabaseDataLakePrincipalArgs', + 'DatabaseFederatedDatabaseArgs', + 'DatabaseIdentifierArgs', + 'DatabaseInputArgs', + 'DatabasePrincipalPrivilegesArgs', 'SchemaRegistryArgs', 'SchemaVersionSchemaArgs', 'SchemaVersionArgs', @@ -21,6 +26,286 @@ 'TriggerPredicateArgs', ] +@pulumi.input_type +class DatabaseDataLakePrincipalArgs: + def __init__(__self__, *, + data_lake_principal_identifier: Optional[pulumi.Input[str]] = None): + """ + The AWS Lake Formation principal. + :param pulumi.Input[str] data_lake_principal_identifier: An identifier for the AWS Lake Formation principal. + """ + if data_lake_principal_identifier is not None: + pulumi.set(__self__, "data_lake_principal_identifier", data_lake_principal_identifier) + + @property + @pulumi.getter(name="dataLakePrincipalIdentifier") + def data_lake_principal_identifier(self) -> Optional[pulumi.Input[str]]: + """ + An identifier for the AWS Lake Formation principal. + """ + return pulumi.get(self, "data_lake_principal_identifier") + + @data_lake_principal_identifier.setter + def data_lake_principal_identifier(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "data_lake_principal_identifier", value) + + +@pulumi.input_type +class DatabaseFederatedDatabaseArgs: + def __init__(__self__, *, + connection_name: Optional[pulumi.Input[str]] = None, + identifier: Optional[pulumi.Input[str]] = None): + """ + A FederatedDatabase structure that references an entity outside the AWS Glue Data Catalog. + :param pulumi.Input[str] connection_name: The name of the connection to the external metastore. + :param pulumi.Input[str] identifier: A unique identifier for the federated database. + """ + if connection_name is not None: + pulumi.set(__self__, "connection_name", connection_name) + if identifier is not None: + pulumi.set(__self__, "identifier", identifier) + + @property + @pulumi.getter(name="connectionName") + def connection_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the connection to the external metastore. + """ + return pulumi.get(self, "connection_name") + + @connection_name.setter + def connection_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "connection_name", value) + + @property + @pulumi.getter + def identifier(self) -> Optional[pulumi.Input[str]]: + """ + A unique identifier for the federated database. + """ + return pulumi.get(self, "identifier") + + @identifier.setter + def identifier(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "identifier", value) + + +@pulumi.input_type +class DatabaseIdentifierArgs: + def __init__(__self__, *, + catalog_id: Optional[pulumi.Input[str]] = None, + database_name: Optional[pulumi.Input[str]] = None, + region: Optional[pulumi.Input[str]] = None): + """ + A structure that describes a target database for resource linking. + :param pulumi.Input[str] catalog_id: The ID of the Data Catalog in which the database resides. + :param pulumi.Input[str] database_name: The name of the catalog database. + :param pulumi.Input[str] region: Region of the target database. + """ + if catalog_id is not None: + pulumi.set(__self__, "catalog_id", catalog_id) + if database_name is not None: + pulumi.set(__self__, "database_name", database_name) + if region is not None: + pulumi.set(__self__, "region", region) + + @property + @pulumi.getter(name="catalogId") + def catalog_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID of the Data Catalog in which the database resides. + """ + return pulumi.get(self, "catalog_id") + + @catalog_id.setter + def catalog_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "catalog_id", value) + + @property + @pulumi.getter(name="databaseName") + def database_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the catalog database. + """ + return pulumi.get(self, "database_name") + + @database_name.setter + def database_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "database_name", value) + + @property + @pulumi.getter + def region(self) -> Optional[pulumi.Input[str]]: + """ + Region of the target database. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "region", value) + + +@pulumi.input_type +class DatabaseInputArgs: + def __init__(__self__, *, + create_table_default_permissions: Optional[pulumi.Input[Sequence[pulumi.Input['DatabasePrincipalPrivilegesArgs']]]] = None, + description: Optional[pulumi.Input[str]] = None, + federated_database: Optional[pulumi.Input['DatabaseFederatedDatabaseArgs']] = None, + location_uri: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + parameters: Optional[Any] = None, + target_database: Optional[pulumi.Input['DatabaseIdentifierArgs']] = None): + """ + The structure used to create or update a database. + :param pulumi.Input[Sequence[pulumi.Input['DatabasePrincipalPrivilegesArgs']]] create_table_default_permissions: Creates a set of default permissions on the table for principals. Used by AWS Lake Formation. Not used in the normal course of AWS Glue operations. + :param pulumi.Input[str] description: A description of the database. + :param pulumi.Input['DatabaseFederatedDatabaseArgs'] federated_database: A FederatedDatabase structure that references an entity outside the AWS Glue Data Catalog. + :param pulumi.Input[str] location_uri: The location of the database (for example, an HDFS path). + :param pulumi.Input[str] name: The name of the database. For hive compatibility, this is folded to lowercase when it is stored. + :param Any parameters: These key-value pairs define parameters and properties of the database. + :param pulumi.Input['DatabaseIdentifierArgs'] target_database: A DatabaseIdentifier structure that describes a target database for resource linking. + """ + if create_table_default_permissions is not None: + pulumi.set(__self__, "create_table_default_permissions", create_table_default_permissions) + if description is not None: + pulumi.set(__self__, "description", description) + if federated_database is not None: + pulumi.set(__self__, "federated_database", federated_database) + if location_uri is not None: + pulumi.set(__self__, "location_uri", location_uri) + if name is not None: + pulumi.set(__self__, "name", name) + if parameters is not None: + pulumi.set(__self__, "parameters", parameters) + if target_database is not None: + pulumi.set(__self__, "target_database", target_database) + + @property + @pulumi.getter(name="createTableDefaultPermissions") + def create_table_default_permissions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DatabasePrincipalPrivilegesArgs']]]]: + """ + Creates a set of default permissions on the table for principals. Used by AWS Lake Formation. Not used in the normal course of AWS Glue operations. + """ + return pulumi.get(self, "create_table_default_permissions") + + @create_table_default_permissions.setter + def create_table_default_permissions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DatabasePrincipalPrivilegesArgs']]]]): + pulumi.set(self, "create_table_default_permissions", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + A description of the database. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="federatedDatabase") + def federated_database(self) -> Optional[pulumi.Input['DatabaseFederatedDatabaseArgs']]: + """ + A FederatedDatabase structure that references an entity outside the AWS Glue Data Catalog. + """ + return pulumi.get(self, "federated_database") + + @federated_database.setter + def federated_database(self, value: Optional[pulumi.Input['DatabaseFederatedDatabaseArgs']]): + pulumi.set(self, "federated_database", value) + + @property + @pulumi.getter(name="locationUri") + def location_uri(self) -> Optional[pulumi.Input[str]]: + """ + The location of the database (for example, an HDFS path). + """ + return pulumi.get(self, "location_uri") + + @location_uri.setter + def location_uri(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "location_uri", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the database. For hive compatibility, this is folded to lowercase when it is stored. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def parameters(self) -> Optional[Any]: + """ + These key-value pairs define parameters and properties of the database. + """ + return pulumi.get(self, "parameters") + + @parameters.setter + def parameters(self, value: Optional[Any]): + pulumi.set(self, "parameters", value) + + @property + @pulumi.getter(name="targetDatabase") + def target_database(self) -> Optional[pulumi.Input['DatabaseIdentifierArgs']]: + """ + A DatabaseIdentifier structure that describes a target database for resource linking. + """ + return pulumi.get(self, "target_database") + + @target_database.setter + def target_database(self, value: Optional[pulumi.Input['DatabaseIdentifierArgs']]): + pulumi.set(self, "target_database", value) + + +@pulumi.input_type +class DatabasePrincipalPrivilegesArgs: + def __init__(__self__, *, + permissions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + principal: Optional[pulumi.Input['DatabaseDataLakePrincipalArgs']] = None): + """ + The permissions granted to a principal. + :param pulumi.Input[Sequence[pulumi.Input[str]]] permissions: The permissions that are granted to the principal. + :param pulumi.Input['DatabaseDataLakePrincipalArgs'] principal: The principal who is granted permissions. + """ + if permissions is not None: + pulumi.set(__self__, "permissions", permissions) + if principal is not None: + pulumi.set(__self__, "principal", principal) + + @property + @pulumi.getter + def permissions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The permissions that are granted to the principal. + """ + return pulumi.get(self, "permissions") + + @permissions.setter + def permissions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "permissions", value) + + @property + @pulumi.getter + def principal(self) -> Optional[pulumi.Input['DatabaseDataLakePrincipalArgs']]: + """ + The principal who is granted permissions. + """ + return pulumi.get(self, "principal") + + @principal.setter + def principal(self, value: Optional[pulumi.Input['DatabaseDataLakePrincipalArgs']]): + pulumi.set(self, "principal", value) + + @pulumi.input_type class SchemaRegistryArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws_native/glue/database.py b/sdk/python/pulumi_aws_native/glue/database.py new file mode 100644 index 0000000000..68cb67d69e --- /dev/null +++ b/sdk/python/pulumi_aws_native/glue/database.py @@ -0,0 +1,183 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** 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__ = ['DatabaseArgs', 'Database'] + +@pulumi.input_type +class DatabaseArgs: + def __init__(__self__, *, + catalog_id: pulumi.Input[str], + database_input: pulumi.Input['DatabaseInputArgs'], + database_name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a Database resource. + :param pulumi.Input[str] catalog_id: The AWS account ID for the account in which to create the catalog object. + :param pulumi.Input['DatabaseInputArgs'] database_input: The metadata for the database. + :param pulumi.Input[str] database_name: The name of the database. For hive compatibility, this is folded to lowercase when it is store. + """ + pulumi.set(__self__, "catalog_id", catalog_id) + pulumi.set(__self__, "database_input", database_input) + if database_name is not None: + pulumi.set(__self__, "database_name", database_name) + + @property + @pulumi.getter(name="catalogId") + def catalog_id(self) -> pulumi.Input[str]: + """ + The AWS account ID for the account in which to create the catalog object. + """ + return pulumi.get(self, "catalog_id") + + @catalog_id.setter + def catalog_id(self, value: pulumi.Input[str]): + pulumi.set(self, "catalog_id", value) + + @property + @pulumi.getter(name="databaseInput") + def database_input(self) -> pulumi.Input['DatabaseInputArgs']: + """ + The metadata for the database. + """ + return pulumi.get(self, "database_input") + + @database_input.setter + def database_input(self, value: pulumi.Input['DatabaseInputArgs']): + pulumi.set(self, "database_input", value) + + @property + @pulumi.getter(name="databaseName") + def database_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the database. For hive compatibility, this is folded to lowercase when it is store. + """ + return pulumi.get(self, "database_name") + + @database_name.setter + def database_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "database_name", value) + + +class Database(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + catalog_id: Optional[pulumi.Input[str]] = None, + database_input: Optional[pulumi.Input[Union['DatabaseInputArgs', 'DatabaseInputArgsDict']]] = None, + database_name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Resource Type definition for AWS::Glue::Database + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] catalog_id: The AWS account ID for the account in which to create the catalog object. + :param pulumi.Input[Union['DatabaseInputArgs', 'DatabaseInputArgsDict']] database_input: The metadata for the database. + :param pulumi.Input[str] database_name: The name of the database. For hive compatibility, this is folded to lowercase when it is store. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: DatabaseArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource Type definition for AWS::Glue::Database + + :param str resource_name: The name of the resource. + :param DatabaseArgs 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(DatabaseArgs, 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, + catalog_id: Optional[pulumi.Input[str]] = None, + database_input: Optional[pulumi.Input[Union['DatabaseInputArgs', 'DatabaseInputArgsDict']]] = None, + database_name: 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__ = DatabaseArgs.__new__(DatabaseArgs) + + if catalog_id is None and not opts.urn: + raise TypeError("Missing required property 'catalog_id'") + __props__.__dict__["catalog_id"] = catalog_id + if database_input is None and not opts.urn: + raise TypeError("Missing required property 'database_input'") + __props__.__dict__["database_input"] = database_input + __props__.__dict__["database_name"] = database_name + replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["databaseName"]) + opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) + super(Database, __self__).__init__( + 'aws-native:glue:Database', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'Database': + """ + Get an existing Database 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. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = DatabaseArgs.__new__(DatabaseArgs) + + __props__.__dict__["catalog_id"] = None + __props__.__dict__["database_input"] = None + __props__.__dict__["database_name"] = None + return Database(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="catalogId") + def catalog_id(self) -> pulumi.Output[str]: + """ + The AWS account ID for the account in which to create the catalog object. + """ + return pulumi.get(self, "catalog_id") + + @property + @pulumi.getter(name="databaseInput") + def database_input(self) -> pulumi.Output['outputs.DatabaseInput']: + """ + The metadata for the database. + """ + return pulumi.get(self, "database_input") + + @property + @pulumi.getter(name="databaseName") + def database_name(self) -> pulumi.Output[Optional[str]]: + """ + The name of the database. For hive compatibility, this is folded to lowercase when it is store. + """ + return pulumi.get(self, "database_name") + diff --git a/sdk/python/pulumi_aws_native/glue/get_database.py b/sdk/python/pulumi_aws_native/glue/get_database.py new file mode 100644 index 0000000000..bb1e6b3565 --- /dev/null +++ b/sdk/python/pulumi_aws_native/glue/get_database.py @@ -0,0 +1,84 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** 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__ = [ + 'GetDatabaseResult', + 'AwaitableGetDatabaseResult', + 'get_database', + 'get_database_output', +] + +@pulumi.output_type +class GetDatabaseResult: + def __init__(__self__, catalog_id=None, database_input=None): + if catalog_id and not isinstance(catalog_id, str): + raise TypeError("Expected argument 'catalog_id' to be a str") + pulumi.set(__self__, "catalog_id", catalog_id) + if database_input and not isinstance(database_input, dict): + raise TypeError("Expected argument 'database_input' to be a dict") + pulumi.set(__self__, "database_input", database_input) + + @property + @pulumi.getter(name="catalogId") + def catalog_id(self) -> Optional[str]: + """ + The AWS account ID for the account in which to create the catalog object. + """ + return pulumi.get(self, "catalog_id") + + @property + @pulumi.getter(name="databaseInput") + def database_input(self) -> Optional['outputs.DatabaseInput']: + """ + The metadata for the database. + """ + return pulumi.get(self, "database_input") + + +class AwaitableGetDatabaseResult(GetDatabaseResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetDatabaseResult( + catalog_id=self.catalog_id, + database_input=self.database_input) + + +def get_database(database_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDatabaseResult: + """ + Resource Type definition for AWS::Glue::Database + + + :param str database_name: The name of the database. For hive compatibility, this is folded to lowercase when it is store. + """ + __args__ = dict() + __args__['databaseName'] = database_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws-native:glue:getDatabase', __args__, opts=opts, typ=GetDatabaseResult).value + + return AwaitableGetDatabaseResult( + catalog_id=pulumi.get(__ret__, 'catalog_id'), + database_input=pulumi.get(__ret__, 'database_input')) + + +@_utilities.lift_output_func(get_database) +def get_database_output(database_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDatabaseResult]: + """ + Resource Type definition for AWS::Glue::Database + + + :param str database_name: The name of the database. For hive compatibility, this is folded to lowercase when it is store. + """ + ... diff --git a/sdk/python/pulumi_aws_native/glue/outputs.py b/sdk/python/pulumi_aws_native/glue/outputs.py index 08f8839991..df7f40ac5d 100644 --- a/sdk/python/pulumi_aws_native/glue/outputs.py +++ b/sdk/python/pulumi_aws_native/glue/outputs.py @@ -12,6 +12,11 @@ from ._enums import * __all__ = [ + 'DatabaseDataLakePrincipal', + 'DatabaseFederatedDatabase', + 'DatabaseIdentifier', + 'DatabaseInput', + 'DatabasePrincipalPrivileges', 'SchemaRegistry', 'SchemaVersion', 'SchemaVersionSchema', @@ -22,6 +27,317 @@ 'TriggerPredicate', ] +@pulumi.output_type +class DatabaseDataLakePrincipal(dict): + """ + The AWS Lake Formation principal. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "dataLakePrincipalIdentifier": + suggest = "data_lake_principal_identifier" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DatabaseDataLakePrincipal. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DatabaseDataLakePrincipal.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DatabaseDataLakePrincipal.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + data_lake_principal_identifier: Optional[str] = None): + """ + The AWS Lake Formation principal. + :param str data_lake_principal_identifier: An identifier for the AWS Lake Formation principal. + """ + if data_lake_principal_identifier is not None: + pulumi.set(__self__, "data_lake_principal_identifier", data_lake_principal_identifier) + + @property + @pulumi.getter(name="dataLakePrincipalIdentifier") + def data_lake_principal_identifier(self) -> Optional[str]: + """ + An identifier for the AWS Lake Formation principal. + """ + return pulumi.get(self, "data_lake_principal_identifier") + + +@pulumi.output_type +class DatabaseFederatedDatabase(dict): + """ + A FederatedDatabase structure that references an entity outside the AWS Glue Data Catalog. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "connectionName": + suggest = "connection_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DatabaseFederatedDatabase. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DatabaseFederatedDatabase.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DatabaseFederatedDatabase.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + connection_name: Optional[str] = None, + identifier: Optional[str] = None): + """ + A FederatedDatabase structure that references an entity outside the AWS Glue Data Catalog. + :param str connection_name: The name of the connection to the external metastore. + :param str identifier: A unique identifier for the federated database. + """ + if connection_name is not None: + pulumi.set(__self__, "connection_name", connection_name) + if identifier is not None: + pulumi.set(__self__, "identifier", identifier) + + @property + @pulumi.getter(name="connectionName") + def connection_name(self) -> Optional[str]: + """ + The name of the connection to the external metastore. + """ + return pulumi.get(self, "connection_name") + + @property + @pulumi.getter + def identifier(self) -> Optional[str]: + """ + A unique identifier for the federated database. + """ + return pulumi.get(self, "identifier") + + +@pulumi.output_type +class DatabaseIdentifier(dict): + """ + A structure that describes a target database for resource linking. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "catalogId": + suggest = "catalog_id" + elif key == "databaseName": + suggest = "database_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DatabaseIdentifier. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DatabaseIdentifier.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DatabaseIdentifier.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + catalog_id: Optional[str] = None, + database_name: Optional[str] = None, + region: Optional[str] = None): + """ + A structure that describes a target database for resource linking. + :param str catalog_id: The ID of the Data Catalog in which the database resides. + :param str database_name: The name of the catalog database. + :param str region: Region of the target database. + """ + if catalog_id is not None: + pulumi.set(__self__, "catalog_id", catalog_id) + if database_name is not None: + pulumi.set(__self__, "database_name", database_name) + if region is not None: + pulumi.set(__self__, "region", region) + + @property + @pulumi.getter(name="catalogId") + def catalog_id(self) -> Optional[str]: + """ + The ID of the Data Catalog in which the database resides. + """ + return pulumi.get(self, "catalog_id") + + @property + @pulumi.getter(name="databaseName") + def database_name(self) -> Optional[str]: + """ + The name of the catalog database. + """ + return pulumi.get(self, "database_name") + + @property + @pulumi.getter + def region(self) -> Optional[str]: + """ + Region of the target database. + """ + return pulumi.get(self, "region") + + +@pulumi.output_type +class DatabaseInput(dict): + """ + The structure used to create or update a database. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "createTableDefaultPermissions": + suggest = "create_table_default_permissions" + elif key == "federatedDatabase": + suggest = "federated_database" + elif key == "locationUri": + suggest = "location_uri" + elif key == "targetDatabase": + suggest = "target_database" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DatabaseInput. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DatabaseInput.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DatabaseInput.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + create_table_default_permissions: Optional[Sequence['outputs.DatabasePrincipalPrivileges']] = None, + description: Optional[str] = None, + federated_database: Optional['outputs.DatabaseFederatedDatabase'] = None, + location_uri: Optional[str] = None, + name: Optional[str] = None, + parameters: Optional[Any] = None, + target_database: Optional['outputs.DatabaseIdentifier'] = None): + """ + The structure used to create or update a database. + :param Sequence['DatabasePrincipalPrivileges'] create_table_default_permissions: Creates a set of default permissions on the table for principals. Used by AWS Lake Formation. Not used in the normal course of AWS Glue operations. + :param str description: A description of the database. + :param 'DatabaseFederatedDatabase' federated_database: A FederatedDatabase structure that references an entity outside the AWS Glue Data Catalog. + :param str location_uri: The location of the database (for example, an HDFS path). + :param str name: The name of the database. For hive compatibility, this is folded to lowercase when it is stored. + :param Any parameters: These key-value pairs define parameters and properties of the database. + :param 'DatabaseIdentifier' target_database: A DatabaseIdentifier structure that describes a target database for resource linking. + """ + if create_table_default_permissions is not None: + pulumi.set(__self__, "create_table_default_permissions", create_table_default_permissions) + if description is not None: + pulumi.set(__self__, "description", description) + if federated_database is not None: + pulumi.set(__self__, "federated_database", federated_database) + if location_uri is not None: + pulumi.set(__self__, "location_uri", location_uri) + if name is not None: + pulumi.set(__self__, "name", name) + if parameters is not None: + pulumi.set(__self__, "parameters", parameters) + if target_database is not None: + pulumi.set(__self__, "target_database", target_database) + + @property + @pulumi.getter(name="createTableDefaultPermissions") + def create_table_default_permissions(self) -> Optional[Sequence['outputs.DatabasePrincipalPrivileges']]: + """ + Creates a set of default permissions on the table for principals. Used by AWS Lake Formation. Not used in the normal course of AWS Glue operations. + """ + return pulumi.get(self, "create_table_default_permissions") + + @property + @pulumi.getter + def description(self) -> Optional[str]: + """ + A description of the database. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="federatedDatabase") + def federated_database(self) -> Optional['outputs.DatabaseFederatedDatabase']: + """ + A FederatedDatabase structure that references an entity outside the AWS Glue Data Catalog. + """ + return pulumi.get(self, "federated_database") + + @property + @pulumi.getter(name="locationUri") + def location_uri(self) -> Optional[str]: + """ + The location of the database (for example, an HDFS path). + """ + return pulumi.get(self, "location_uri") + + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + The name of the database. For hive compatibility, this is folded to lowercase when it is stored. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def parameters(self) -> Optional[Any]: + """ + These key-value pairs define parameters and properties of the database. + """ + return pulumi.get(self, "parameters") + + @property + @pulumi.getter(name="targetDatabase") + def target_database(self) -> Optional['outputs.DatabaseIdentifier']: + """ + A DatabaseIdentifier structure that describes a target database for resource linking. + """ + return pulumi.get(self, "target_database") + + +@pulumi.output_type +class DatabasePrincipalPrivileges(dict): + """ + The permissions granted to a principal. + """ + def __init__(__self__, *, + permissions: Optional[Sequence[str]] = None, + principal: Optional['outputs.DatabaseDataLakePrincipal'] = None): + """ + The permissions granted to a principal. + :param Sequence[str] permissions: The permissions that are granted to the principal. + :param 'DatabaseDataLakePrincipal' principal: The principal who is granted permissions. + """ + if permissions is not None: + pulumi.set(__self__, "permissions", permissions) + if principal is not None: + pulumi.set(__self__, "principal", principal) + + @property + @pulumi.getter + def permissions(self) -> Optional[Sequence[str]]: + """ + The permissions that are granted to the principal. + """ + return pulumi.get(self, "permissions") + + @property + @pulumi.getter + def principal(self) -> Optional['outputs.DatabaseDataLakePrincipal']: + """ + The principal who is granted permissions. + """ + return pulumi.get(self, "principal") + + @pulumi.output_type class SchemaRegistry(dict): """ diff --git a/sdk/python/pulumi_aws_native/ivs/__init__.py b/sdk/python/pulumi_aws_native/ivs/__init__.py index 4fd823d403..c47b1fb407 100644 --- a/sdk/python/pulumi_aws_native/ivs/__init__.py +++ b/sdk/python/pulumi_aws_native/ivs/__init__.py @@ -12,12 +12,14 @@ from .get_encoder_configuration import * from .get_playback_key_pair import * from .get_playback_restriction_policy import * +from .get_public_key import * from .get_recording_configuration import * from .get_stage import * from .get_storage_configuration import * from .get_stream_key import * from .playback_key_pair import * from .playback_restriction_policy import * +from .public_key import * from .recording_configuration import * from .stage import * from .storage_configuration import * diff --git a/sdk/python/pulumi_aws_native/ivs/_enums.py b/sdk/python/pulumi_aws_native/ivs/_enums.py index ea7590e0b3..b77aaf1b31 100644 --- a/sdk/python/pulumi_aws_native/ivs/_enums.py +++ b/sdk/python/pulumi_aws_native/ivs/_enums.py @@ -14,6 +14,7 @@ 'RecordingConfigurationThumbnailConfigurationRecordingMode', 'RecordingConfigurationThumbnailConfigurationResolution', 'RecordingConfigurationThumbnailConfigurationStorageItem', + 'StageAutoParticipantRecordingConfigurationMediaTypesItem', ] @@ -29,6 +30,7 @@ class ChannelPreset(str, Enum): """ Optional transcode preset for the channel. This is selectable only for ADVANCED_HD and ADVANCED_SD channel types. For those channel types, the default preset is HIGHER_BANDWIDTH_DELIVERY. For other channel types (BASIC and STANDARD), preset is the empty string (""). """ + EMPTY = "" HIGHER_BANDWIDTH_DELIVERY = "HIGHER_BANDWIDTH_DELIVERY" CONSTRAINED_BANDWIDTH_DELIVERY = "CONSTRAINED_BANDWIDTH_DELIVERY" @@ -89,3 +91,8 @@ class RecordingConfigurationThumbnailConfigurationResolution(str, Enum): class RecordingConfigurationThumbnailConfigurationStorageItem(str, Enum): SEQUENTIAL = "SEQUENTIAL" LATEST = "LATEST" + + +class StageAutoParticipantRecordingConfigurationMediaTypesItem(str, Enum): + AUDIO_VIDEO = "AUDIO_VIDEO" + AUDIO_ONLY = "AUDIO_ONLY" diff --git a/sdk/python/pulumi_aws_native/ivs/_inputs.py b/sdk/python/pulumi_aws_native/ivs/_inputs.py index ae503afc3b..f01a75af53 100644 --- a/sdk/python/pulumi_aws_native/ivs/_inputs.py +++ b/sdk/python/pulumi_aws_native/ivs/_inputs.py @@ -15,6 +15,7 @@ 'RecordingConfigurationRenditionConfigurationArgs', 'RecordingConfigurationS3DestinationConfigurationArgs', 'RecordingConfigurationThumbnailConfigurationArgs', + 'StageAutoParticipantRecordingConfigurationArgs', 'StorageConfigurationS3StorageConfigurationArgs', 'VideoPropertiesArgs', ] @@ -178,6 +179,45 @@ def target_interval_seconds(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "target_interval_seconds", value) +@pulumi.input_type +class StageAutoParticipantRecordingConfigurationArgs: + def __init__(__self__, *, + storage_configuration_arn: pulumi.Input[str], + media_types: Optional[pulumi.Input[Sequence[pulumi.Input['StageAutoParticipantRecordingConfigurationMediaTypesItem']]]] = None): + """ + Configuration object for individual participant recording, to attach to the new stage. + :param pulumi.Input[str] storage_configuration_arn: ARN of the StorageConfiguration resource to use for individual participant recording. + :param pulumi.Input[Sequence[pulumi.Input['StageAutoParticipantRecordingConfigurationMediaTypesItem']]] media_types: Types of media to be recorded. Default: AUDIO_VIDEO. + """ + pulumi.set(__self__, "storage_configuration_arn", storage_configuration_arn) + if media_types is not None: + pulumi.set(__self__, "media_types", media_types) + + @property + @pulumi.getter(name="storageConfigurationArn") + def storage_configuration_arn(self) -> pulumi.Input[str]: + """ + ARN of the StorageConfiguration resource to use for individual participant recording. + """ + return pulumi.get(self, "storage_configuration_arn") + + @storage_configuration_arn.setter + def storage_configuration_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "storage_configuration_arn", value) + + @property + @pulumi.getter(name="mediaTypes") + def media_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StageAutoParticipantRecordingConfigurationMediaTypesItem']]]]: + """ + Types of media to be recorded. Default: AUDIO_VIDEO. + """ + return pulumi.get(self, "media_types") + + @media_types.setter + def media_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StageAutoParticipantRecordingConfigurationMediaTypesItem']]]]): + pulumi.set(self, "media_types", value) + + @pulumi.input_type class StorageConfigurationS3StorageConfigurationArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws_native/ivs/get_public_key.py b/sdk/python/pulumi_aws_native/ivs/get_public_key.py new file mode 100644 index 0000000000..8ba8438c0c --- /dev/null +++ b/sdk/python/pulumi_aws_native/ivs/get_public_key.py @@ -0,0 +1,97 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** 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 as _root_outputs + +__all__ = [ + 'GetPublicKeyResult', + 'AwaitableGetPublicKeyResult', + 'get_public_key', + 'get_public_key_output', +] + +@pulumi.output_type +class GetPublicKeyResult: + def __init__(__self__, arn=None, fingerprint=None, tags=None): + if arn and not isinstance(arn, str): + raise TypeError("Expected argument 'arn' to be a str") + pulumi.set(__self__, "arn", arn) + if fingerprint and not isinstance(fingerprint, str): + raise TypeError("Expected argument 'fingerprint' to be a str") + pulumi.set(__self__, "fingerprint", fingerprint) + if tags and not isinstance(tags, list): + raise TypeError("Expected argument 'tags' to be a list") + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter + def arn(self) -> Optional[str]: + """ + Key-pair identifier. + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter + def fingerprint(self) -> Optional[str]: + """ + Key-pair identifier. + """ + return pulumi.get(self, "fingerprint") + + @property + @pulumi.getter + def tags(self) -> Optional[Sequence['_root_outputs.Tag']]: + """ + A list of key-value pairs that contain metadata for the asset model. + """ + return pulumi.get(self, "tags") + + +class AwaitableGetPublicKeyResult(GetPublicKeyResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetPublicKeyResult( + arn=self.arn, + fingerprint=self.fingerprint, + tags=self.tags) + + +def get_public_key(arn: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetPublicKeyResult: + """ + Resource Type definition for AWS::IVS::PublicKey + + + :param str arn: Key-pair identifier. + """ + __args__ = dict() + __args__['arn'] = arn + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws-native:ivs:getPublicKey', __args__, opts=opts, typ=GetPublicKeyResult).value + + return AwaitableGetPublicKeyResult( + arn=pulumi.get(__ret__, 'arn'), + fingerprint=pulumi.get(__ret__, 'fingerprint'), + tags=pulumi.get(__ret__, 'tags')) + + +@_utilities.lift_output_func(get_public_key) +def get_public_key_output(arn: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetPublicKeyResult]: + """ + Resource Type definition for AWS::IVS::PublicKey + + + :param str arn: Key-pair identifier. + """ + ... diff --git a/sdk/python/pulumi_aws_native/ivs/get_stage.py b/sdk/python/pulumi_aws_native/ivs/get_stage.py index bc46e91dca..32f9cdcdd9 100644 --- a/sdk/python/pulumi_aws_native/ivs/get_stage.py +++ b/sdk/python/pulumi_aws_native/ivs/get_stage.py @@ -8,7 +8,9 @@ import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload from .. import _utilities +from . import outputs from .. import outputs as _root_outputs +from ._enums import * __all__ = [ 'GetStageResult', @@ -19,13 +21,16 @@ @pulumi.output_type class GetStageResult: - def __init__(__self__, active_session_id=None, arn=None, name=None, tags=None): + def __init__(__self__, active_session_id=None, arn=None, auto_participant_recording_configuration=None, name=None, tags=None): if active_session_id and not isinstance(active_session_id, str): raise TypeError("Expected argument 'active_session_id' to be a str") pulumi.set(__self__, "active_session_id", active_session_id) if arn and not isinstance(arn, str): raise TypeError("Expected argument 'arn' to be a str") pulumi.set(__self__, "arn", arn) + if auto_participant_recording_configuration and not isinstance(auto_participant_recording_configuration, dict): + raise TypeError("Expected argument 'auto_participant_recording_configuration' to be a dict") + pulumi.set(__self__, "auto_participant_recording_configuration", auto_participant_recording_configuration) if name and not isinstance(name, str): raise TypeError("Expected argument 'name' to be a str") pulumi.set(__self__, "name", name) @@ -49,6 +54,11 @@ def arn(self) -> Optional[str]: """ return pulumi.get(self, "arn") + @property + @pulumi.getter(name="autoParticipantRecordingConfiguration") + def auto_participant_recording_configuration(self) -> Optional['outputs.StageAutoParticipantRecordingConfiguration']: + return pulumi.get(self, "auto_participant_recording_configuration") + @property @pulumi.getter def name(self) -> Optional[str]: @@ -74,6 +84,7 @@ def __await__(self): return GetStageResult( active_session_id=self.active_session_id, arn=self.arn, + auto_participant_recording_configuration=self.auto_participant_recording_configuration, name=self.name, tags=self.tags) @@ -94,6 +105,7 @@ def get_stage(arn: Optional[str] = None, return AwaitableGetStageResult( active_session_id=pulumi.get(__ret__, 'active_session_id'), arn=pulumi.get(__ret__, 'arn'), + auto_participant_recording_configuration=pulumi.get(__ret__, 'auto_participant_recording_configuration'), name=pulumi.get(__ret__, 'name'), tags=pulumi.get(__ret__, 'tags')) diff --git a/sdk/python/pulumi_aws_native/ivs/outputs.py b/sdk/python/pulumi_aws_native/ivs/outputs.py index cafc82fb98..3bd2aa27fa 100644 --- a/sdk/python/pulumi_aws_native/ivs/outputs.py +++ b/sdk/python/pulumi_aws_native/ivs/outputs.py @@ -16,6 +16,7 @@ 'RecordingConfigurationRenditionConfiguration', 'RecordingConfigurationS3DestinationConfiguration', 'RecordingConfigurationThumbnailConfiguration', + 'StageAutoParticipantRecordingConfiguration', 'StorageConfigurationS3StorageConfiguration', 'VideoProperties', ] @@ -212,6 +213,59 @@ def target_interval_seconds(self) -> Optional[int]: return pulumi.get(self, "target_interval_seconds") +@pulumi.output_type +class StageAutoParticipantRecordingConfiguration(dict): + """ + Configuration object for individual participant recording, to attach to the new stage. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "storageConfigurationArn": + suggest = "storage_configuration_arn" + elif key == "mediaTypes": + suggest = "media_types" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in StageAutoParticipantRecordingConfiguration. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + StageAutoParticipantRecordingConfiguration.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + StageAutoParticipantRecordingConfiguration.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + storage_configuration_arn: str, + media_types: Optional[Sequence['StageAutoParticipantRecordingConfigurationMediaTypesItem']] = None): + """ + Configuration object for individual participant recording, to attach to the new stage. + :param str storage_configuration_arn: ARN of the StorageConfiguration resource to use for individual participant recording. + :param Sequence['StageAutoParticipantRecordingConfigurationMediaTypesItem'] media_types: Types of media to be recorded. Default: AUDIO_VIDEO. + """ + pulumi.set(__self__, "storage_configuration_arn", storage_configuration_arn) + if media_types is not None: + pulumi.set(__self__, "media_types", media_types) + + @property + @pulumi.getter(name="storageConfigurationArn") + def storage_configuration_arn(self) -> str: + """ + ARN of the StorageConfiguration resource to use for individual participant recording. + """ + return pulumi.get(self, "storage_configuration_arn") + + @property + @pulumi.getter(name="mediaTypes") + def media_types(self) -> Optional[Sequence['StageAutoParticipantRecordingConfigurationMediaTypesItem']]: + """ + Types of media to be recorded. Default: AUDIO_VIDEO. + """ + return pulumi.get(self, "media_types") + + @pulumi.output_type class StorageConfigurationS3StorageConfiguration(dict): """ diff --git a/sdk/python/pulumi_aws_native/ivs/public_key.py b/sdk/python/pulumi_aws_native/ivs/public_key.py new file mode 100644 index 0000000000..076b1f2475 --- /dev/null +++ b/sdk/python/pulumi_aws_native/ivs/public_key.py @@ -0,0 +1,201 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** 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 _inputs as _root_inputs +from .. import outputs as _root_outputs + +__all__ = ['PublicKeyArgs', 'PublicKey'] + +@pulumi.input_type +class PublicKeyArgs: + def __init__(__self__, *, + name: Optional[pulumi.Input[str]] = None, + public_key_material: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]] = None): + """ + The set of arguments for constructing a PublicKey resource. + :param pulumi.Input[str] name: Name of the public key to be imported. The value does not need to be unique. + :param pulumi.Input[str] public_key_material: The public portion of a customer-generated key pair. + :param pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]] tags: A list of key-value pairs that contain metadata for the asset model. + """ + if name is not None: + pulumi.set(__self__, "name", name) + if public_key_material is not None: + pulumi.set(__self__, "public_key_material", public_key_material) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the public key to be imported. The value does not need to be unique. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="publicKeyMaterial") + def public_key_material(self) -> Optional[pulumi.Input[str]]: + """ + The public portion of a customer-generated key pair. + """ + return pulumi.get(self, "public_key_material") + + @public_key_material.setter + def public_key_material(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "public_key_material", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]]: + """ + A list of key-value pairs that contain metadata for the asset model. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]]): + pulumi.set(self, "tags", value) + + +class PublicKey(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + name: Optional[pulumi.Input[str]] = None, + public_key_material: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = None, + __props__=None): + """ + Resource Type definition for AWS::IVS::PublicKey + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] name: Name of the public key to be imported. The value does not need to be unique. + :param pulumi.Input[str] public_key_material: The public portion of a customer-generated key pair. + :param pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]] tags: A list of key-value pairs that contain metadata for the asset model. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: Optional[PublicKeyArgs] = None, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource Type definition for AWS::IVS::PublicKey + + :param str resource_name: The name of the resource. + :param PublicKeyArgs 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(PublicKeyArgs, 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, + name: Optional[pulumi.Input[str]] = None, + public_key_material: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = 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__ = PublicKeyArgs.__new__(PublicKeyArgs) + + __props__.__dict__["name"] = name + __props__.__dict__["public_key_material"] = public_key_material + __props__.__dict__["tags"] = tags + __props__.__dict__["arn"] = None + __props__.__dict__["fingerprint"] = None + replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["name", "publicKeyMaterial"]) + opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) + super(PublicKey, __self__).__init__( + 'aws-native:ivs:PublicKey', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'PublicKey': + """ + Get an existing PublicKey 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. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = PublicKeyArgs.__new__(PublicKeyArgs) + + __props__.__dict__["arn"] = None + __props__.__dict__["fingerprint"] = None + __props__.__dict__["name"] = None + __props__.__dict__["public_key_material"] = None + __props__.__dict__["tags"] = None + return PublicKey(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + """ + Key-pair identifier. + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter + def fingerprint(self) -> pulumi.Output[str]: + """ + Key-pair identifier. + """ + return pulumi.get(self, "fingerprint") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[Optional[str]]: + """ + Name of the public key to be imported. The value does not need to be unique. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="publicKeyMaterial") + def public_key_material(self) -> pulumi.Output[Optional[str]]: + """ + The public portion of a customer-generated key pair. + """ + return pulumi.get(self, "public_key_material") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Sequence['_root_outputs.Tag']]]: + """ + A list of key-value pairs that contain metadata for the asset model. + """ + return pulumi.get(self, "tags") + diff --git a/sdk/python/pulumi_aws_native/ivs/stage.py b/sdk/python/pulumi_aws_native/ivs/stage.py index 26b8ad1740..638ad377f0 100644 --- a/sdk/python/pulumi_aws_native/ivs/stage.py +++ b/sdk/python/pulumi_aws_native/ivs/stage.py @@ -8,14 +8,18 @@ import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload from .. import _utilities +from . import outputs from .. import _inputs as _root_inputs from .. import outputs as _root_outputs +from ._enums import * +from ._inputs import * __all__ = ['StageArgs', 'Stage'] @pulumi.input_type class StageArgs: def __init__(__self__, *, + auto_participant_recording_configuration: Optional[pulumi.Input['StageAutoParticipantRecordingConfigurationArgs']] = None, name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]] = None): """ @@ -23,11 +27,22 @@ def __init__(__self__, *, :param pulumi.Input[str] name: Stage name :param pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]] tags: An array of key-value pairs to apply to this resource. """ + if auto_participant_recording_configuration is not None: + pulumi.set(__self__, "auto_participant_recording_configuration", auto_participant_recording_configuration) if name is not None: pulumi.set(__self__, "name", name) if tags is not None: pulumi.set(__self__, "tags", tags) + @property + @pulumi.getter(name="autoParticipantRecordingConfiguration") + def auto_participant_recording_configuration(self) -> Optional[pulumi.Input['StageAutoParticipantRecordingConfigurationArgs']]: + return pulumi.get(self, "auto_participant_recording_configuration") + + @auto_participant_recording_configuration.setter + def auto_participant_recording_configuration(self, value: Optional[pulumi.Input['StageAutoParticipantRecordingConfigurationArgs']]): + pulumi.set(self, "auto_participant_recording_configuration", value) + @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: @@ -58,6 +73,7 @@ class Stage(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + auto_participant_recording_configuration: Optional[pulumi.Input[Union['StageAutoParticipantRecordingConfigurationArgs', 'StageAutoParticipantRecordingConfigurationArgsDict']]] = None, name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = None, __props__=None): @@ -93,6 +109,7 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + auto_participant_recording_configuration: Optional[pulumi.Input[Union['StageAutoParticipantRecordingConfigurationArgs', 'StageAutoParticipantRecordingConfigurationArgsDict']]] = None, name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = None, __props__=None): @@ -104,6 +121,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__ = StageArgs.__new__(StageArgs) + __props__.__dict__["auto_participant_recording_configuration"] = auto_participant_recording_configuration __props__.__dict__["name"] = name __props__.__dict__["tags"] = tags __props__.__dict__["active_session_id"] = None @@ -132,6 +150,7 @@ def get(resource_name: str, __props__.__dict__["active_session_id"] = None __props__.__dict__["arn"] = None + __props__.__dict__["auto_participant_recording_configuration"] = None __props__.__dict__["name"] = None __props__.__dict__["tags"] = None return Stage(resource_name, opts=opts, __props__=__props__) @@ -152,6 +171,11 @@ def arn(self) -> pulumi.Output[str]: """ return pulumi.get(self, "arn") + @property + @pulumi.getter(name="autoParticipantRecordingConfiguration") + def auto_participant_recording_configuration(self) -> pulumi.Output[Optional['outputs.StageAutoParticipantRecordingConfiguration']]: + return pulumi.get(self, "auto_participant_recording_configuration") + @property @pulumi.getter def name(self) -> pulumi.Output[Optional[str]]: