@pulumi/azure 6.1.0-alpha.1727225135 → 6.1.0-alpha.1727458001

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,6 +4,37 @@ import * as outputs from "../types/output";
4
4
  /**
5
5
  * Manages a Cognitive Services Account Deployment.
6
6
  *
7
+ * ## Example Usage
8
+ *
9
+ * ```typescript
10
+ * import * as pulumi from "@pulumi/pulumi";
11
+ * import * as azure from "@pulumi/azure";
12
+ *
13
+ * const example = new azure.core.ResourceGroup("example", {
14
+ * name: "example-resources",
15
+ * location: "West Europe",
16
+ * });
17
+ * const exampleAccount = new azure.cognitive.Account("example", {
18
+ * name: "example-ca",
19
+ * location: example.location,
20
+ * resourceGroupName: example.name,
21
+ * kind: "OpenAI",
22
+ * skuName: "S0",
23
+ * });
24
+ * const exampleDeployment = new azure.cognitive.Deployment("example", {
25
+ * name: "example-cd",
26
+ * cognitiveAccountId: exampleAccount.id,
27
+ * model: {
28
+ * format: "OpenAI",
29
+ * name: "text-curie-001",
30
+ * version: "1",
31
+ * },
32
+ * sku: {
33
+ * name: "Standard",
34
+ * },
35
+ * });
36
+ * ```
37
+ *
7
38
  * ## Import
8
39
  *
9
40
  * Cognitive Services Account Deployment can be imported using the `resource id`, e.g.
@@ -44,6 +75,9 @@ export declare class Deployment extends pulumi.CustomResource {
44
75
  * The name of RAI policy.
45
76
  */
46
77
  readonly raiPolicyName: pulumi.Output<string | undefined>;
78
+ /**
79
+ * A `sku` block as defined below.
80
+ */
47
81
  readonly sku: pulumi.Output<outputs.cognitive.DeploymentSku>;
48
82
  /**
49
83
  * Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`.
@@ -78,6 +112,9 @@ export interface DeploymentState {
78
112
  * The name of RAI policy.
79
113
  */
80
114
  raiPolicyName?: pulumi.Input<string>;
115
+ /**
116
+ * A `sku` block as defined below.
117
+ */
81
118
  sku?: pulumi.Input<inputs.cognitive.DeploymentSku>;
82
119
  /**
83
120
  * Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`.
@@ -104,6 +141,9 @@ export interface DeploymentArgs {
104
141
  * The name of RAI policy.
105
142
  */
106
143
  raiPolicyName?: pulumi.Input<string>;
144
+ /**
145
+ * A `sku` block as defined below.
146
+ */
107
147
  sku: pulumi.Input<inputs.cognitive.DeploymentSku>;
108
148
  /**
109
149
  * Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`.
@@ -8,6 +8,37 @@ const utilities = require("../utilities");
8
8
  /**
9
9
  * Manages a Cognitive Services Account Deployment.
10
10
  *
11
+ * ## Example Usage
12
+ *
13
+ * ```typescript
14
+ * import * as pulumi from "@pulumi/pulumi";
15
+ * import * as azure from "@pulumi/azure";
16
+ *
17
+ * const example = new azure.core.ResourceGroup("example", {
18
+ * name: "example-resources",
19
+ * location: "West Europe",
20
+ * });
21
+ * const exampleAccount = new azure.cognitive.Account("example", {
22
+ * name: "example-ca",
23
+ * location: example.location,
24
+ * resourceGroupName: example.name,
25
+ * kind: "OpenAI",
26
+ * skuName: "S0",
27
+ * });
28
+ * const exampleDeployment = new azure.cognitive.Deployment("example", {
29
+ * name: "example-cd",
30
+ * cognitiveAccountId: exampleAccount.id,
31
+ * model: {
32
+ * format: "OpenAI",
33
+ * name: "text-curie-001",
34
+ * version: "1",
35
+ * },
36
+ * sku: {
37
+ * name: "Standard",
38
+ * },
39
+ * });
40
+ * ```
41
+ *
11
42
  * ## Import
12
43
  *
13
44
  * Cognitive Services Account Deployment can be imported using the `resource id`, e.g.
@@ -1 +1 @@
1
- {"version":3,"file":"deployment.js","sourceRoot":"","sources":["../../cognitive/deployment.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAGzC,0CAA0C;AAE1C;;;;;;;;;;GAUG;AACH,MAAa,UAAW,SAAQ,MAAM,CAAC,cAAc;IA0DjD,YAAY,IAAY,EAAE,WAA8C,EAAE,IAAmC;QACzG,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAA0C,CAAC;YACzD,cAAc,CAAC,oBAAoB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC;YACpF,cAAc,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1D,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACxD,cAAc,CAAC,eAAe,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1E,cAAc,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;YACtD,cAAc,CAAC,sBAAsB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS,CAAC;SAC3F;aAAM;YACH,MAAM,IAAI,GAAG,WAAyC,CAAC;YACvD,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,kBAAkB,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC/D,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;aACrE;YACD,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAClD,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;aACxD;YACD,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAChD,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;aACtD;YACD,cAAc,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC;YAClF,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YACxD,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACtD,cAAc,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;YACxE,cAAc,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;YACpD,cAAc,CAAC,sBAAsB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS,CAAC;SACzF;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,UAAU,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAC/D,CAAC;IAxFD;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAuB,EAAE,IAAmC;QACrH,OAAO,IAAI,UAAU,CAAC,IAAI,EAAO,KAAK,kCAAO,IAAI,KAAE,EAAE,EAAE,EAAE,IAAG,CAAC;IACjE,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,UAAU,CAAC,YAAY,CAAC;IAC3D,CAAC;;AA1BL,gCA0FC;AA5EG,gBAAgB;AACO,uBAAY,GAAG,uCAAuC,CAAC"}
1
+ {"version":3,"file":"deployment.js","sourceRoot":"","sources":["../../cognitive/deployment.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,168 @@ import * as outputs from "../types/output";
4
4
  /**
5
5
  * Manages a Backup Instance to back up a Kubernetes Cluster.
6
6
  *
7
+ * ## Example Usage
8
+ *
9
+ * ```typescript
10
+ * import * as pulumi from "@pulumi/pulumi";
11
+ * import * as azure from "@pulumi/azure";
12
+ *
13
+ * const current = azure.core.getClientConfig({});
14
+ * const example = new azure.core.ResourceGroup("example", {
15
+ * name: "example",
16
+ * location: "West Europe",
17
+ * });
18
+ * const snap = new azure.core.ResourceGroup("snap", {
19
+ * name: "example-snap",
20
+ * location: "West Europe",
21
+ * });
22
+ * const exampleBackupVault = new azure.dataprotection.BackupVault("example", {
23
+ * name: "example",
24
+ * resourceGroupName: example.name,
25
+ * location: example.location,
26
+ * datastoreType: "VaultStore",
27
+ * redundancy: "LocallyRedundant",
28
+ * identity: {
29
+ * type: "SystemAssigned",
30
+ * },
31
+ * });
32
+ * const exampleKubernetesCluster = new azure.containerservice.KubernetesCluster("example", {
33
+ * name: "example",
34
+ * location: example.location,
35
+ * resourceGroupName: example.name,
36
+ * dnsPrefix: "dns",
37
+ * defaultNodePool: {
38
+ * name: "default",
39
+ * nodeCount: 1,
40
+ * vmSize: "Standard_DS2_v2",
41
+ * hostEncryptionEnabled: true,
42
+ * },
43
+ * identity: {
44
+ * type: "SystemAssigned",
45
+ * },
46
+ * });
47
+ * const aksClusterTrustedAccess = new azure.containerservice.ClusterTrustedAccessRoleBinding("aks_cluster_trusted_access", {
48
+ * kubernetesClusterId: exampleKubernetesCluster.id,
49
+ * name: "example",
50
+ * roles: ["Microsoft.DataProtection/backupVaults/backup-operator"],
51
+ * sourceResourceId: exampleBackupVault.id,
52
+ * });
53
+ * const exampleAccount = new azure.storage.Account("example", {
54
+ * name: "example",
55
+ * resourceGroupName: example.name,
56
+ * location: example.location,
57
+ * accountTier: "Standard",
58
+ * accountReplicationType: "LRS",
59
+ * });
60
+ * const exampleContainer = new azure.storage.Container("example", {
61
+ * name: "example",
62
+ * storageAccountName: exampleAccount.name,
63
+ * containerAccessType: "private",
64
+ * });
65
+ * const exampleKubernetesClusterExtension = new azure.containerservice.KubernetesClusterExtension("example", {
66
+ * name: "example",
67
+ * clusterId: exampleKubernetesCluster.id,
68
+ * extensionType: "Microsoft.DataProtection.Kubernetes",
69
+ * releaseTrain: "stable",
70
+ * releaseNamespace: "dataprotection-microsoft",
71
+ * configurationSettings: {
72
+ * "configuration.backupStorageLocation.bucket": exampleContainer.name,
73
+ * "configuration.backupStorageLocation.config.resourceGroup": example.name,
74
+ * "configuration.backupStorageLocation.config.storageAccount": exampleAccount.name,
75
+ * "configuration.backupStorageLocation.config.subscriptionId": current.then(current => current.subscriptionId),
76
+ * "credentials.tenantId": current.then(current => current.tenantId),
77
+ * },
78
+ * });
79
+ * const testExtensionAndStorageAccountPermission = new azure.authorization.Assignment("test_extension_and_storage_account_permission", {
80
+ * scope: exampleAccount.id,
81
+ * roleDefinitionName: "Storage Account Contributor",
82
+ * principalId: exampleKubernetesClusterExtension.aksAssignedIdentities.apply(aksAssignedIdentities => aksAssignedIdentities[0].principalId),
83
+ * });
84
+ * const testVaultMsiReadOnCluster = new azure.authorization.Assignment("test_vault_msi_read_on_cluster", {
85
+ * scope: exampleKubernetesCluster.id,
86
+ * roleDefinitionName: "Reader",
87
+ * principalId: exampleBackupVault.identity.apply(identity => identity?.principalId),
88
+ * });
89
+ * const testVaultMsiReadOnSnapRg = new azure.authorization.Assignment("test_vault_msi_read_on_snap_rg", {
90
+ * scope: snap.id,
91
+ * roleDefinitionName: "Reader",
92
+ * principalId: exampleBackupVault.identity.apply(identity => identity?.principalId),
93
+ * });
94
+ * const testVaultMsiSnapshotContributorOnSnapRg = new azure.authorization.Assignment("test_vault_msi_snapshot_contributor_on_snap_rg", {
95
+ * scope: snap.id,
96
+ * roleDefinitionName: "Disk Snapshot Contributor",
97
+ * principalId: exampleBackupVault.identity.apply(identity => identity?.principalId),
98
+ * });
99
+ * const testVaultDataOperatorOnSnapRg = new azure.authorization.Assignment("test_vault_data_operator_on_snap_rg", {
100
+ * scope: snap.id,
101
+ * roleDefinitionName: "Data Operator for Managed Disks",
102
+ * principalId: exampleBackupVault.identity.apply(identity => identity?.principalId),
103
+ * });
104
+ * const testVaultDataContributorOnStorage = new azure.authorization.Assignment("test_vault_data_contributor_on_storage", {
105
+ * scope: exampleAccount.id,
106
+ * roleDefinitionName: "Storage Blob Data Contributor",
107
+ * principalId: exampleBackupVault.identity.apply(identity => identity?.principalId),
108
+ * });
109
+ * const testClusterMsiContributorOnSnapRg = new azure.authorization.Assignment("test_cluster_msi_contributor_on_snap_rg", {
110
+ * scope: snap.id,
111
+ * roleDefinitionName: "Contributor",
112
+ * principalId: exampleKubernetesCluster.identity.apply(identity => identity?.principalId),
113
+ * });
114
+ * const exampleBackupPolicyKubernetesCluster = new azure.dataprotection.BackupPolicyKubernetesCluster("example", {
115
+ * name: "example",
116
+ * resourceGroupName: example.name,
117
+ * vaultName: exampleBackupVault.name,
118
+ * backupRepeatingTimeIntervals: ["R/2023-05-23T02:30:00+00:00/P1W"],
119
+ * retentionRules: [{
120
+ * name: "Daily",
121
+ * priority: 25,
122
+ * lifeCycles: [{
123
+ * duration: "P84D",
124
+ * dataStoreType: "OperationalStore",
125
+ * }],
126
+ * criteria: {
127
+ * daysOfWeeks: ["Thursday"],
128
+ * monthsOfYears: ["November"],
129
+ * weeksOfMonths: ["First"],
130
+ * scheduledBackupTimes: ["2023-05-23T02:30:00Z"],
131
+ * },
132
+ * }],
133
+ * defaultRetentionRule: {
134
+ * lifeCycles: [{
135
+ * duration: "P14D",
136
+ * dataStoreType: "OperationalStore",
137
+ * }],
138
+ * },
139
+ * });
140
+ * const exampleBackupInstanceKubernetesCluster = new azure.dataprotection.BackupInstanceKubernetesCluster("example", {
141
+ * name: "example",
142
+ * location: example.location,
143
+ * vaultId: exampleBackupVault.id,
144
+ * kubernetesClusterId: exampleKubernetesCluster.id,
145
+ * snapshotResourceGroupName: snap.name,
146
+ * backupPolicyId: exampleBackupPolicyKubernetesCluster.id,
147
+ * backupDatasourceParameters: {
148
+ * excludedNamespaces: ["test-excluded-namespaces"],
149
+ * excludedResourceTypes: ["exvolumesnapshotcontents.snapshot.storage.k8s.io"],
150
+ * clusterScopedResourcesEnabled: true,
151
+ * includedNamespaces: ["test-included-namespaces"],
152
+ * includedResourceTypes: ["involumesnapshotcontents.snapshot.storage.k8s.io"],
153
+ * labelSelectors: ["kubernetes.io/metadata.name:test"],
154
+ * volumeSnapshotEnabled: true,
155
+ * },
156
+ * }, {
157
+ * dependsOn: [
158
+ * testExtensionAndStorageAccountPermission,
159
+ * testVaultMsiReadOnCluster,
160
+ * testVaultMsiReadOnSnapRg,
161
+ * testClusterMsiContributorOnSnapRg,
162
+ * testVaultMsiSnapshotContributorOnSnapRg,
163
+ * testVaultDataOperatorOnSnapRg,
164
+ * testVaultDataContributorOnStorage,
165
+ * ],
166
+ * });
167
+ * ```
168
+ *
7
169
  * ## Import
8
170
  *
9
171
  * Backup Instance Kubernetes Cluster can be imported using the `resource id`, e.g.
@@ -8,6 +8,168 @@ const utilities = require("../utilities");
8
8
  /**
9
9
  * Manages a Backup Instance to back up a Kubernetes Cluster.
10
10
  *
11
+ * ## Example Usage
12
+ *
13
+ * ```typescript
14
+ * import * as pulumi from "@pulumi/pulumi";
15
+ * import * as azure from "@pulumi/azure";
16
+ *
17
+ * const current = azure.core.getClientConfig({});
18
+ * const example = new azure.core.ResourceGroup("example", {
19
+ * name: "example",
20
+ * location: "West Europe",
21
+ * });
22
+ * const snap = new azure.core.ResourceGroup("snap", {
23
+ * name: "example-snap",
24
+ * location: "West Europe",
25
+ * });
26
+ * const exampleBackupVault = new azure.dataprotection.BackupVault("example", {
27
+ * name: "example",
28
+ * resourceGroupName: example.name,
29
+ * location: example.location,
30
+ * datastoreType: "VaultStore",
31
+ * redundancy: "LocallyRedundant",
32
+ * identity: {
33
+ * type: "SystemAssigned",
34
+ * },
35
+ * });
36
+ * const exampleKubernetesCluster = new azure.containerservice.KubernetesCluster("example", {
37
+ * name: "example",
38
+ * location: example.location,
39
+ * resourceGroupName: example.name,
40
+ * dnsPrefix: "dns",
41
+ * defaultNodePool: {
42
+ * name: "default",
43
+ * nodeCount: 1,
44
+ * vmSize: "Standard_DS2_v2",
45
+ * hostEncryptionEnabled: true,
46
+ * },
47
+ * identity: {
48
+ * type: "SystemAssigned",
49
+ * },
50
+ * });
51
+ * const aksClusterTrustedAccess = new azure.containerservice.ClusterTrustedAccessRoleBinding("aks_cluster_trusted_access", {
52
+ * kubernetesClusterId: exampleKubernetesCluster.id,
53
+ * name: "example",
54
+ * roles: ["Microsoft.DataProtection/backupVaults/backup-operator"],
55
+ * sourceResourceId: exampleBackupVault.id,
56
+ * });
57
+ * const exampleAccount = new azure.storage.Account("example", {
58
+ * name: "example",
59
+ * resourceGroupName: example.name,
60
+ * location: example.location,
61
+ * accountTier: "Standard",
62
+ * accountReplicationType: "LRS",
63
+ * });
64
+ * const exampleContainer = new azure.storage.Container("example", {
65
+ * name: "example",
66
+ * storageAccountName: exampleAccount.name,
67
+ * containerAccessType: "private",
68
+ * });
69
+ * const exampleKubernetesClusterExtension = new azure.containerservice.KubernetesClusterExtension("example", {
70
+ * name: "example",
71
+ * clusterId: exampleKubernetesCluster.id,
72
+ * extensionType: "Microsoft.DataProtection.Kubernetes",
73
+ * releaseTrain: "stable",
74
+ * releaseNamespace: "dataprotection-microsoft",
75
+ * configurationSettings: {
76
+ * "configuration.backupStorageLocation.bucket": exampleContainer.name,
77
+ * "configuration.backupStorageLocation.config.resourceGroup": example.name,
78
+ * "configuration.backupStorageLocation.config.storageAccount": exampleAccount.name,
79
+ * "configuration.backupStorageLocation.config.subscriptionId": current.then(current => current.subscriptionId),
80
+ * "credentials.tenantId": current.then(current => current.tenantId),
81
+ * },
82
+ * });
83
+ * const testExtensionAndStorageAccountPermission = new azure.authorization.Assignment("test_extension_and_storage_account_permission", {
84
+ * scope: exampleAccount.id,
85
+ * roleDefinitionName: "Storage Account Contributor",
86
+ * principalId: exampleKubernetesClusterExtension.aksAssignedIdentities.apply(aksAssignedIdentities => aksAssignedIdentities[0].principalId),
87
+ * });
88
+ * const testVaultMsiReadOnCluster = new azure.authorization.Assignment("test_vault_msi_read_on_cluster", {
89
+ * scope: exampleKubernetesCluster.id,
90
+ * roleDefinitionName: "Reader",
91
+ * principalId: exampleBackupVault.identity.apply(identity => identity?.principalId),
92
+ * });
93
+ * const testVaultMsiReadOnSnapRg = new azure.authorization.Assignment("test_vault_msi_read_on_snap_rg", {
94
+ * scope: snap.id,
95
+ * roleDefinitionName: "Reader",
96
+ * principalId: exampleBackupVault.identity.apply(identity => identity?.principalId),
97
+ * });
98
+ * const testVaultMsiSnapshotContributorOnSnapRg = new azure.authorization.Assignment("test_vault_msi_snapshot_contributor_on_snap_rg", {
99
+ * scope: snap.id,
100
+ * roleDefinitionName: "Disk Snapshot Contributor",
101
+ * principalId: exampleBackupVault.identity.apply(identity => identity?.principalId),
102
+ * });
103
+ * const testVaultDataOperatorOnSnapRg = new azure.authorization.Assignment("test_vault_data_operator_on_snap_rg", {
104
+ * scope: snap.id,
105
+ * roleDefinitionName: "Data Operator for Managed Disks",
106
+ * principalId: exampleBackupVault.identity.apply(identity => identity?.principalId),
107
+ * });
108
+ * const testVaultDataContributorOnStorage = new azure.authorization.Assignment("test_vault_data_contributor_on_storage", {
109
+ * scope: exampleAccount.id,
110
+ * roleDefinitionName: "Storage Blob Data Contributor",
111
+ * principalId: exampleBackupVault.identity.apply(identity => identity?.principalId),
112
+ * });
113
+ * const testClusterMsiContributorOnSnapRg = new azure.authorization.Assignment("test_cluster_msi_contributor_on_snap_rg", {
114
+ * scope: snap.id,
115
+ * roleDefinitionName: "Contributor",
116
+ * principalId: exampleKubernetesCluster.identity.apply(identity => identity?.principalId),
117
+ * });
118
+ * const exampleBackupPolicyKubernetesCluster = new azure.dataprotection.BackupPolicyKubernetesCluster("example", {
119
+ * name: "example",
120
+ * resourceGroupName: example.name,
121
+ * vaultName: exampleBackupVault.name,
122
+ * backupRepeatingTimeIntervals: ["R/2023-05-23T02:30:00+00:00/P1W"],
123
+ * retentionRules: [{
124
+ * name: "Daily",
125
+ * priority: 25,
126
+ * lifeCycles: [{
127
+ * duration: "P84D",
128
+ * dataStoreType: "OperationalStore",
129
+ * }],
130
+ * criteria: {
131
+ * daysOfWeeks: ["Thursday"],
132
+ * monthsOfYears: ["November"],
133
+ * weeksOfMonths: ["First"],
134
+ * scheduledBackupTimes: ["2023-05-23T02:30:00Z"],
135
+ * },
136
+ * }],
137
+ * defaultRetentionRule: {
138
+ * lifeCycles: [{
139
+ * duration: "P14D",
140
+ * dataStoreType: "OperationalStore",
141
+ * }],
142
+ * },
143
+ * });
144
+ * const exampleBackupInstanceKubernetesCluster = new azure.dataprotection.BackupInstanceKubernetesCluster("example", {
145
+ * name: "example",
146
+ * location: example.location,
147
+ * vaultId: exampleBackupVault.id,
148
+ * kubernetesClusterId: exampleKubernetesCluster.id,
149
+ * snapshotResourceGroupName: snap.name,
150
+ * backupPolicyId: exampleBackupPolicyKubernetesCluster.id,
151
+ * backupDatasourceParameters: {
152
+ * excludedNamespaces: ["test-excluded-namespaces"],
153
+ * excludedResourceTypes: ["exvolumesnapshotcontents.snapshot.storage.k8s.io"],
154
+ * clusterScopedResourcesEnabled: true,
155
+ * includedNamespaces: ["test-included-namespaces"],
156
+ * includedResourceTypes: ["involumesnapshotcontents.snapshot.storage.k8s.io"],
157
+ * labelSelectors: ["kubernetes.io/metadata.name:test"],
158
+ * volumeSnapshotEnabled: true,
159
+ * },
160
+ * }, {
161
+ * dependsOn: [
162
+ * testExtensionAndStorageAccountPermission,
163
+ * testVaultMsiReadOnCluster,
164
+ * testVaultMsiReadOnSnapRg,
165
+ * testClusterMsiContributorOnSnapRg,
166
+ * testVaultMsiSnapshotContributorOnSnapRg,
167
+ * testVaultDataOperatorOnSnapRg,
168
+ * testVaultDataContributorOnStorage,
169
+ * ],
170
+ * });
171
+ * ```
172
+ *
11
173
  * ## Import
12
174
  *
13
175
  * Backup Instance Kubernetes Cluster can be imported using the `resource id`, e.g.
@@ -1 +1 @@
1
- {"version":3,"file":"backupInstanceKubernetesCluster.js","sourceRoot":"","sources":["../../dataprotection/backupInstanceKubernetesCluster.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backupInstanceKubernetesCluster.js","sourceRoot":"","sources":["../../dataprotection/backupInstanceKubernetesCluster.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAGzC,0CAA0C;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4KG;AACH,MAAa,+BAAgC,SAAQ,MAAM,CAAC,cAAc;IAiEtE,YAAY,IAAY,EAAE,WAAwF,EAAE,IAAmC;QACnJ,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAA+D,CAAC;YAC9E,cAAc,CAAC,4BAA4B,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC,SAAS,CAAC;YACpG,cAAc,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5E,cAAc,CAAC,qBAAqB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC;YACtF,cAAc,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YAChE,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACxD,cAAc,CAAC,2BAA2B,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC,SAAS,CAAC;YAClG,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;SACjE;aAAM;YACH,MAAM,IAAI,GAAG,WAA8D,CAAC;YAC5E,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC3D,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;aACjE;YACD,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,mBAAmB,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAChE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;aACtE;YACD,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,yBAAyB,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACtE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;aAC5E;YACD,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACpD,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;aAC1D;YACD,cAAc,CAAC,4BAA4B,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC,SAAS,CAAC;YAClG,cAAc,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1E,cAAc,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC;YACpF,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9D,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACtD,cAAc,CAAC,2BAA2B,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,SAAS,CAAC;YAChG,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;SAC/D;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,+BAA+B,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACpF,CAAC;IApGD;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAA4C,EAAE,IAAmC;QAC1I,OAAO,IAAI,+BAA+B,CAAC,IAAI,EAAO,KAAK,kCAAO,IAAI,KAAE,EAAE,EAAE,EAAE,IAAG,CAAC;IACtF,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,+BAA+B,CAAC,YAAY,CAAC;IAChF,CAAC;;AA1BL,0EAsGC;AAxFG,gBAAgB;AACO,4CAAY,GAAG,sFAAsF,CAAC"}
@@ -1,95 +1,6 @@
1
1
  import * as pulumi from "@pulumi/pulumi";
2
2
  import * as inputs from "../types/input";
3
3
  import * as outputs from "../types/output";
4
- /**
5
- * Manages a Media Services Account Filter.
6
- *
7
- * ## Example Usage
8
- *
9
- * ```typescript
10
- * import * as pulumi from "@pulumi/pulumi";
11
- * import * as azure from "@pulumi/azure";
12
- * import * as azurerm from "@pulumi/azurerm";
13
- *
14
- * const example = new azure.core.ResourceGroup("example", {
15
- * name: "media-resources",
16
- * location: "West Europe",
17
- * });
18
- * const exampleAccount = new azure.storage.Account("example", {
19
- * name: "examplestoracc",
20
- * resourceGroupName: example.name,
21
- * location: example.location,
22
- * accountTier: "Standard",
23
- * accountReplicationType: "GRS",
24
- * });
25
- * const exampleMediaServicesAccount = new azurerm.index.MediaServicesAccount("example", {
26
- * name: "examplemediaacc",
27
- * location: example.location,
28
- * resourceGroupName: example.name,
29
- * storageAccount: [{
30
- * id: exampleAccount.id,
31
- * isPrimary: true,
32
- * }],
33
- * });
34
- * const exampleAccountFilter = new azure.media.AccountFilter("example", {
35
- * name: "Filter1",
36
- * resourceGroupName: testAzurermResourceGroup.name,
37
- * mediaServicesAccountName: test.name,
38
- * firstQualityBitrate: 128000,
39
- * presentationTimeRange: {
40
- * startInUnits: 0,
41
- * endInUnits: 15,
42
- * presentationWindowInUnits: 90,
43
- * liveBackoffInUnits: 0,
44
- * unitTimescaleInMilliseconds: 1000,
45
- * forceEnd: false,
46
- * },
47
- * trackSelections: [
48
- * {
49
- * conditions: [
50
- * {
51
- * property: "Type",
52
- * operation: "Equal",
53
- * value: "Audio",
54
- * },
55
- * {
56
- * property: "Language",
57
- * operation: "NotEqual",
58
- * value: "en",
59
- * },
60
- * {
61
- * property: "FourCC",
62
- * operation: "NotEqual",
63
- * value: "EC-3",
64
- * },
65
- * ],
66
- * },
67
- * {
68
- * conditions: [
69
- * {
70
- * property: "Type",
71
- * operation: "Equal",
72
- * value: "Video",
73
- * },
74
- * {
75
- * property: "Bitrate",
76
- * operation: "Equal",
77
- * value: "3000000-5000000",
78
- * },
79
- * ],
80
- * },
81
- * ],
82
- * });
83
- * ```
84
- *
85
- * ## Import
86
- *
87
- * Account Filters can be imported using the `resource id`, e.g.
88
- *
89
- * ```sh
90
- * $ pulumi import azure:media/accountFilter:AccountFilter example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Media/mediaServices/account1/accountFilters/filter1
91
- * ```
92
- */
93
4
  export declare class AccountFilter extends pulumi.CustomResource {
94
5
  /**
95
6
  * Get an existing AccountFilter resource's state with the given name, ID, and optional extra
@@ -106,29 +17,11 @@ export declare class AccountFilter extends pulumi.CustomResource {
106
17
  * when multiple copies of the Pulumi SDK have been loaded into the same process.
107
18
  */
108
19
  static isInstance(obj: any): obj is AccountFilter;
109
- /**
110
- * The first quality bitrate. Sets the first video track to appear in the Live Streaming playlist to allow HLS native players to start downloading from this quality level at the beginning.
111
- */
112
20
  readonly firstQualityBitrate: pulumi.Output<number | undefined>;
113
- /**
114
- * The Media Services account name. Changing this forces a new Account Filter to be created.
115
- */
116
21
  readonly mediaServicesAccountName: pulumi.Output<string>;
117
- /**
118
- * The name which should be used for this Account Filter. Changing this forces a new Account Filter to be created.
119
- */
120
22
  readonly name: pulumi.Output<string>;
121
- /**
122
- * A `presentationTimeRange` block as defined below.
123
- */
124
23
  readonly presentationTimeRange: pulumi.Output<outputs.media.AccountFilterPresentationTimeRange | undefined>;
125
- /**
126
- * The name of the Resource Group where the Account Filter should exist. Changing this forces a new Account Filter to be created.
127
- */
128
24
  readonly resourceGroupName: pulumi.Output<string>;
129
- /**
130
- * One or more `trackSelection` blocks as defined below.
131
- */
132
25
  readonly trackSelections: pulumi.Output<outputs.media.AccountFilterTrackSelection[] | undefined>;
133
26
  /**
134
27
  * Create a AccountFilter resource with the given unique name, arguments, and options.
@@ -143,57 +36,21 @@ export declare class AccountFilter extends pulumi.CustomResource {
143
36
  * Input properties used for looking up and filtering AccountFilter resources.
144
37
  */
145
38
  export interface AccountFilterState {
146
- /**
147
- * The first quality bitrate. Sets the first video track to appear in the Live Streaming playlist to allow HLS native players to start downloading from this quality level at the beginning.
148
- */
149
39
  firstQualityBitrate?: pulumi.Input<number>;
150
- /**
151
- * The Media Services account name. Changing this forces a new Account Filter to be created.
152
- */
153
40
  mediaServicesAccountName?: pulumi.Input<string>;
154
- /**
155
- * The name which should be used for this Account Filter. Changing this forces a new Account Filter to be created.
156
- */
157
41
  name?: pulumi.Input<string>;
158
- /**
159
- * A `presentationTimeRange` block as defined below.
160
- */
161
42
  presentationTimeRange?: pulumi.Input<inputs.media.AccountFilterPresentationTimeRange>;
162
- /**
163
- * The name of the Resource Group where the Account Filter should exist. Changing this forces a new Account Filter to be created.
164
- */
165
43
  resourceGroupName?: pulumi.Input<string>;
166
- /**
167
- * One or more `trackSelection` blocks as defined below.
168
- */
169
44
  trackSelections?: pulumi.Input<pulumi.Input<inputs.media.AccountFilterTrackSelection>[]>;
170
45
  }
171
46
  /**
172
47
  * The set of arguments for constructing a AccountFilter resource.
173
48
  */
174
49
  export interface AccountFilterArgs {
175
- /**
176
- * The first quality bitrate. Sets the first video track to appear in the Live Streaming playlist to allow HLS native players to start downloading from this quality level at the beginning.
177
- */
178
50
  firstQualityBitrate?: pulumi.Input<number>;
179
- /**
180
- * The Media Services account name. Changing this forces a new Account Filter to be created.
181
- */
182
51
  mediaServicesAccountName: pulumi.Input<string>;
183
- /**
184
- * The name which should be used for this Account Filter. Changing this forces a new Account Filter to be created.
185
- */
186
52
  name?: pulumi.Input<string>;
187
- /**
188
- * A `presentationTimeRange` block as defined below.
189
- */
190
53
  presentationTimeRange?: pulumi.Input<inputs.media.AccountFilterPresentationTimeRange>;
191
- /**
192
- * The name of the Resource Group where the Account Filter should exist. Changing this forces a new Account Filter to be created.
193
- */
194
54
  resourceGroupName: pulumi.Input<string>;
195
- /**
196
- * One or more `trackSelection` blocks as defined below.
197
- */
198
55
  trackSelections?: pulumi.Input<pulumi.Input<inputs.media.AccountFilterTrackSelection>[]>;
199
56
  }