import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * Resource Type definition for AWS::ServiceCatalog::CloudFormationProduct
 */
export declare class CloudFormationProduct extends pulumi.CustomResource {
    /**
     * Get an existing CloudFormationProduct 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.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): CloudFormationProduct;
    /**
     * Returns true if the given object is an instance of CloudFormationProduct.  This is designed to work even
     * when multiple copies of the Pulumi SDK have been loaded into the same process.
     */
    static isInstance(obj: any): obj is CloudFormationProduct;
    /**
     * The language code.
     *
     * - `jp` - Japanese
     * - `zh` - Chinese
     */
    readonly acceptLanguage: pulumi.Output<string | undefined>;
    readonly awsId: pulumi.Output<string>;
    /**
     * The description of the product.
     */
    readonly description: pulumi.Output<string | undefined>;
    /**
     * The distributor of the product.
     */
    readonly distributor: pulumi.Output<string | undefined>;
    /**
     * The name of the product.
     */
    readonly name: pulumi.Output<string>;
    /**
     * The owner of the product.
     */
    readonly owner: pulumi.Output<string>;
    /**
     * The name of the product.
     */
    readonly productName: pulumi.Output<string>;
    /**
     * The type of product.
     */
    readonly productType: pulumi.Output<string | undefined>;
    /**
     * The IDs of the provisioning artifacts.
     */
    readonly provisioningArtifactIds: pulumi.Output<string>;
    /**
     * The names of the provisioning artifacts.
     */
    readonly provisioningArtifactNames: pulumi.Output<string>;
    /**
     * The configuration of the provisioning artifact (also known as a version).
     */
    readonly provisioningArtifactParameters: pulumi.Output<outputs.servicecatalog.CloudFormationProductProvisioningArtifactProperties[] | undefined>;
    /**
     * This property is turned off by default. If turned off, you can update provisioning artifacts or product attributes (such as description, distributor, name, owner, and more) and the associated provisioning artifacts will retain the same unique identifier. Provisioning artifacts are matched within the CloudFormationProduct resource, and only those that have been updated will be changed. Provisioning artifacts are matched by a combinaton of provisioning artifact template URL and name.
     *
     * If turned on, provisioning artifacts will be given a new unique identifier when you update the product or provisioning artifacts.
     */
    readonly replaceProvisioningArtifacts: pulumi.Output<boolean | undefined>;
    /**
     * A top level `ProductViewDetail` response containing details about the product’s connection. AWS Service Catalog returns this field for the `CreateProduct` , `UpdateProduct` , `DescribeProductAsAdmin` , and `SearchProductAsAdmin` APIs. This response contains the same fields as the `ConnectionParameters` request, with the addition of the `LastSync` response.
     */
    readonly sourceConnection: pulumi.Output<outputs.servicecatalog.CloudFormationProductSourceConnection | undefined>;
    /**
     * The support information about the product.
     */
    readonly supportDescription: pulumi.Output<string | undefined>;
    /**
     * The contact email for product support.
     */
    readonly supportEmail: pulumi.Output<string | undefined>;
    /**
     * The contact URL for product support.
     *
     * `^https?:\/\//` / is the pattern used to validate SupportUrl.
     */
    readonly supportUrl: pulumi.Output<string | undefined>;
    /**
     * One or more tags.
     */
    readonly tags: pulumi.Output<outputs.Tag[] | undefined>;
    /**
     * Create a CloudFormationProduct 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: CloudFormationProductArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * The set of arguments for constructing a CloudFormationProduct resource.
 */
export interface CloudFormationProductArgs {
    /**
     * The language code.
     *
     * - `jp` - Japanese
     * - `zh` - Chinese
     */
    acceptLanguage?: pulumi.Input<string>;
    /**
     * The description of the product.
     */
    description?: pulumi.Input<string>;
    /**
     * The distributor of the product.
     */
    distributor?: pulumi.Input<string>;
    /**
     * The name of the product.
     */
    name?: pulumi.Input<string>;
    /**
     * The owner of the product.
     */
    owner: pulumi.Input<string>;
    /**
     * The type of product.
     */
    productType?: pulumi.Input<string>;
    /**
     * The configuration of the provisioning artifact (also known as a version).
     */
    provisioningArtifactParameters?: pulumi.Input<pulumi.Input<inputs.servicecatalog.CloudFormationProductProvisioningArtifactPropertiesArgs>[]>;
    /**
     * This property is turned off by default. If turned off, you can update provisioning artifacts or product attributes (such as description, distributor, name, owner, and more) and the associated provisioning artifacts will retain the same unique identifier. Provisioning artifacts are matched within the CloudFormationProduct resource, and only those that have been updated will be changed. Provisioning artifacts are matched by a combinaton of provisioning artifact template URL and name.
     *
     * If turned on, provisioning artifacts will be given a new unique identifier when you update the product or provisioning artifacts.
     */
    replaceProvisioningArtifacts?: pulumi.Input<boolean>;
    /**
     * A top level `ProductViewDetail` response containing details about the product’s connection. AWS Service Catalog returns this field for the `CreateProduct` , `UpdateProduct` , `DescribeProductAsAdmin` , and `SearchProductAsAdmin` APIs. This response contains the same fields as the `ConnectionParameters` request, with the addition of the `LastSync` response.
     */
    sourceConnection?: pulumi.Input<inputs.servicecatalog.CloudFormationProductSourceConnectionArgs>;
    /**
     * The support information about the product.
     */
    supportDescription?: pulumi.Input<string>;
    /**
     * The contact email for product support.
     */
    supportEmail?: pulumi.Input<string>;
    /**
     * The contact URL for product support.
     *
     * `^https?:\/\//` / is the pattern used to validate SupportUrl.
     */
    supportUrl?: pulumi.Input<string>;
    /**
     * One or more tags.
     */
    tags?: pulumi.Input<pulumi.Input<inputs.TagArgs>[]>;
}
