1. Packages
  2. AWS Cloud Control
  3. API Docs
  4. kendra
  5. Index

We recommend new projects start with resources from the AWS provider.

AWS Cloud Control v1.9.0 published on Monday, Nov 18, 2024 by Pulumi

aws-native.kendra.Index

Explore with Pulumi AI

aws-native logo

We recommend new projects start with resources from the AWS provider.

AWS Cloud Control v1.9.0 published on Monday, Nov 18, 2024 by Pulumi

    A Kendra index

    Create Index Resource

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

    Constructor syntax

    new Index(name: string, args: IndexArgs, opts?: CustomResourceOptions);
    @overload
    def Index(resource_name: str,
              args: IndexArgs,
              opts: Optional[ResourceOptions] = None)
    
    @overload
    def Index(resource_name: str,
              opts: Optional[ResourceOptions] = None,
              edition: Optional[IndexEdition] = None,
              role_arn: Optional[str] = None,
              capacity_units: Optional[IndexCapacityUnitsConfigurationArgs] = None,
              description: Optional[str] = None,
              document_metadata_configurations: Optional[Sequence[IndexDocumentMetadataConfigurationArgs]] = None,
              name: Optional[str] = None,
              server_side_encryption_configuration: Optional[IndexServerSideEncryptionConfigurationArgs] = None,
              tags: Optional[Sequence[_root_inputs.TagArgs]] = None,
              user_context_policy: Optional[IndexUserContextPolicy] = None,
              user_token_configurations: Optional[Sequence[IndexUserTokenConfigurationArgs]] = None)
    func NewIndex(ctx *Context, name string, args IndexArgs, opts ...ResourceOption) (*Index, error)
    public Index(string name, IndexArgs args, CustomResourceOptions? opts = null)
    public Index(String name, IndexArgs args)
    public Index(String name, IndexArgs args, CustomResourceOptions options)
    
    type: aws-native:kendra:Index
    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 IndexArgs
    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 IndexArgs
    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 IndexArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args IndexArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args IndexArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Index Resource Properties

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

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The Index resource accepts the following input properties:

    Edition Pulumi.AwsNative.Kendra.IndexEdition
    Indicates whether the index is a Enterprise Edition index or a Developer Edition index. Valid values are DEVELOPER_EDITION and ENTERPRISE_EDITION .
    RoleArn string
    An IAM role that gives Amazon Kendra permissions to access your Amazon CloudWatch logs and metrics. This is also the role used when you use the BatchPutDocument operation to index documents from an Amazon S3 bucket.
    CapacityUnits Pulumi.AwsNative.Kendra.Inputs.IndexCapacityUnitsConfiguration
    Capacity units
    Description string
    A description for the index
    DocumentMetadataConfigurations List<Pulumi.AwsNative.Kendra.Inputs.IndexDocumentMetadataConfiguration>
    Document metadata configurations
    Name string
    The name of the index.
    ServerSideEncryptionConfiguration Pulumi.AwsNative.Kendra.Inputs.IndexServerSideEncryptionConfiguration
    Server side encryption configuration
    Tags List<Pulumi.AwsNative.Inputs.Tag>
    Tags for labeling the index
    UserContextPolicy Pulumi.AwsNative.Kendra.IndexUserContextPolicy

    The user context policy.

    ATTRIBUTE_FILTER

    • All indexed content is searchable and displayable for all users. If you want to filter search results on user context, you can use the attribute filters of _user_id and _group_ids or you can provide user and group information in UserContext .

    USER_TOKEN

    • Enables token-based user access control to filter search results on user context. All documents with no access control and all documents accessible to the user will be searchable and displayable.
    UserTokenConfigurations List<Pulumi.AwsNative.Kendra.Inputs.IndexUserTokenConfiguration>
    Defines the type of user token used for the index.
    Edition IndexEdition
    Indicates whether the index is a Enterprise Edition index or a Developer Edition index. Valid values are DEVELOPER_EDITION and ENTERPRISE_EDITION .
    RoleArn string
    An IAM role that gives Amazon Kendra permissions to access your Amazon CloudWatch logs and metrics. This is also the role used when you use the BatchPutDocument operation to index documents from an Amazon S3 bucket.
    CapacityUnits IndexCapacityUnitsConfigurationArgs
    Capacity units
    Description string
    A description for the index
    DocumentMetadataConfigurations []IndexDocumentMetadataConfigurationArgs
    Document metadata configurations
    Name string
    The name of the index.
    ServerSideEncryptionConfiguration IndexServerSideEncryptionConfigurationArgs
    Server side encryption configuration
    Tags TagArgs
    Tags for labeling the index
    UserContextPolicy IndexUserContextPolicy

    The user context policy.

    ATTRIBUTE_FILTER

    • All indexed content is searchable and displayable for all users. If you want to filter search results on user context, you can use the attribute filters of _user_id and _group_ids or you can provide user and group information in UserContext .

    USER_TOKEN

    • Enables token-based user access control to filter search results on user context. All documents with no access control and all documents accessible to the user will be searchable and displayable.
    UserTokenConfigurations []IndexUserTokenConfigurationArgs
    Defines the type of user token used for the index.
    edition IndexEdition
    Indicates whether the index is a Enterprise Edition index or a Developer Edition index. Valid values are DEVELOPER_EDITION and ENTERPRISE_EDITION .
    roleArn String
    An IAM role that gives Amazon Kendra permissions to access your Amazon CloudWatch logs and metrics. This is also the role used when you use the BatchPutDocument operation to index documents from an Amazon S3 bucket.
    capacityUnits IndexCapacityUnitsConfiguration
    Capacity units
    description String
    A description for the index
    documentMetadataConfigurations List<IndexDocumentMetadataConfiguration>
    Document metadata configurations
    name String
    The name of the index.
    serverSideEncryptionConfiguration IndexServerSideEncryptionConfiguration
    Server side encryption configuration
    tags List<Tag>
    Tags for labeling the index
    userContextPolicy IndexUserContextPolicy

    The user context policy.

    ATTRIBUTE_FILTER

    • All indexed content is searchable and displayable for all users. If you want to filter search results on user context, you can use the attribute filters of _user_id and _group_ids or you can provide user and group information in UserContext .

    USER_TOKEN

    • Enables token-based user access control to filter search results on user context. All documents with no access control and all documents accessible to the user will be searchable and displayable.
    userTokenConfigurations List<IndexUserTokenConfiguration>
    Defines the type of user token used for the index.
    edition IndexEdition
    Indicates whether the index is a Enterprise Edition index or a Developer Edition index. Valid values are DEVELOPER_EDITION and ENTERPRISE_EDITION .
    roleArn string
    An IAM role that gives Amazon Kendra permissions to access your Amazon CloudWatch logs and metrics. This is also the role used when you use the BatchPutDocument operation to index documents from an Amazon S3 bucket.
    capacityUnits IndexCapacityUnitsConfiguration
    Capacity units
    description string
    A description for the index
    documentMetadataConfigurations IndexDocumentMetadataConfiguration[]
    Document metadata configurations
    name string
    The name of the index.
    serverSideEncryptionConfiguration IndexServerSideEncryptionConfiguration
    Server side encryption configuration
    tags Tag[]
    Tags for labeling the index
    userContextPolicy IndexUserContextPolicy

    The user context policy.

    ATTRIBUTE_FILTER

    • All indexed content is searchable and displayable for all users. If you want to filter search results on user context, you can use the attribute filters of _user_id and _group_ids or you can provide user and group information in UserContext .

    USER_TOKEN

    • Enables token-based user access control to filter search results on user context. All documents with no access control and all documents accessible to the user will be searchable and displayable.
    userTokenConfigurations IndexUserTokenConfiguration[]
    Defines the type of user token used for the index.
    edition IndexEdition
    Indicates whether the index is a Enterprise Edition index or a Developer Edition index. Valid values are DEVELOPER_EDITION and ENTERPRISE_EDITION .
    role_arn str
    An IAM role that gives Amazon Kendra permissions to access your Amazon CloudWatch logs and metrics. This is also the role used when you use the BatchPutDocument operation to index documents from an Amazon S3 bucket.
    capacity_units IndexCapacityUnitsConfigurationArgs
    Capacity units
    description str
    A description for the index
    document_metadata_configurations Sequence[IndexDocumentMetadataConfigurationArgs]
    Document metadata configurations
    name str
    The name of the index.
    server_side_encryption_configuration IndexServerSideEncryptionConfigurationArgs
    Server side encryption configuration
    tags Sequence[TagArgs]
    Tags for labeling the index
    user_context_policy IndexUserContextPolicy

    The user context policy.

    ATTRIBUTE_FILTER

    • All indexed content is searchable and displayable for all users. If you want to filter search results on user context, you can use the attribute filters of _user_id and _group_ids or you can provide user and group information in UserContext .

    USER_TOKEN

    • Enables token-based user access control to filter search results on user context. All documents with no access control and all documents accessible to the user will be searchable and displayable.
    user_token_configurations Sequence[IndexUserTokenConfigurationArgs]
    Defines the type of user token used for the index.
    edition "DEVELOPER_EDITION" | "ENTERPRISE_EDITION"
    Indicates whether the index is a Enterprise Edition index or a Developer Edition index. Valid values are DEVELOPER_EDITION and ENTERPRISE_EDITION .
    roleArn String
    An IAM role that gives Amazon Kendra permissions to access your Amazon CloudWatch logs and metrics. This is also the role used when you use the BatchPutDocument operation to index documents from an Amazon S3 bucket.
    capacityUnits Property Map
    Capacity units
    description String
    A description for the index
    documentMetadataConfigurations List<Property Map>
    Document metadata configurations
    name String
    The name of the index.
    serverSideEncryptionConfiguration Property Map
    Server side encryption configuration
    tags List<Property Map>
    Tags for labeling the index
    userContextPolicy "ATTRIBUTE_FILTER" | "USER_TOKEN"

    The user context policy.

    ATTRIBUTE_FILTER

    • All indexed content is searchable and displayable for all users. If you want to filter search results on user context, you can use the attribute filters of _user_id and _group_ids or you can provide user and group information in UserContext .

    USER_TOKEN

    • Enables token-based user access control to filter search results on user context. All documents with no access control and all documents accessible to the user will be searchable and displayable.
    userTokenConfigurations List<Property Map>
    Defines the type of user token used for the index.

    Outputs

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

    Arn string
    The Amazon Resource Name (ARN) of the index. For example: arn:aws:kendra:us-west-2:111122223333:index/0123456789abcdef .
    AwsId string
    The identifier for the index. For example: f4aeaa10-8056-4b2c-a343-522ca0f41234 .
    Id string
    The provider-assigned unique ID for this managed resource.
    Arn string
    The Amazon Resource Name (ARN) of the index. For example: arn:aws:kendra:us-west-2:111122223333:index/0123456789abcdef .
    AwsId string
    The identifier for the index. For example: f4aeaa10-8056-4b2c-a343-522ca0f41234 .
    Id string
    The provider-assigned unique ID for this managed resource.
    arn String
    The Amazon Resource Name (ARN) of the index. For example: arn:aws:kendra:us-west-2:111122223333:index/0123456789abcdef .
    awsId String
    The identifier for the index. For example: f4aeaa10-8056-4b2c-a343-522ca0f41234 .
    id String
    The provider-assigned unique ID for this managed resource.
    arn string
    The Amazon Resource Name (ARN) of the index. For example: arn:aws:kendra:us-west-2:111122223333:index/0123456789abcdef .
    awsId string
    The identifier for the index. For example: f4aeaa10-8056-4b2c-a343-522ca0f41234 .
    id string
    The provider-assigned unique ID for this managed resource.
    arn str
    The Amazon Resource Name (ARN) of the index. For example: arn:aws:kendra:us-west-2:111122223333:index/0123456789abcdef .
    aws_id str
    The identifier for the index. For example: f4aeaa10-8056-4b2c-a343-522ca0f41234 .
    id str
    The provider-assigned unique ID for this managed resource.
    arn String
    The Amazon Resource Name (ARN) of the index. For example: arn:aws:kendra:us-west-2:111122223333:index/0123456789abcdef .
    awsId String
    The identifier for the index. For example: f4aeaa10-8056-4b2c-a343-522ca0f41234 .
    id String
    The provider-assigned unique ID for this managed resource.

    Supporting Types

    IndexCapacityUnitsConfiguration, IndexCapacityUnitsConfigurationArgs

    QueryCapacityUnits int

    The amount of extra query capacity for an index and GetQuerySuggestions capacity.

    A single extra capacity unit for an index provides 0.1 queries per second or approximately 8,000 queries per day. You can add up to 100 extra capacity units.

    GetQuerySuggestions capacity is five times the provisioned query capacity for an index, or the base capacity of 2.5 calls per second, whichever is higher. For example, the base capacity for an index is 0.1 queries per second, and GetQuerySuggestions capacity has a base of 2.5 calls per second. If you add another 0.1 queries per second to total 0.2 queries per second for an index, the GetQuerySuggestions capacity is 2.5 calls per second (higher than five times 0.2 queries per second).

    StorageCapacityUnits int
    The amount of extra storage capacity for an index. A single capacity unit provides 30 GB of storage space or 100,000 documents, whichever is reached first. You can add up to 100 extra capacity units.
    QueryCapacityUnits int

    The amount of extra query capacity for an index and GetQuerySuggestions capacity.

    A single extra capacity unit for an index provides 0.1 queries per second or approximately 8,000 queries per day. You can add up to 100 extra capacity units.

    GetQuerySuggestions capacity is five times the provisioned query capacity for an index, or the base capacity of 2.5 calls per second, whichever is higher. For example, the base capacity for an index is 0.1 queries per second, and GetQuerySuggestions capacity has a base of 2.5 calls per second. If you add another 0.1 queries per second to total 0.2 queries per second for an index, the GetQuerySuggestions capacity is 2.5 calls per second (higher than five times 0.2 queries per second).

    StorageCapacityUnits int
    The amount of extra storage capacity for an index. A single capacity unit provides 30 GB of storage space or 100,000 documents, whichever is reached first. You can add up to 100 extra capacity units.
    queryCapacityUnits Integer

    The amount of extra query capacity for an index and GetQuerySuggestions capacity.

    A single extra capacity unit for an index provides 0.1 queries per second or approximately 8,000 queries per day. You can add up to 100 extra capacity units.

    GetQuerySuggestions capacity is five times the provisioned query capacity for an index, or the base capacity of 2.5 calls per second, whichever is higher. For example, the base capacity for an index is 0.1 queries per second, and GetQuerySuggestions capacity has a base of 2.5 calls per second. If you add another 0.1 queries per second to total 0.2 queries per second for an index, the GetQuerySuggestions capacity is 2.5 calls per second (higher than five times 0.2 queries per second).

    storageCapacityUnits Integer
    The amount of extra storage capacity for an index. A single capacity unit provides 30 GB of storage space or 100,000 documents, whichever is reached first. You can add up to 100 extra capacity units.
    queryCapacityUnits number

    The amount of extra query capacity for an index and GetQuerySuggestions capacity.

    A single extra capacity unit for an index provides 0.1 queries per second or approximately 8,000 queries per day. You can add up to 100 extra capacity units.

    GetQuerySuggestions capacity is five times the provisioned query capacity for an index, or the base capacity of 2.5 calls per second, whichever is higher. For example, the base capacity for an index is 0.1 queries per second, and GetQuerySuggestions capacity has a base of 2.5 calls per second. If you add another 0.1 queries per second to total 0.2 queries per second for an index, the GetQuerySuggestions capacity is 2.5 calls per second (higher than five times 0.2 queries per second).

    storageCapacityUnits number
    The amount of extra storage capacity for an index. A single capacity unit provides 30 GB of storage space or 100,000 documents, whichever is reached first. You can add up to 100 extra capacity units.
    query_capacity_units int

    The amount of extra query capacity for an index and GetQuerySuggestions capacity.

    A single extra capacity unit for an index provides 0.1 queries per second or approximately 8,000 queries per day. You can add up to 100 extra capacity units.

    GetQuerySuggestions capacity is five times the provisioned query capacity for an index, or the base capacity of 2.5 calls per second, whichever is higher. For example, the base capacity for an index is 0.1 queries per second, and GetQuerySuggestions capacity has a base of 2.5 calls per second. If you add another 0.1 queries per second to total 0.2 queries per second for an index, the GetQuerySuggestions capacity is 2.5 calls per second (higher than five times 0.2 queries per second).

    storage_capacity_units int
    The amount of extra storage capacity for an index. A single capacity unit provides 30 GB of storage space or 100,000 documents, whichever is reached first. You can add up to 100 extra capacity units.
    queryCapacityUnits Number

    The amount of extra query capacity for an index and GetQuerySuggestions capacity.

    A single extra capacity unit for an index provides 0.1 queries per second or approximately 8,000 queries per day. You can add up to 100 extra capacity units.

    GetQuerySuggestions capacity is five times the provisioned query capacity for an index, or the base capacity of 2.5 calls per second, whichever is higher. For example, the base capacity for an index is 0.1 queries per second, and GetQuerySuggestions capacity has a base of 2.5 calls per second. If you add another 0.1 queries per second to total 0.2 queries per second for an index, the GetQuerySuggestions capacity is 2.5 calls per second (higher than five times 0.2 queries per second).

    storageCapacityUnits Number
    The amount of extra storage capacity for an index. A single capacity unit provides 30 GB of storage space or 100,000 documents, whichever is reached first. You can add up to 100 extra capacity units.

    IndexDocumentAttributeValueType, IndexDocumentAttributeValueTypeArgs

    StringValue
    STRING_VALUE
    StringListValue
    STRING_LIST_VALUE
    LongValue
    LONG_VALUE
    DateValue
    DATE_VALUE
    IndexDocumentAttributeValueTypeStringValue
    STRING_VALUE
    IndexDocumentAttributeValueTypeStringListValue
    STRING_LIST_VALUE
    IndexDocumentAttributeValueTypeLongValue
    LONG_VALUE
    IndexDocumentAttributeValueTypeDateValue
    DATE_VALUE
    StringValue
    STRING_VALUE
    StringListValue
    STRING_LIST_VALUE
    LongValue
    LONG_VALUE
    DateValue
    DATE_VALUE
    StringValue
    STRING_VALUE
    StringListValue
    STRING_LIST_VALUE
    LongValue
    LONG_VALUE
    DateValue
    DATE_VALUE
    STRING_VALUE
    STRING_VALUE
    STRING_LIST_VALUE
    STRING_LIST_VALUE
    LONG_VALUE
    LONG_VALUE
    DATE_VALUE
    DATE_VALUE
    "STRING_VALUE"
    STRING_VALUE
    "STRING_LIST_VALUE"
    STRING_LIST_VALUE
    "LONG_VALUE"
    LONG_VALUE
    "DATE_VALUE"
    DATE_VALUE

    IndexDocumentMetadataConfiguration, IndexDocumentMetadataConfigurationArgs

    IndexEdition, IndexEditionArgs

    DeveloperEdition
    DEVELOPER_EDITION
    EnterpriseEdition
    ENTERPRISE_EDITION
    IndexEditionDeveloperEdition
    DEVELOPER_EDITION
    IndexEditionEnterpriseEdition
    ENTERPRISE_EDITION
    DeveloperEdition
    DEVELOPER_EDITION
    EnterpriseEdition
    ENTERPRISE_EDITION
    DeveloperEdition
    DEVELOPER_EDITION
    EnterpriseEdition
    ENTERPRISE_EDITION
    DEVELOPER_EDITION
    DEVELOPER_EDITION
    ENTERPRISE_EDITION
    ENTERPRISE_EDITION
    "DEVELOPER_EDITION"
    DEVELOPER_EDITION
    "ENTERPRISE_EDITION"
    ENTERPRISE_EDITION

    IndexJsonTokenTypeConfiguration, IndexJsonTokenTypeConfigurationArgs

    IndexJwtTokenTypeConfiguration, IndexJwtTokenTypeConfigurationArgs

    IndexKeyLocation, IndexKeyLocationArgs

    Url
    URL
    SecretManager
    SECRET_MANAGER
    IndexKeyLocationUrl
    URL
    IndexKeyLocationSecretManager
    SECRET_MANAGER
    Url
    URL
    SecretManager
    SECRET_MANAGER
    Url
    URL
    SecretManager
    SECRET_MANAGER
    URL
    URL
    SECRET_MANAGER
    SECRET_MANAGER
    "URL"
    URL
    "SECRET_MANAGER"
    SECRET_MANAGER

    IndexOrder, IndexOrderArgs

    Ascending
    ASCENDING
    Descending
    DESCENDING
    IndexOrderAscending
    ASCENDING
    IndexOrderDescending
    DESCENDING
    Ascending
    ASCENDING
    Descending
    DESCENDING
    Ascending
    ASCENDING
    Descending
    DESCENDING
    ASCENDING
    ASCENDING
    DESCENDING
    DESCENDING
    "ASCENDING"
    ASCENDING
    "DESCENDING"
    DESCENDING

    IndexRelevance, IndexRelevanceArgs

    IndexSearch, IndexSearchArgs

    displayable Boolean
    facetable Boolean
    searchable Boolean
    sortable Boolean
    displayable boolean
    facetable boolean
    searchable boolean
    sortable boolean
    displayable Boolean
    facetable Boolean
    searchable Boolean
    sortable Boolean

    IndexServerSideEncryptionConfiguration, IndexServerSideEncryptionConfigurationArgs

    KmsKeyId string
    The identifier of the AWS KMS key . Amazon Kendra doesn't support asymmetric keys.
    KmsKeyId string
    The identifier of the AWS KMS key . Amazon Kendra doesn't support asymmetric keys.
    kmsKeyId String
    The identifier of the AWS KMS key . Amazon Kendra doesn't support asymmetric keys.
    kmsKeyId string
    The identifier of the AWS KMS key . Amazon Kendra doesn't support asymmetric keys.
    kms_key_id str
    The identifier of the AWS KMS key . Amazon Kendra doesn't support asymmetric keys.
    kmsKeyId String
    The identifier of the AWS KMS key . Amazon Kendra doesn't support asymmetric keys.

    IndexUserContextPolicy, IndexUserContextPolicyArgs

    AttributeFilter
    ATTRIBUTE_FILTER
    UserToken
    USER_TOKEN
    IndexUserContextPolicyAttributeFilter
    ATTRIBUTE_FILTER
    IndexUserContextPolicyUserToken
    USER_TOKEN
    AttributeFilter
    ATTRIBUTE_FILTER
    UserToken
    USER_TOKEN
    AttributeFilter
    ATTRIBUTE_FILTER
    UserToken
    USER_TOKEN
    ATTRIBUTE_FILTER
    ATTRIBUTE_FILTER
    USER_TOKEN
    USER_TOKEN
    "ATTRIBUTE_FILTER"
    ATTRIBUTE_FILTER
    "USER_TOKEN"
    USER_TOKEN

    IndexUserTokenConfiguration, IndexUserTokenConfigurationArgs

    IndexValueImportanceItem, IndexValueImportanceItemArgs

    Key string
    Value int
    Key string
    Value int
    key String
    value Integer
    key string
    value number
    key str
    value int
    key String
    value Number

    Tag, TagArgs

    Key string
    The key name of the tag
    Value string
    The value of the tag
    Key string
    The key name of the tag
    Value string
    The value of the tag
    key String
    The key name of the tag
    value String
    The value of the tag
    key string
    The key name of the tag
    value string
    The value of the tag
    key str
    The key name of the tag
    value str
    The value of the tag
    key String
    The key name of the tag
    value String
    The value of the tag

    Package Details

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

    We recommend new projects start with resources from the AWS provider.

    AWS Cloud Control v1.9.0 published on Monday, Nov 18, 2024 by Pulumi