1. Packages
  2. AWS Native
  3. API Docs
  4. ExtensionResource

AWS Native is in preview. AWS Classic is fully supported.

AWS Native v0.103.0 published on Monday, Apr 22, 2024 by Pulumi

aws-native.ExtensionResource

Explore with Pulumi AI

aws-native logo

AWS Native is in preview. AWS Classic is fully supported.

AWS Native v0.103.0 published on Monday, Apr 22, 2024 by Pulumi

    A special resource that enables deploying CloudFormation Extensions (third-party resources). An extension has to be pre-registered in your AWS account in order to use this resource.

    Create ExtensionResource Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new ExtensionResource(name: string, args: ExtensionResourceArgs, opts?: CustomResourceOptions);
    @overload
    def ExtensionResource(resource_name: str,
                          args: ExtensionResourceArgs,
                          opts: Optional[ResourceOptions] = None)
    
    @overload
    def ExtensionResource(resource_name: str,
                          opts: Optional[ResourceOptions] = None,
                          properties: Optional[Mapping[str, Any]] = None,
                          type: Optional[str] = None,
                          auto_naming: Optional[AutoNamingArgs] = None,
                          create_only: Optional[Sequence[str]] = None,
                          tags_property: Optional[str] = None,
                          tags_style: Optional[str] = None,
                          write_only: Optional[Sequence[str]] = None)
    func NewExtensionResource(ctx *Context, name string, args ExtensionResourceArgs, opts ...ResourceOption) (*ExtensionResource, error)
    public ExtensionResource(string name, ExtensionResourceArgs args, CustomResourceOptions? opts = null)
    public ExtensionResource(String name, ExtensionResourceArgs args)
    public ExtensionResource(String name, ExtensionResourceArgs args, CustomResourceOptions options)
    
    type: aws-native:ExtensionResource
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args ExtensionResourceArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args ExtensionResourceArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args ExtensionResourceArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ExtensionResourceArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args ExtensionResourceArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Example

    The following reference example uses placeholder values for all input properties.

    Coming soon!
    
    Coming soon!
    
    Coming soon!
    
    Coming soon!
    
    const extensionResourceResource = new aws_native.ExtensionResource("extensionResourceResource", {
        properties: {
            string: "any",
        },
        type: "string",
        autoNaming: {
            maxLength: 0,
            minLength: 0,
            propertyName: "string",
        },
        createOnly: ["string"],
        tagsProperty: "string",
        tagsStyle: "string",
        writeOnly: ["string"],
    });
    
    Coming soon!
    

    ExtensionResource Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The ExtensionResource resource accepts the following input properties:

    Properties Dictionary<string, object>
    Property bag containing the properties for the resource. These should be defined using the casing expected by the CloudControl API as these values are sent exact as provided.
    Type string
    CloudFormation type name. This has three parts, each separated by two colons. For AWS resources this starts with AWS:: e.g. AWS::Logs::LogGroup. Third party resources should use a namespace prefix e.g. MyCompany::MyService::MyResource.
    AutoNaming Pulumi.AwsNative.Inputs.AutoNaming
    Optional auto-naming specification for the resource. If provided and the name is not specified manually, the provider will automatically generate a name based on the Pulumi resource name and a random suffix.
    CreateOnly List<string>
    Property names as defined by createOnlyProperties in the CloudFormation schema. Create-only properties can't be set during updates, so will not be included in patches even if they are also marked as write-only, and will cause an error if attempted to be updated. Therefore any property here should also be included in the replaceOnChanges resource option too. In the CloudFormation schema these are fully qualified property paths (e.g. /properties/AccessToken) whereas here we only include the top-level property name (e.g. AccessToken).
    TagsProperty string
    Optional name of the property containing the tags. Defaults to "Tags" if the tagsStyle is set to either "stringMap" or "keyValueArray". This is used to apply default tags to the resource and can be ignored if not using default tags.
    TagsStyle string
    Optional style of tags this resource uses. Valid values are "stringMap", "keyValueArray" or "none". Defaults to keyValueArray if tagsProperty is set. This is used to apply default tags to the resource and can be ignored if not using default tags.
    WriteOnly List<string>
    Property names as defined by writeOnlyProperties in the CloudFormation schema. Write-only properties are not returned during read operations and have to be included in all update operations as CloudControl itself can't read their previous values. In the CloudFormation schema these are fully qualified property paths (e.g. /properties/AccessToken) whereas here we only include the top-level property name (e.g. AccessToken).
    Properties map[string]interface{}
    Property bag containing the properties for the resource. These should be defined using the casing expected by the CloudControl API as these values are sent exact as provided.
    Type string
    CloudFormation type name. This has three parts, each separated by two colons. For AWS resources this starts with AWS:: e.g. AWS::Logs::LogGroup. Third party resources should use a namespace prefix e.g. MyCompany::MyService::MyResource.
    AutoNaming AutoNamingArgs
    Optional auto-naming specification for the resource. If provided and the name is not specified manually, the provider will automatically generate a name based on the Pulumi resource name and a random suffix.
    CreateOnly []string
    Property names as defined by createOnlyProperties in the CloudFormation schema. Create-only properties can't be set during updates, so will not be included in patches even if they are also marked as write-only, and will cause an error if attempted to be updated. Therefore any property here should also be included in the replaceOnChanges resource option too. In the CloudFormation schema these are fully qualified property paths (e.g. /properties/AccessToken) whereas here we only include the top-level property name (e.g. AccessToken).
    TagsProperty string
    Optional name of the property containing the tags. Defaults to "Tags" if the tagsStyle is set to either "stringMap" or "keyValueArray". This is used to apply default tags to the resource and can be ignored if not using default tags.
    TagsStyle string
    Optional style of tags this resource uses. Valid values are "stringMap", "keyValueArray" or "none". Defaults to keyValueArray if tagsProperty is set. This is used to apply default tags to the resource and can be ignored if not using default tags.
    WriteOnly []string
    Property names as defined by writeOnlyProperties in the CloudFormation schema. Write-only properties are not returned during read operations and have to be included in all update operations as CloudControl itself can't read their previous values. In the CloudFormation schema these are fully qualified property paths (e.g. /properties/AccessToken) whereas here we only include the top-level property name (e.g. AccessToken).
    properties Map<String,Object>
    Property bag containing the properties for the resource. These should be defined using the casing expected by the CloudControl API as these values are sent exact as provided.
    type String
    CloudFormation type name. This has three parts, each separated by two colons. For AWS resources this starts with AWS:: e.g. AWS::Logs::LogGroup. Third party resources should use a namespace prefix e.g. MyCompany::MyService::MyResource.
    autoNaming AutoNaming
    Optional auto-naming specification for the resource. If provided and the name is not specified manually, the provider will automatically generate a name based on the Pulumi resource name and a random suffix.
    createOnly List<String>
    Property names as defined by createOnlyProperties in the CloudFormation schema. Create-only properties can't be set during updates, so will not be included in patches even if they are also marked as write-only, and will cause an error if attempted to be updated. Therefore any property here should also be included in the replaceOnChanges resource option too. In the CloudFormation schema these are fully qualified property paths (e.g. /properties/AccessToken) whereas here we only include the top-level property name (e.g. AccessToken).
    tagsProperty String
    Optional name of the property containing the tags. Defaults to "Tags" if the tagsStyle is set to either "stringMap" or "keyValueArray". This is used to apply default tags to the resource and can be ignored if not using default tags.
    tagsStyle String
    Optional style of tags this resource uses. Valid values are "stringMap", "keyValueArray" or "none". Defaults to keyValueArray if tagsProperty is set. This is used to apply default tags to the resource and can be ignored if not using default tags.
    writeOnly List<String>
    Property names as defined by writeOnlyProperties in the CloudFormation schema. Write-only properties are not returned during read operations and have to be included in all update operations as CloudControl itself can't read their previous values. In the CloudFormation schema these are fully qualified property paths (e.g. /properties/AccessToken) whereas here we only include the top-level property name (e.g. AccessToken).
    properties {[key: string]: any}
    Property bag containing the properties for the resource. These should be defined using the casing expected by the CloudControl API as these values are sent exact as provided.
    type string
    CloudFormation type name. This has three parts, each separated by two colons. For AWS resources this starts with AWS:: e.g. AWS::Logs::LogGroup. Third party resources should use a namespace prefix e.g. MyCompany::MyService::MyResource.
    autoNaming AutoNaming
    Optional auto-naming specification for the resource. If provided and the name is not specified manually, the provider will automatically generate a name based on the Pulumi resource name and a random suffix.
    createOnly string[]
    Property names as defined by createOnlyProperties in the CloudFormation schema. Create-only properties can't be set during updates, so will not be included in patches even if they are also marked as write-only, and will cause an error if attempted to be updated. Therefore any property here should also be included in the replaceOnChanges resource option too. In the CloudFormation schema these are fully qualified property paths (e.g. /properties/AccessToken) whereas here we only include the top-level property name (e.g. AccessToken).
    tagsProperty string
    Optional name of the property containing the tags. Defaults to "Tags" if the tagsStyle is set to either "stringMap" or "keyValueArray". This is used to apply default tags to the resource and can be ignored if not using default tags.
    tagsStyle string
    Optional style of tags this resource uses. Valid values are "stringMap", "keyValueArray" or "none". Defaults to keyValueArray if tagsProperty is set. This is used to apply default tags to the resource and can be ignored if not using default tags.
    writeOnly string[]
    Property names as defined by writeOnlyProperties in the CloudFormation schema. Write-only properties are not returned during read operations and have to be included in all update operations as CloudControl itself can't read their previous values. In the CloudFormation schema these are fully qualified property paths (e.g. /properties/AccessToken) whereas here we only include the top-level property name (e.g. AccessToken).
    properties Mapping[str, Any]
    Property bag containing the properties for the resource. These should be defined using the casing expected by the CloudControl API as these values are sent exact as provided.
    type str
    CloudFormation type name. This has three parts, each separated by two colons. For AWS resources this starts with AWS:: e.g. AWS::Logs::LogGroup. Third party resources should use a namespace prefix e.g. MyCompany::MyService::MyResource.
    auto_naming AutoNamingArgs
    Optional auto-naming specification for the resource. If provided and the name is not specified manually, the provider will automatically generate a name based on the Pulumi resource name and a random suffix.
    create_only Sequence[str]
    Property names as defined by createOnlyProperties in the CloudFormation schema. Create-only properties can't be set during updates, so will not be included in patches even if they are also marked as write-only, and will cause an error if attempted to be updated. Therefore any property here should also be included in the replaceOnChanges resource option too. In the CloudFormation schema these are fully qualified property paths (e.g. /properties/AccessToken) whereas here we only include the top-level property name (e.g. AccessToken).
    tags_property str
    Optional name of the property containing the tags. Defaults to "Tags" if the tagsStyle is set to either "stringMap" or "keyValueArray". This is used to apply default tags to the resource and can be ignored if not using default tags.
    tags_style str
    Optional style of tags this resource uses. Valid values are "stringMap", "keyValueArray" or "none". Defaults to keyValueArray if tagsProperty is set. This is used to apply default tags to the resource and can be ignored if not using default tags.
    write_only Sequence[str]
    Property names as defined by writeOnlyProperties in the CloudFormation schema. Write-only properties are not returned during read operations and have to be included in all update operations as CloudControl itself can't read their previous values. In the CloudFormation schema these are fully qualified property paths (e.g. /properties/AccessToken) whereas here we only include the top-level property name (e.g. AccessToken).
    properties Map<Any>
    Property bag containing the properties for the resource. These should be defined using the casing expected by the CloudControl API as these values are sent exact as provided.
    type String
    CloudFormation type name. This has three parts, each separated by two colons. For AWS resources this starts with AWS:: e.g. AWS::Logs::LogGroup. Third party resources should use a namespace prefix e.g. MyCompany::MyService::MyResource.
    autoNaming Property Map
    Optional auto-naming specification for the resource. If provided and the name is not specified manually, the provider will automatically generate a name based on the Pulumi resource name and a random suffix.
    createOnly List<String>
    Property names as defined by createOnlyProperties in the CloudFormation schema. Create-only properties can't be set during updates, so will not be included in patches even if they are also marked as write-only, and will cause an error if attempted to be updated. Therefore any property here should also be included in the replaceOnChanges resource option too. In the CloudFormation schema these are fully qualified property paths (e.g. /properties/AccessToken) whereas here we only include the top-level property name (e.g. AccessToken).
    tagsProperty String
    Optional name of the property containing the tags. Defaults to "Tags" if the tagsStyle is set to either "stringMap" or "keyValueArray". This is used to apply default tags to the resource and can be ignored if not using default tags.
    tagsStyle String
    Optional style of tags this resource uses. Valid values are "stringMap", "keyValueArray" or "none". Defaults to keyValueArray if tagsProperty is set. This is used to apply default tags to the resource and can be ignored if not using default tags.
    writeOnly List<String>
    Property names as defined by writeOnlyProperties in the CloudFormation schema. Write-only properties are not returned during read operations and have to be included in all update operations as CloudControl itself can't read their previous values. In the CloudFormation schema these are fully qualified property paths (e.g. /properties/AccessToken) whereas here we only include the top-level property name (e.g. AccessToken).

    Outputs

    All input properties are implicitly available as output properties. Additionally, the ExtensionResource resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    Outputs Dictionary<string, object>
    Dictionary of the extension resource attributes.
    Id string
    The provider-assigned unique ID for this managed resource.
    Outputs map[string]interface{}
    Dictionary of the extension resource attributes.
    id String
    The provider-assigned unique ID for this managed resource.
    outputs Map<String,Object>
    Dictionary of the extension resource attributes.
    id string
    The provider-assigned unique ID for this managed resource.
    outputs {[key: string]: any}
    Dictionary of the extension resource attributes.
    id str
    The provider-assigned unique ID for this managed resource.
    outputs Mapping[str, Any]
    Dictionary of the extension resource attributes.
    id String
    The provider-assigned unique ID for this managed resource.
    outputs Map<Any>
    Dictionary of the extension resource attributes.

    Supporting Types

    AutoNaming, AutoNamingArgs

    MaxLength int
    The maximum length of the name.
    MinLength int
    The minimum length of the name.
    PropertyName string
    The name of the property in the Cloud Control payload that is used to set the name of the resource.
    MaxLength int
    The maximum length of the name.
    MinLength int
    The minimum length of the name.
    PropertyName string
    The name of the property in the Cloud Control payload that is used to set the name of the resource.
    maxLength Integer
    The maximum length of the name.
    minLength Integer
    The minimum length of the name.
    propertyName String
    The name of the property in the Cloud Control payload that is used to set the name of the resource.
    maxLength number
    The maximum length of the name.
    minLength number
    The minimum length of the name.
    propertyName string
    The name of the property in the Cloud Control payload that is used to set the name of the resource.
    max_length int
    The maximum length of the name.
    min_length int
    The minimum length of the name.
    property_name str
    The name of the property in the Cloud Control payload that is used to set the name of the resource.
    maxLength Number
    The maximum length of the name.
    minLength Number
    The minimum length of the name.
    propertyName String
    The name of the property in the Cloud Control payload that is used to set the name of the resource.

    Package Details

    Repository
    AWS Native pulumi/pulumi-aws-native
    License
    Apache-2.0
    aws-native logo

    AWS Native is in preview. AWS Classic is fully supported.

    AWS Native v0.103.0 published on Monday, Apr 22, 2024 by Pulumi