import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Manages a Front Door (standard/premium) Secret. * * ## Required Key Vault Permissions * * !> **Note:** You must add an `Access Policy` to your `azure.keyvault.KeyVault` for the `Microsoft.AzurefrontDoor-Cdn` Enterprise Application Object ID. * * This can be created by running Az Powershell command like this: * * ```New-AzADServicePrincipal -ApplicationId "00000000-0000-0000-0000-000000000000"``` * * | Object ID | Key Permissions | Secret Permissions | Certificate Permissions | * |:-----------------------------------------|:---------------:|:--------------------:|:---------------------------------------------:| * | `Microsoft.Azure.Cdn` Object ID | - | **Get** | - | * | Your Personal AAD Object ID | - | **Get** and **List** | **Get**, **List**, **Purge** and **Recover** | * | Terraform Service Principal | - | **Get** | **Get**, **Import**, **Delete** and **Purge** | * * -> **Note:** You only need to add the `Access Policy` for your personal AAD Object ID if you are planning to view the `secrets` via the Azure Portal. * * ## Import * * Front Door Secrets can be imported using the `resource id`, e.g. * * ```sh * $ pulumi import azure:cdn/frontdoorSecret:FrontdoorSecret example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Cdn/profiles/profile1/secrets/secrets1 * ``` */ export declare class FrontdoorSecret extends pulumi.CustomResource { /** * Get an existing FrontdoorSecret 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, state?: FrontdoorSecretState, opts?: pulumi.CustomResourceOptions): FrontdoorSecret; /** * Returns true if the given object is an instance of FrontdoorSecret. 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 FrontdoorSecret; /** * The Resource ID of the Front Door Profile. Changing this forces a new Front Door Secret to be created. */ readonly cdnFrontdoorProfileId: pulumi.Output; /** * The name of the Front Door Profile containing this Front Door Secret. */ readonly cdnFrontdoorProfileName: pulumi.Output; /** * The name which should be used for this Front Door Secret. Possible values must start with a letter or a number, only contain letters, numbers and hyphens and have a length of between 2 and 260 characters. Changing this forces a new Front Door Secret to be created. */ readonly name: pulumi.Output; /** * A `secret` block as defined below. Changing this forces a new Front Door Secret to be created. */ readonly secret: pulumi.Output; /** * Create a FrontdoorSecret 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: FrontdoorSecretArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering FrontdoorSecret resources. */ export interface FrontdoorSecretState { /** * The Resource ID of the Front Door Profile. Changing this forces a new Front Door Secret to be created. */ cdnFrontdoorProfileId?: pulumi.Input; /** * The name of the Front Door Profile containing this Front Door Secret. */ cdnFrontdoorProfileName?: pulumi.Input; /** * The name which should be used for this Front Door Secret. Possible values must start with a letter or a number, only contain letters, numbers and hyphens and have a length of between 2 and 260 characters. Changing this forces a new Front Door Secret to be created. */ name?: pulumi.Input; /** * A `secret` block as defined below. Changing this forces a new Front Door Secret to be created. */ secret?: pulumi.Input; } /** * The set of arguments for constructing a FrontdoorSecret resource. */ export interface FrontdoorSecretArgs { /** * The Resource ID of the Front Door Profile. Changing this forces a new Front Door Secret to be created. */ cdnFrontdoorProfileId: pulumi.Input; /** * The name which should be used for this Front Door Secret. Possible values must start with a letter or a number, only contain letters, numbers and hyphens and have a length of between 2 and 260 characters. Changing this forces a new Front Door Secret to be created. */ name?: pulumi.Input; /** * A `secret` block as defined below. Changing this forces a new Front Door Secret to be created. */ secret: pulumi.Input; }