import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * This resource provides the Software Source resource in Oracle Cloud Infrastructure Os Management Hub service.
 * Api doc link for the resource: https://docs.oracle.com/iaas/api/#/en/os-management/latest/SoftwareSource
 *
 * Example terraform configs related to the resource : https://github.com/oracle/terraform-provider-oci/tree/master/examples/os_management_hub
 *
 * Creates a new software source.
 *
 * ## Import
 *
 * SoftwareSources can be imported using the `id`, e.g.
 *
 * ```sh
 * $ pulumi import oci:OsManagementHub/softwareSource:SoftwareSource test_software_source "id"
 * ```
 */
export declare class SoftwareSource extends pulumi.CustomResource {
    /**
     * Get an existing SoftwareSource 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 state Any extra arguments used during the lookup.
     * @param opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SoftwareSourceState, opts?: pulumi.CustomResourceOptions): SoftwareSource;
    /**
     * Returns true if the given object is an instance of SoftwareSource.  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 SoftwareSource;
    /**
     * (Updatable) Advanced repository options for the software source
     */
    readonly advancedRepoOptions: pulumi.Output<string>;
    /**
     * The architecture type supported by the third-party software source.
     */
    readonly archType: pulumi.Output<string>;
    /**
     * Availability of the software source (for non-OCI environments).
     */
    readonly availability: pulumi.Output<string>;
    /**
     * Availability of the software source (for Oracle Cloud Infrastructure environments).
     */
    readonly availabilityAtOci: pulumi.Output<string>;
    /**
     * The yum repository checksum type used by this software source.
     */
    readonly checksumType: pulumi.Output<string>;
    /**
     * (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment that contains the software source.
     */
    readonly compartmentId: pulumi.Output<string>;
    /**
     * (Updatable) Provides the information used to apply filters to a vendor software source to create or update a custom software source.
     */
    readonly customSoftwareSourceFilter: pulumi.Output<outputs.OsManagementHub.SoftwareSourceCustomSoftwareSourceFilter>;
    /**
     * (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Operations.CostCenter": "42"}`
     */
    readonly definedTags: pulumi.Output<{
        [key: string]: string;
    }>;
    /**
     * (Updatable) User-specified description for the software source. Avoid entering confidential information.
     */
    readonly description: pulumi.Output<string>;
    /**
     * (Updatable) User-friendly name for the software source. Does not have to be unique and you can change the name later. Avoid entering confidential information.
     */
    readonly displayName: pulumi.Output<string>;
    /**
     * (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}`
     */
    readonly freeformTags: pulumi.Output<{
        [key: string]: string;
    }>;
    /**
     * Fingerprint of the GPG key for this software source.
     */
    readonly gpgKeyFingerprint: pulumi.Output<string>;
    /**
     * ID of the GPG key for this software source.
     */
    readonly gpgKeyId: pulumi.Output<string>;
    /**
     * (Updatable) URI of the GPG key for this software source.
     */
    readonly gpgKeyUrl: pulumi.Output<string>;
    /**
     * (Updatable) Indicates whether the service should automatically resolve package dependencies when including specific packages in the software source.
     */
    readonly isAutoResolveDependencies: pulumi.Output<boolean>;
    /**
     * (Updatable) Indicates whether the service should automatically update the custom software source to use the latest package versions available. The service reviews packages levels once a day.
     */
    readonly isAutomaticallyUpdated: pulumi.Output<boolean>;
    /**
     * Indicates whether the service should create the software source from a list of packages provided by the user.
     */
    readonly isCreatedFromPackageList: pulumi.Output<boolean>;
    /**
     * (Updatable) Whether signature verification should be done for the software source.
     */
    readonly isGpgCheckEnabled: pulumi.Output<boolean>;
    /**
     * (Updatable) Indicates whether the software source will include only the latest versions of content from vendor software sources, while accounting for other constraints set in the custom or versioned custom software source (such as a package list or filters).
     * * For a module filter that does not specify a stream, this will include all available streams, and within each stream only the latest version of packages.
     * * For a module filter that does specify a stream, this will include only the latest version of packages for the specified stream.
     * * For a package filter that does not specify a version, this will include only the latest available version of the package.
     * * For a package filter that does specify a version, this will include only the specified version of the package (the isLatestContentOnly attribute is ignored).
     * * For a package list, this will include only the specified version of packages and modules in the list (the isLatestContentOnly attribute is ignored).
     */
    readonly isLatestContentOnly: pulumi.Output<boolean>;
    /**
     * Indicates whether the software source is required for the Autonomous Linux service.
     */
    readonly isMandatoryForAutonomousLinux: pulumi.Output<boolean>;
    /**
     * (Updatable) Whether this software source can be synced to a management station
     */
    readonly isMirrorSyncAllowed: pulumi.Output<boolean>;
    /**
     * (Updatable) Whether SSL validation needs to be turned on
     */
    readonly isSslVerifyEnabled: pulumi.Output<boolean>;
    /**
     * The display name of the software source to be replicated
     */
    readonly originDisplayName: pulumi.Output<string>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the vendor software source in the root compartment that is being replicated.
     */
    readonly originSoftwareSourceId: pulumi.Output<string>;
    /**
     * The OS family for the third-party software source.
     */
    readonly osFamily: pulumi.Output<string>;
    /**
     * Number of packages the software source contains.
     */
    readonly packageCount: pulumi.Output<string>;
    /**
     * A property used for compatibility only. It doesn't provide a complete list of packages. See [AddPackagesToSoftwareSourceDetails](https://docs.cloud.oracle.com/iaas/api/#/en/osmh/latest/datatypes/AddPackagesToSoftwareSourceDetails) for providing the list of packages used to create the software source when isCreatedFromPackageList is set to true.
     */
    readonly packages: pulumi.Output<string[]>;
    /**
     * The repository ID for the software source.
     */
    readonly repoId: pulumi.Output<string>;
    /**
     * The size of the software source in bytes (B).
     */
    readonly size: pulumi.Output<number>;
    /**
     * The creation type of a software source.
     */
    readonly softwareSourceSubType: pulumi.Output<string>;
    /**
     * (Updatable) Type of software source.
     */
    readonly softwareSourceType: pulumi.Output<string>;
    /**
     * The version to assign to this custom software source.
     */
    readonly softwareSourceVersion: pulumi.Output<string>;
    /**
     * The current state of the software source.
     */
    readonly state: pulumi.Output<string>;
    /**
     * System tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"orcl-cloud.free-tier-retained": "true"}`
     */
    readonly systemTags: pulumi.Output<{
        [key: string]: string;
    }>;
    /**
     * The date and time the software source was created (in [RFC 3339](https://tools.ietf.org/rfc/rfc3339) format).
     */
    readonly timeCreated: pulumi.Output<string>;
    /**
     * The date and time the metadata for this software source was last updated (in [RFC 3339](https://tools.ietf.org/rfc/rfc3339) format).
     */
    readonly timeMetadataUpdated: pulumi.Output<string>;
    /**
     * (Updatable) URL for the third-party software source.
     */
    readonly url: pulumi.Output<string>;
    /**
     * Name of the vendor providing the software source.
     */
    readonly vendorName: pulumi.Output<string>;
    /**
     * (Updatable) List of vendor software sources.
     */
    readonly vendorSoftwareSources: pulumi.Output<outputs.OsManagementHub.SoftwareSourceVendorSoftwareSource[]>;
    /**
     * Create a SoftwareSource 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: SoftwareSourceArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering SoftwareSource resources.
 */
export interface SoftwareSourceState {
    /**
     * (Updatable) Advanced repository options for the software source
     */
    advancedRepoOptions?: pulumi.Input<string | undefined>;
    /**
     * The architecture type supported by the third-party software source.
     */
    archType?: pulumi.Input<string | undefined>;
    /**
     * Availability of the software source (for non-OCI environments).
     */
    availability?: pulumi.Input<string | undefined>;
    /**
     * Availability of the software source (for Oracle Cloud Infrastructure environments).
     */
    availabilityAtOci?: pulumi.Input<string | undefined>;
    /**
     * The yum repository checksum type used by this software source.
     */
    checksumType?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment that contains the software source.
     */
    compartmentId?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) Provides the information used to apply filters to a vendor software source to create or update a custom software source.
     */
    customSoftwareSourceFilter?: pulumi.Input<inputs.OsManagementHub.SoftwareSourceCustomSoftwareSourceFilter | undefined>;
    /**
     * (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Operations.CostCenter": "42"}`
     */
    definedTags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    } | undefined>;
    /**
     * (Updatable) User-specified description for the software source. Avoid entering confidential information.
     */
    description?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) User-friendly name for the software source. Does not have to be unique and you can change the name later. Avoid entering confidential information.
     */
    displayName?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}`
     */
    freeformTags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    } | undefined>;
    /**
     * Fingerprint of the GPG key for this software source.
     */
    gpgKeyFingerprint?: pulumi.Input<string | undefined>;
    /**
     * ID of the GPG key for this software source.
     */
    gpgKeyId?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) URI of the GPG key for this software source.
     */
    gpgKeyUrl?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) Indicates whether the service should automatically resolve package dependencies when including specific packages in the software source.
     */
    isAutoResolveDependencies?: pulumi.Input<boolean | undefined>;
    /**
     * (Updatable) Indicates whether the service should automatically update the custom software source to use the latest package versions available. The service reviews packages levels once a day.
     */
    isAutomaticallyUpdated?: pulumi.Input<boolean | undefined>;
    /**
     * Indicates whether the service should create the software source from a list of packages provided by the user.
     */
    isCreatedFromPackageList?: pulumi.Input<boolean | undefined>;
    /**
     * (Updatable) Whether signature verification should be done for the software source.
     */
    isGpgCheckEnabled?: pulumi.Input<boolean | undefined>;
    /**
     * (Updatable) Indicates whether the software source will include only the latest versions of content from vendor software sources, while accounting for other constraints set in the custom or versioned custom software source (such as a package list or filters).
     * * For a module filter that does not specify a stream, this will include all available streams, and within each stream only the latest version of packages.
     * * For a module filter that does specify a stream, this will include only the latest version of packages for the specified stream.
     * * For a package filter that does not specify a version, this will include only the latest available version of the package.
     * * For a package filter that does specify a version, this will include only the specified version of the package (the isLatestContentOnly attribute is ignored).
     * * For a package list, this will include only the specified version of packages and modules in the list (the isLatestContentOnly attribute is ignored).
     */
    isLatestContentOnly?: pulumi.Input<boolean | undefined>;
    /**
     * Indicates whether the software source is required for the Autonomous Linux service.
     */
    isMandatoryForAutonomousLinux?: pulumi.Input<boolean | undefined>;
    /**
     * (Updatable) Whether this software source can be synced to a management station
     */
    isMirrorSyncAllowed?: pulumi.Input<boolean | undefined>;
    /**
     * (Updatable) Whether SSL validation needs to be turned on
     */
    isSslVerifyEnabled?: pulumi.Input<boolean | undefined>;
    /**
     * The display name of the software source to be replicated
     */
    originDisplayName?: pulumi.Input<string | undefined>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the vendor software source in the root compartment that is being replicated.
     */
    originSoftwareSourceId?: pulumi.Input<string | undefined>;
    /**
     * The OS family for the third-party software source.
     */
    osFamily?: pulumi.Input<string | undefined>;
    /**
     * Number of packages the software source contains.
     */
    packageCount?: pulumi.Input<string | undefined>;
    /**
     * A property used for compatibility only. It doesn't provide a complete list of packages. See [AddPackagesToSoftwareSourceDetails](https://docs.cloud.oracle.com/iaas/api/#/en/osmh/latest/datatypes/AddPackagesToSoftwareSourceDetails) for providing the list of packages used to create the software source when isCreatedFromPackageList is set to true.
     */
    packages?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * The repository ID for the software source.
     */
    repoId?: pulumi.Input<string | undefined>;
    /**
     * The size of the software source in bytes (B).
     */
    size?: pulumi.Input<number | undefined>;
    /**
     * The creation type of a software source.
     */
    softwareSourceSubType?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) Type of software source.
     */
    softwareSourceType?: pulumi.Input<string | undefined>;
    /**
     * The version to assign to this custom software source.
     */
    softwareSourceVersion?: pulumi.Input<string | undefined>;
    /**
     * The current state of the software source.
     */
    state?: pulumi.Input<string | undefined>;
    /**
     * System tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"orcl-cloud.free-tier-retained": "true"}`
     */
    systemTags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    } | undefined>;
    /**
     * The date and time the software source was created (in [RFC 3339](https://tools.ietf.org/rfc/rfc3339) format).
     */
    timeCreated?: pulumi.Input<string | undefined>;
    /**
     * The date and time the metadata for this software source was last updated (in [RFC 3339](https://tools.ietf.org/rfc/rfc3339) format).
     */
    timeMetadataUpdated?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) URL for the third-party software source.
     */
    url?: pulumi.Input<string | undefined>;
    /**
     * Name of the vendor providing the software source.
     */
    vendorName?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) List of vendor software sources.
     */
    vendorSoftwareSources?: pulumi.Input<pulumi.Input<inputs.OsManagementHub.SoftwareSourceVendorSoftwareSource>[] | undefined>;
}
/**
 * The set of arguments for constructing a SoftwareSource resource.
 */
export interface SoftwareSourceArgs {
    /**
     * (Updatable) Advanced repository options for the software source
     */
    advancedRepoOptions?: pulumi.Input<string | undefined>;
    /**
     * The architecture type supported by the third-party software source.
     */
    archType?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment that contains the software source.
     */
    compartmentId: pulumi.Input<string>;
    /**
     * (Updatable) Provides the information used to apply filters to a vendor software source to create or update a custom software source.
     */
    customSoftwareSourceFilter?: pulumi.Input<inputs.OsManagementHub.SoftwareSourceCustomSoftwareSourceFilter | undefined>;
    /**
     * (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Operations.CostCenter": "42"}`
     */
    definedTags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    } | undefined>;
    /**
     * (Updatable) User-specified description for the software source. Avoid entering confidential information.
     */
    description?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) User-friendly name for the software source. Does not have to be unique and you can change the name later. Avoid entering confidential information.
     */
    displayName?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}`
     */
    freeformTags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    } | undefined>;
    /**
     * (Updatable) URI of the GPG key for this software source.
     */
    gpgKeyUrl?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) Indicates whether the service should automatically resolve package dependencies when including specific packages in the software source.
     */
    isAutoResolveDependencies?: pulumi.Input<boolean | undefined>;
    /**
     * (Updatable) Indicates whether the service should automatically update the custom software source to use the latest package versions available. The service reviews packages levels once a day.
     */
    isAutomaticallyUpdated?: pulumi.Input<boolean | undefined>;
    /**
     * Indicates whether the service should create the software source from a list of packages provided by the user.
     */
    isCreatedFromPackageList?: pulumi.Input<boolean | undefined>;
    /**
     * (Updatable) Whether signature verification should be done for the software source.
     */
    isGpgCheckEnabled?: pulumi.Input<boolean | undefined>;
    /**
     * (Updatable) Indicates whether the software source will include only the latest versions of content from vendor software sources, while accounting for other constraints set in the custom or versioned custom software source (such as a package list or filters).
     * * For a module filter that does not specify a stream, this will include all available streams, and within each stream only the latest version of packages.
     * * For a module filter that does specify a stream, this will include only the latest version of packages for the specified stream.
     * * For a package filter that does not specify a version, this will include only the latest available version of the package.
     * * For a package filter that does specify a version, this will include only the specified version of the package (the isLatestContentOnly attribute is ignored).
     * * For a package list, this will include only the specified version of packages and modules in the list (the isLatestContentOnly attribute is ignored).
     */
    isLatestContentOnly?: pulumi.Input<boolean | undefined>;
    /**
     * (Updatable) Whether this software source can be synced to a management station
     */
    isMirrorSyncAllowed?: pulumi.Input<boolean | undefined>;
    /**
     * (Updatable) Whether SSL validation needs to be turned on
     */
    isSslVerifyEnabled?: pulumi.Input<boolean | undefined>;
    /**
     * The display name of the software source to be replicated
     */
    originDisplayName?: pulumi.Input<string | undefined>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the vendor software source in the root compartment that is being replicated.
     */
    originSoftwareSourceId?: pulumi.Input<string | undefined>;
    /**
     * The OS family for the third-party software source.
     */
    osFamily?: pulumi.Input<string | undefined>;
    /**
     * A property used for compatibility only. It doesn't provide a complete list of packages. See [AddPackagesToSoftwareSourceDetails](https://docs.cloud.oracle.com/iaas/api/#/en/osmh/latest/datatypes/AddPackagesToSoftwareSourceDetails) for providing the list of packages used to create the software source when isCreatedFromPackageList is set to true.
     */
    packages?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * The creation type of a software source.
     */
    softwareSourceSubType?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) Type of software source.
     */
    softwareSourceType: pulumi.Input<string>;
    /**
     * The version to assign to this custom software source.
     */
    softwareSourceVersion?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) URL for the third-party software source.
     */
    url?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) List of vendor software sources.
     */
    vendorSoftwareSources?: pulumi.Input<pulumi.Input<inputs.OsManagementHub.SoftwareSourceVendorSoftwareSource>[] | undefined>;
}
//# sourceMappingURL=softwareSource.d.ts.map