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

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

AWS Native v0.102.0 published on Tuesday, Apr 16, 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.102.0 published on Tuesday, Apr 16, 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,
                          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",
        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.
    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.
    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.
    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.
    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.
    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.
    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.

    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.102.0 published on Tuesday, Apr 16, 2024 by Pulumi